最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

winpcap 简单说明

来源:动视网 责编:小OO 时间:2025-09-27 00:15:44
文档

winpcap 简单说明

函数说明:Net::Pcap的功能由winpcap提供.Net::Pcap::findalldevs(\\$err[,\\%description])返回一个能被函数Net::Pcap::open_live()利用的所有网络设备的名字的列表,这些名字分别是%description中的键,如果提供了可选参数-散列%description,则它存放所有对应与前面的网络设备的描述信息;如果发生错误,则$err中会存放相应的错误消息。Net::Pcap::open_live($dev,$snaplen
推荐度:
导读函数说明:Net::Pcap的功能由winpcap提供.Net::Pcap::findalldevs(\\$err[,\\%description])返回一个能被函数Net::Pcap::open_live()利用的所有网络设备的名字的列表,这些名字分别是%description中的键,如果提供了可选参数-散列%description,则它存放所有对应与前面的网络设备的描述信息;如果发生错误,则$err中会存放相应的错误消息。Net::Pcap::open_live($dev,$snaplen
函数说明:

Net::Pcap的功能由winpcap提供.

Net::Pcap::findalldevs(\\$err [,\\%description])

返回一个能被函数Net::Pcap::open_live()利用的所有网络设备的名字的列表,这些名字分别是%description中的键,如果提供了可选参数-散列%description,则它存放所有对应与前面的网络设备的描述信息;如果发生错误,则$err中会存放相应的错误消息。

Net::Pcap::open_live($dev, $snaplen, $promisc, $to_ms, \\$err)

该函数返回一个用来在网络上捕获包的描述符,$dev指定从哪个网络接口上捕获包,$snaplen设定捕获包的最大字节数,$promisc指定是否将该网络接口设置为混合模式,$to_ms设定以毫秒度量的读超时时间,这是每次读取的时间阀值,如果有错误发生,则不会定义这个描述符,同时将这个错误信息写入参数$err中。

Net::Pcap::sendpacket($pcap_t, $packet)

该函数用来发送数据包,$pcap_t是指定通过哪个网络接口来发送数据包的设备描述符,$packet是要发送的数据,这个数据中不需要包含MAC CRC ,因为网络接口的驱动会自动完成计算并添加。

Net::Pcap::close($pcap_t)

关闭描述符$pcap_t所对应的的网络接口。

Net::Pcap::next($pcap_t, \\%hdr)

从描述符$pcap_t关联的的接口上抓取包,这些包的一些信息被放到hash表%hdr中。如果没有获取包,则返回值和头部都会被设成无定义。

%hdr内容:

len--

报文的总长度

caplen--

包数据的实际长度

tv_sec

秒级别的时间戳值

tv_usec

毫秒级别的时间戳值

Net::Pcap::compile($pcap_t, \\$filter_t, $filter_str, $optimize, $netmask)

$pcap_t 关联一个网络接口,$filter_str存放过滤字段描述,函数执行后把编译的结果放到\\$filter_t中,如果$optimize为真,则对$filter_str进行优化处理。

Net::Pcap::setfilter($pcap_t, $filter_t);

将过滤规则$filter_t应用到$pcap_t上去。

Net::Pcap::stats($pcap, \\%stats) 

该函数返回指定接口上的报文捕获的信息,$pcap关联设备,%stats为一散列,存放报文捕获信息,它的结构如下:

ps_recv 

由抓包软件捕获的报文数量,但是报文较多是会不准

ps_drop 

由抓包软件丢弃的报文的数量

ps_ifdrop 

由网络接口丢弃的报文的数量

常用过滤器写法:

1.过滤ip,arp…等在帧类型字段有对应值的报文

ether proto \\ip(由于ip是关键字,前面要加”\\”,“\\ip”也可以用相应的协议对应的数值来代替)

2.过滤特定ip地址的报文

\\ip src  a.b.c.d

\\ip dst  a.b.c.d

3.过滤封装在ip包内的特定报文,如icmp,igmp等

 \\ip proto 1 (过滤icmp,也可直接用关键字 \\icmp)  

4.过滤特定的端口号,如

Port  port_num   双向过滤

Src  port  port_num 只过滤源端口号匹配的报文

dst  port  port_num 只过滤目的端口号匹配的报文

混合使用:

可以通过and ,or,not来合理组合过滤字段,如过滤源ip为a.b.c.d,目的ip为e.f.g.h的报文

\\ip src a.b.c.d and dst e.f.g.h

文档

winpcap 简单说明

函数说明:Net::Pcap的功能由winpcap提供.Net::Pcap::findalldevs(\\$err[,\\%description])返回一个能被函数Net::Pcap::open_live()利用的所有网络设备的名字的列表,这些名字分别是%description中的键,如果提供了可选参数-散列%description,则它存放所有对应与前面的网络设备的描述信息;如果发生错误,则$err中会存放相应的错误消息。Net::Pcap::open_live($dev,$snaplen
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top