有没有办法只捕获数据层并忽略wireshark中的上层?如果没有,是否有不同的数据包转储实用程序可以执行此操作?每个数据包最多1个文件!
我在寻找:仅将数据(有效负载)层转储到文件的实用程序。
这是编程相关的......!我真正想要做的是比较所有数据报,以便开始理解第三方编码/协议。理想情况下,可能会有一个比较多个文件的十六进制比较实用程序!
答案 0 :(得分:5)
您应该尝试右键单击数据包并选择“Follow TCP Stream”。然后,您可以将TCP通信保存到原始文件中以进行进一步处理。这样你就不会获得所有TCP / IP协议垃圾。
答案 1 :(得分:0)
有一个函数可以限制Wireshark中的捕获大小,但似乎68bytes是最小的值。有一些选项可以在一定数量的千兆,千兆字节之后启动新文件,但同样最小的是1千字节,所以可能没用。
我建议查看pcap库并自行编辑。我过去使用PERL Net :: Pcap库完成了这项工作,但它也可以很容易地用其他语言完成。
如果您有Unix / Linux可用,您也可以查看tcpdump。您可以限制使用-s捕获的数据量。例如,“-s 14”通常会为您提供以太网标头,我假设您的意思是数据链路层。还可以通过使用-C指定文件大小来控制文件创建频率的选项。因此,从理论上讲,如果将文件大小设置为捕获大小,则每个数据包将获得一个文件。
答案 2 :(得分:0)
使用tshark
我只能打印数据,通过解码为telnet和打印字段telnet.data
tshark -r file.pcap -d tcp.port==80,telnet -T fields -e telnet.data
GET /test.js HTTP/1.1\x0d\x0a,User-Agent: curl/7.35.0\x0d\x0a,Host: 127.0.0.1\x0d\x0a,Accept: */*\x0d\x0a,\x0d\x0a
HTTP/1.1 404 Not Found\x0d\x0a,Server: nginx/1.4.6 (Ubuntu)\x0d\x0a,Date: Fri, 15 Jan 2016 11:32:58 GMT\x0d\x0a,Content-Type: text/html\x0d\x0a,Content-Length: 177\x0d\x0a,Connection: keep-alive\x0d\x0a,\x0d\x0a,<html>\x0d\x0a,<head><title>404 Not Found</title></head>\x0d\x0a,<body bgcolor=\"white\">\x0d\x0a,<center><h1>404 Not Found</h1></center>\x0d\x0a,<hr><center>nginx/1.4.6 (Ubuntu)</center>\x0d\x0a,</body>\x0d\x0a,</html>\x0d\x0a
不完美,但它足以满足我的需要,我希望它对某些人有所帮助。