【问题标题】:TCP flow extractionTCP流提取
【发布时间】:2018-05-04 19:56:30
【问题描述】:

我需要从转储文件中提取 TCP 流及其内容,然后将它们的流分别保存到其他文件中

【问题讨论】:

    标签: tcp


    【解决方案1】:

    如果您只做几个,Wireshark 可以做到这一点。

    步骤:

    1. 在 Wireshark 中打开捕获。
    2. 点击来自您感兴趣的 TCP 连接的数据包
    3. 分析 -> 关注 TCP 流
    4. 点击“原始”
    5. (从弹出菜单中)选择“整个对话”之一或两个方向之一。
    6. 点击“另存为”

    备用步骤,仅适用于 HTTP:

    1. 打开捕获
    2. 选择文件 -> 导出 -> 对象 -> HTTP
    3. 将打开一个对话框,显示捕获中的所有 HTTP 对象。您可以保存部分或全部。

    这适用于 Linux/GTK 上的 Wireshark 1.2.1。 'follow TCP stream' 选项已在版本之间移动,因此如果您有旧版本,它可能会在其他地方。但它一直被称为Follow TCP Stream,所以你应该可以找到它。

    如果 Wireshark 不适合您,快速搜索还会显示其他几个选项:ngrep、tcpick、chaosreader 和 tcpflow。

    【讨论】:

      【解决方案2】:

      您肯定想使用Bro,更具体地说,它的contents.bro 政策。例如,给定一个包含 HTTP 请求的跟踪,运行以下...

      bro -r http.trace -f 'tcp and port 80' contents
      

      ... 生成文件

      contents.[senderIP].[senderPort]-[destIP].[destPort]
      contents.[destIP].[destPort]-[senderIP].[senderPort] 
      

      对于每个连接,每个连接都包含流的单向内容。

      流程重组非常强大,流程可以扩展到非常大的文件,并且一切都可以根据您的需要进行定制。

      【讨论】:

      • 这在某种程度上是行不通的。我在任何地方都找不到contents.bro
      • 在最近的 Bro 版本中,查找 scripts/base/protocols/conn/contents.bro。
      【解决方案3】:
      tcpflow -r my_dump_file.pcap -o output_dir/
      

      它将每个 tcp 流分别提取到 output_dir 下的文件中。每个流都在自己的文件中。

      这里是manpage 更多选项

      【讨论】:

      • 解压后的数据需要加-a
      【解决方案4】:

      Wire shark 可能吗?它可用于过滤会话,我认为您可以单独保存它们。

      【讨论】:

        【解决方案5】:

        您还可以查看NetFlow 和相关工具。

        【讨论】:

          猜你喜欢
          • 2011-08-27
          • 2017-12-20
          • 1970-01-01
          • 2015-02-05
          • 1970-01-01
          • 2011-04-20
          • 2016-07-07
          • 2013-02-01
          • 1970-01-01
          相关资源
          最近更新 更多