确定单一沟通


时间
2025-03-08 07:30:51 (23天前)
  1. 我有识别问题


通讯
</跨度>
由TCP建立。
我必须先确定完成

通讯
</跨度>
,例如第一个完整的http

通讯
</跨度>

我有转储.pcap文件与捕获 。我知道

通讯
</跨度>
应该从三次握手(SYN,SYN-ACK,ACK)开始,然后关闭

通讯
</跨度>
来自双方的双重FIN旗帜。

但我有很多

通讯
</跨度>
在那个

3 条回复
  1. 0# 1号 | 2019-08-31 10-32



    你声明你需要:




    1. 识别特定会话


    2. 识别第一个完成的对话

    3. </醇>


      您可以通过筛选来识别特定的TCP或UDP会话
      连接的5元组:




      1. 来源IP


      2. 源端口


      3. 目的地IP


      4. 目的端口


      5. 传输(TCP或UDP)

      6. </醇>


        正如Shane所说,这与协议有关,例如ICMP没有这个概念
        像TCP和UDP这样的端口。



        像下面这样的libpcap过滤器适用于TCP和UDP:




        1. tcp and host 1.1.1.1 and port 53523 and dst ip 1.1.1.2 and port 80

        2. </code>


        用tcpdump应用它:




        1. $ tcpdump -nnr myfile.pcap tcp and host 1.1.1.1 and port 53523 and dst ip 1.1.1.2 and port 80

        2. </code>


        要识别第一个已完成的连接,您必须遵循时间戳。



        使用像Bro这样的工具来读取PCAP会产生答案,因为它会列出每个连接
        尝试看到(完整或不完整):




        1. $ bro -r myfile.pcap
          $ bro-cut -d < conn.log | head -1
          2014-03-14T10:00:09-0500 CPnl844qkZabYchIL7 1.1.1.1 57596 1.1.1.2 80 tcp http 0.271392 248 7775 SF F ShADadfF 14 1240 20 16606 (empty) US US

        2. </code>


        使用TCP的标志数据来判断是否有成功的握手和拆除。
        对于其他协议,您可以根据发送和接收的字节数进行判断。


  2. 1# biu~额 | 2019-08-31 10-32



    识别第一个完成的通信是高度协议特定的。您使用过滤器走在正确的轨道上。如果您的协议是常用协议,则有一些称为协议分析器和过滤器的插件可以从pcap数据流中找到“对话”。如果您知道大致的开始时间和结束时间,那么也会缩小范围。


登录 后才能参与评论