【问题标题】:tcpdump output GET to filetcpdump 输出 GET 到文件
【发布时间】:2017-02-22 23:15:52
【问题描述】:

我希望在 en0 上运行 TCP 转储,但只接收到某个域的 GET 请求的匹配项,如果不仅仅是 GET 请求就足够了。我试过了,但没有运气

块引用 sudo tcpdump -i en0 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' 块引用

【问题讨论】:

  • 你试过wireshark吗?跟踪/过滤协议级别信息会更容易。如果无法在捕获的位置运行 gui,则可以将捕获的 tcpdump 文件加载到wireshark 中。
  • 我需要将它添加到一个更大的脚本中,一旦它创建了 GET 列表,我需要调整它们并使用 curl/wget 重放它们并将响应保存到文件夹中。我可以用wireshark来做,但我也可以用其他工具逐行做——我正在尝试自动化一些

标签: tcpdump


【解决方案1】:

您使用的 bpf 过滤器实际上可能是正确的。它获取数据偏移量并紧随其后(即段有效负载中的第一个字节)以查找“GET”,您在 ASCII 中拥有该偏移量。

我尝试了您的过滤器,它确实有效...适用于一小部分网站。大部分流量现在是 HTTPS 而不是 HTTP,因此在野外找到原始的 GET 的情况很少见。


旁注:cmets 中提到的wireshark 是个好主意。以防万一您不知道,tshark(与 wireshark 一起提供)有助于自动化并且可以做您想做的事情:

tshark -Y 'http.request.method == GET'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    相关资源
    最近更新 更多