- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Perl 的新手,正在尝试使用 Net::Pcap::Reassemble - Net::Pcap 的 IP 片段重组.我正在尝试重新组装 TCP 数据包并“绑定(bind)”感兴趣的数据包流,并为感兴趣的数据打印“绑定(bind)”的十六进制输出。这是下面的代码和我得到的打印输出。打印输出是两个单独的十六进制转储(由“十六进制有效载荷:”字符串表示)。很明显我没有正确调用 Net::Pcap::Reassemble 模块。我试图实现的期望最终输出如下,取自打印输出。有人可以指出我使用此模块实现所需输出的正确方向吗?谢谢。
my $user_data;
my $header;
my $packet;
my $err ='';
my $pcap = Net::Pcap::open_offline("./pcap", \$err) or die "can't open ./pcap...$err\n";
Net::Pcap::loop($pcap, -1, \&process_pkt, '');
Net::Pcap::Reassemble::loop($pcap, -1, \&process_pkt, '');
Net::Pcap::close($pcap);
my $ip;
my $tcp;
my $payload;
sub process_pkt
{
my ($user_data,$header, $packet) = @_;
$ip = NetPacket::IP->decode(eth_strip($packet));
$tcp = NetPacket::TCP->decode($ip->{data});
$payload = $tcp->{data};
my $hexPayload = hexdump(data => $payload, start_position => 0) if length $payload;
print "Hex Payload:". $hexPayload;
}
输出(这是我目前得到的,但想将它连接在一起):
Hex Payload: 0x0000 : 47 45 54 20 2F 6D 61 63 2F 5F 62 61 73 65 5F 76 : GET./mac/_base_v
0x0010 : 31 2F 73 63 72 69 70 74 2F 6A 71 75 65 72 79 2D : 1/script/jquery-
0x0020 : 31 2E 36 2E 31 2E 6A 73 20 48 54 54 50 2F 31 2E : 1.6.1.js.HTTP/1.
0x0030 : 31 0D 0A 48 6F 73 74 3A 20 77 77 77 2E 6D 69 63 : 1..Host:.www.mic
0x0040 : 72 6F 73 6F 66 74 2E 63 6F 6D 0D 0A 55 73 65 72 : rosoft.com..User
0x0050 : 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F : -Agent:.Mozilla/
0x0060 : 35 2E 30 20 28 4D 61 63 69 6E 74 6F 73 68 3B 20 : 5.0.(Macintosh;.
0x0070 : 49 6E 74 65 6C 20 4D 61 63 20 4F 53 20 58 20 31 : Intel.Mac.OS.X.1
0x0080 : 30 2E 36 3B 20 72 76 3A 31 33 2E 30 29 20 47 65 : 0.6;.rv:13.0).Ge
0x0090 : 63 6B 6F 2F 32 30 31 30 30 31 30 31 20 46 69 72 : cko/20100101.Fir
0x00A0 : 65 66 6F 78 2F 31 33 2E 30 0D 0A 41 63 63 65 70 : efox/13.0..Accep
0x00B0 : 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 2D 4C : t:.*/*..Accept-L
0x00C0 : 61 6E 67 75 61 67 65 3A 20 65 6E 2D 75 73 2C 65 : anguage:.en-us,e
0x00D0 : 6E 3B 71 3D 30 2E 35 0D 0A 41 63 63 65 70 74 2D : n;q=0.5..Accept-
0x00E0 : 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20 : Encoding:.gzip,.
0x00F0 : 64 65 66 6C 61 74 65 0D 0A 52 65 66 65 72 65 72 : deflate..Referer
0x0100 : 3A 20 68 74 74 70 3A 2F 2F 77 77 77 2E 6D 69 63 : :.http://www.mic
0x0110 : 72 6F 73 6F 66 74 2E 63 6F 6D 2F 6D 61 63 2F 72 : rosoft.com/mac/r
0x0120 : 65 6D 6F 74 65 2D 64 65 73 6B 74 6F 70 2D 63 6C : emote-desktop-cl
0x0130 : 69 65 6E 74 0D 0A 44 4E 54 3A 20 31 0D 0A 43 6F : ient..DNT:.1..Co
0x0140 : 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 : nnection:.keep-a
0x0150 : 6C 69 76 65 0D 0A 0D 0A 00 00 00 00 00 00 00 00 : live............
Hex Payload: 0x0000 : 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D : HTTP/1.1.200.OK.
0x0010 : 0A 43 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 3A 20 : .Cache-Control:.
0x0020 : 6D 61 78 2D 61 67 65 3D 39 30 30 0D 0A 43 6F 6E : max-age=900..Con
0x0030 : 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 : tent-Type:.appli
0x0040 : 63 61 74 69 6F 6E 2F 78 2D 6A 61 76 61 73 63 72 : cation/x-javascr
0x0050 : 69 70 74 0D 0A 43 6F 6E 74 65 6E 74 2D 45 6E 63 : ipt..Content-Enc
0x0060 : 6F 64 69 6E 67 3A 20 67 7A 69 70 0D 0A 4C 61 73 : oding:.gzip..Las
0x0070 : 74 2D 4D 6F 64 69 66 69 65 64 3A 20 57 65 64 2C : t-Modified:.Wed,
0x0080 : 20 30 38 20 4A 75 6E 20 32 30 31 31 20 31 38 3A : .08.Jun.2011.18:
0x0090 : 34 35 3A 34 39 20 47 4D 54 0D 0A 41 63 63 65 70 : 45:49.GMT..Accep
所需的输出(以上捆绑/连接在一起):
Hex Payload: 0x0000 : 47 45 54 20 2F 6D 61 63 2F 5F 62 61 73 65 5F 76 : GET./mac/_base_v
0x0010 : 31 2F 73 63 72 69 70 74 2F 6A 71 75 65 72 79 2D : 1/script/jquery-
0x0020 : 31 2E 36 2E 31 2E 6A 73 20 48 54 54 50 2F 31 2E : 1.6.1.js.HTTP/1.
0x0030 : 31 0D 0A 48 6F 73 74 3A 20 77 77 77 2E 6D 69 63 : 1..Host:.www.mic
0x0040 : 72 6F 73 6F 66 74 2E 63 6F 6D 0D 0A 55 73 65 72 : rosoft.com..User
0x0050 : 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F : -Agent:.Mozilla/
0x0060 : 35 2E 30 20 28 4D 61 63 69 6E 74 6F 73 68 3B 20 : 5.0.(Macintosh;.
0x0070 : 49 6E 74 65 6C 20 4D 61 63 20 4F 53 20 58 20 31 : Intel.Mac.OS.X.1
0x0080 : 30 2E 36 3B 20 72 76 3A 31 33 2E 30 29 20 47 65 : 0.6;.rv:13.0).Ge
0x0090 : 63 6B 6F 2F 32 30 31 30 30 31 30 31 20 46 69 72 : cko/20100101.Fir
0x00A0 : 65 66 6F 78 2F 31 33 2E 30 0D 0A 41 63 63 65 70 : efox/13.0..Accep
0x00B0 : 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 2D 4C : t:.*/*..Accept-L
0x00C0 : 61 6E 67 75 61 67 65 3A 20 65 6E 2D 75 73 2C 65 : anguage:.en-us,e
0x00D0 : 6E 3B 71 3D 30 2E 35 0D 0A 41 63 63 65 70 74 2D : n;q=0.5..Accept-
0x00E0 : 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20 : Encoding:.gzip,.
0x00F0 : 64 65 66 6C 61 74 65 0D 0A 52 65 66 65 72 65 72 : deflate..Referer
0x0100 : 3A 20 68 74 74 70 3A 2F 2F 77 77 77 2E 6D 69 63 : :.http://www.mic
0x0110 : 72 6F 73 6F 66 74 2E 63 6F 6D 2F 6D 61 63 2F 72 : rosoft.com/mac/r
0x0120 : 65 6D 6F 74 65 2D 64 65 73 6B 74 6F 70 2D 63 6C : emote-desktop-cl
0x0130 : 69 65 6E 74 0D 0A 44 4E 54 3A 20 31 0D 0A 43 6F : ient..DNT:.1..Co
0x0140 : 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 : nnection:.keep-a
0x0150 : 6C 69 76 65 0D 0A 0D 0A 00 00 00 00 00 00 00 00 : live............
0x0160 : 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D : HTTP/1.1.200.OK.
0x0170 : 0A 43 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 3A 20 : .Cache-Control:.
0x0180 : 6D 61 78 2D 61 67 65 3D 39 30 30 0D 0A 43 6F 6E : max-age=900..Con
0x0190 : 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 : tent-Type:.appli
0x0200 : 63 61 74 69 6F 6E 2F 78 2D 6A 61 76 61 73 63 72 : cation/x-javascr
0x0210 : 69 70 74 0D 0A 43 6F 6E 74 65 6E 74 2D 45 6E 63 : ipt..Content-Enc
0x0220 : 6F 64 69 6E 67 3A 20 67 7A 69 70 0D 0A 4C 61 73 : oding:.gzip..Las
0x0230 : 74 2D 4D 6F 64 69 66 69 65 64 3A 20 57 65 64 2C : t-Modified:.Wed,
0x0240 : 20 30 38 20 4A 75 6E 20 32 30 31 31 20 31 38 3A : .08.Jun.2011.18:
0x0250 : 34 35 3A 34 39 20 47 4D 54 0D 0A 41 63 63 65 70 : 45:49.GMT..Accep
最佳答案
您正在尝试重组网络 session ,而不是碎片化的网络数据包。您应该使用模块“Net::Analysis”。通过您的一些努力,它可以重新组合一个完整的网络 session 。您很快就会学会讨厌流水线。
关于perl - 我如何使用 Perl 的 Net::Pcap::Reassemble 重组 IP 片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11805788/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this qu
大家好,我如何收集 pcap 文件中每个数据包的数据包长度?非常感谢 最佳答案 我推荐一个很少有人知道的高科技方法:阅读文档。 man pcap 告诉我们实际上有两种不同的长度可用:
我在我的 linux 系统上安装了 pcap 库,但是当包含它时,我得到了错误 /usr/include/pcap/bpf.h:88:1: error: unknown type name ‘u_i
是否有任何简单的方法可以使用 tshark 为与特定日期时间范围相关的数据包创建 pcap 文件? , tcpdump或其他命令行工具? tshark -R与 frame.time看起来很有希望,但我
我有Tcpdump生成的“ .pcap”文件。我一直在寻找一种使用PHP读取文件中数据的方法。我尝试了几种可用的方法,但是我唯一能看到的是,有一些数据包带有针对每个数据包的时间戳记。我试图进一步阅读,
我有一个很大的 pcap 文件,我想生成一个仅包含前十分钟流量的新 pcap。我可以使用 tcpdump 执行此操作吗?我在网上看到过 editcap ,但如果可能的话我想使用 tcpdump 。 最
我有一个很大的 pcap 文件,我想生成一个仅包含前十分钟流量的新 pcap。我可以使用 tcpdump 执行此操作吗?我在网上看到过 editcap ,但如果可能的话我想使用 tcpdump 。 最
我从一个答案中阅读了文档: ntohs 函数采用 TCP/IP 网络字节顺序(AF_INET 或 AF_INET6 地址族)的 16 位数字,并以主机字节顺序返回一个 16 位数字。 请举例说明,什么
我有一堆通过 tcpdump 获得的 pcap 文件。我需要在所有文件中搜索特定关键字并记录哪些文件包含这些字符串。有没有办法使用 tcpdump 命令自动搜索这些关键字? 最佳答案 使用 tshar
我卡住了。 我使用 PCAP.NET 读取 .PCAP 文件并将数据包写入数据库。现在我可以查询数据库并取回与约束匹配的数据包。我需要一种方法将结果写入新的 .PCAP 文件。 问题是,据我所知,生成
我需要嗅探特定 Linux 用户 (UID) 的流量。我正在使用 iptables/NFLOG ( http://wiki.wireshark.org/CaptureSetup/NFLOG ) 来做这
作为我正在进行的实验室练习的一部分,有人问我; 使用 tcpdump 从 tcpdumpep1.pcap 读取数据包并过滤来自 IP 地址 184.107.41.72 和端口 80 的数据包。将这些数
有没有办法使用 Java 将 pcap-ng 文件转换为 pcap(不使用 editcap)? 我注意到一些 pcap 被读取为 .pcap 格式,但当我查看 Wireshark“摘要”时,它被识别为
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
我正在用nodejs开发一个数据包捕获应用程序。 当我发出命令npm install pcap时,出现以下错误: 谁能帮我解决一下吗?谢谢 最佳答案 谢谢,这个( enter link descrip
我对JNetPcap很陌生,我仍在寻找它的方法,我正在尝试为我的项目构建一个数据包嗅探器,最近我正在尝试打印输出数据包信息通过附加我正在使用的 pcap.loop() 中的信息到 JTextArea
我有由 Tcpdump 生成的“.pcap”文件。我一直在寻找一种使用 PHP 读取文件中数据的方法。我已经尝试了几种可用的方法,但我唯一能看到的是有一定数量的数据包,每个数据包都有时间戳。我试图进一
如何确定通过 Makefile 编译/安装的 C 源代码中包含的 pcap.h 文件? 具体来说,它是一个通过以下方式安装的 Ruby 库 (pcaprub): ruby extconf.rb &&
运行“tcpdump -w 1.pcap”时需要限制文件大小。我尝试使用键“-C”来执行此操作,但是当我添加它时,我收到错误“权限被拒绝”。所以: > sudo tcpdump -w 1.pcap t
所以...我正在尝试使用RawCap捕获到本地主机的流量 当我运行rawcap时,它会在cmd提示符下报告数据包-但转储文件始终为空。 任何想法(我尝试使用admin privs运行) 最佳答案 您应
我是一名优秀的程序员,十分优秀!