首页 文章

如何从pcap文件中识别连接的协议

提问于
浏览
0

我正在尝试扫描pcap文件并计算文件中每个协议的数据包数 . 假设我可以使用端口号作为识别方法,我在查看特定数据包时仍然会遇到问题,确定该数据包属于哪种协议 . 原因是我不知道我应该看到哪个端口 - 源端口或目标端口在给定连接上,假设HTTP,客户端到服务器数据包将具有源端口(某些源端口,可能是60000)和目标端口80但是,服务器到客户端数据包将具有目标端口60000和源端口80.因此,在给定数据包上,我如何知道它所属的协议?

1 回答

  • 0

    它从你试图计算数据包的问题看起来(src.port == 80 || dst.port == 80) . 例如,您说您知道80是在其中一个方向上用于HTTP的端口 .

    在这种情况下,您可以使用Wireshark附带的内置tshark实用程序并将其传递给wc(假设您使用linux),如下所示:

    tshark -r /tmp/soap.cap  -T fields -d tcp.port==18083,echo -e echo.data | wc -l
    

    要么

    tshark -r /tmp/soap.cap  -T fields -d tcp.port==18083,echo -e echo.port | wc -l
    

    请注意,这甚至会计算像Syn这样的TCP数据包,即使这些数据包本身不是HTTP数据包 .

    如果只想访问HTTP数据包,可以使用以下命令:

    tshark -r /tmp/soap.cap  -T fields -d tcp.port==18083,http -e http.request.version | wc -w
    

    请注意,最后一个假定每行的输出是一个字 . 如果不是这种情况,您可以使用其他Linux实用程序轻松过滤掉空行 .

相关问题