【问题标题】:how can i identify the protocol of a connection from a pcap file如何从 pcap 文件中识别连接协议
【发布时间】:2014-02-04 18:57:59
【问题描述】:

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

【问题讨论】:

    标签: python sockets networking tcp


    【解决方案1】:

    从问题来看,您只是想计算具有 (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 实用程序轻松过滤掉空行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2010-10-29
      • 2014-09-30
      • 2012-04-30
      相关资源
      最近更新 更多