首先接收数据包的Perl大小)

时间:2012-03-27 04:02:03

标签: perl libpcap tcpdump

我想知道如何使用Perl从服务器获取第一个接收数据包的大小。我从NET :: PCAP的不同示例中下载了简单的代码片段。但我不知道如何从中获取第一个数据包的大小。

非常感谢任何帮助或良好的链接。

谢谢,

1 个答案:

答案 0 :(得分:1)

这样的东西? (只需修改Net::PCAP页面上的摘要中的示例。)

use Net::Pcap;

my $err = '';
my $size = 0;
my $dev = pcap_lookupdev(\$err);  # find a device
my $pcap = pcap_open_live($dev, 1024, 1, 0, \$err);
my $loop_func = sub { my($user_data, $header, $packet) = @_; 
                      $size = $header->{len}; };
pcap_loop($pcap, 1, $loop_func, "just for the demo");
pcap_close($pcap);
print $size," bytes\n";