免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1906 | 回复: 2

NET::Pacp问题 [复制链接]

论坛徽章:
0
发表于 2009-02-12 11:22 |显示全部楼层
use Net::Pcap;
use strict;
use Socket;


sub got_a_dev{
my $err = '';
my $net = '';
my $mask = '';
my %devinfo;
my $good_dev='';

#获得所有的设备
my @devs = Net::Pcap::pcap_findalldevs(\%devinfo, \$err);


print "The number of devices: ",$#devs+1,"\n";

for my $dev (@devs) {


#Net::Pcap::lookupnet function for finding which network is attached to a particular device.
if ( (Net::Pcap::lookupnet($dev, \$net, \$mask, \$err) ) == -1 ) {
   die "Net::Pcap::lookupnet failed. Error was $err";
}
else{
$net = inet_ntoa(pack "N", $net); # 2281480192 --> 135.252.160.0
$mask = inet_ntoa(pack "N", $mask); # 4294966784 --> 255.255.254.0
#print "Net:$net\nMask:$mask\n";

  }
  if ($devinfo{$dev} =~/Intel/){
$good_dev=$dev;
return $good_dev;
}
# print "show : $dev : $devinfo{$dev}\n";


  }


}

my $interface=&got_a_dev();
print "get:".$interface."\n";

my $err = '';
my $pcap = Net::Pcap::open_live(
                $interface,1600,1,0,\$err
   ) or die "loop1: $!\n" ;
   
   
Net::Pcap::loop($pcap, 10, \&callback, "user_data") or die "loop2: $!\n";
  
sub callback {
            my ($user_data, $header, $packet) = @_;
            print $header."\n";
        }

Net::Pcap::loop会报个错..bad file descriptor...不知道怎么解决了

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
发表于 2009-02-12 11:38 |显示全部楼层
编辑帖子时,工具栏里有插入代码选项。

论坛徽章:
0
发表于 2009-02-12 13:15 |显示全部楼层
我搞不大来..哈哈...帮我看下问题啊....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP