如何在 tcpdump 中获取 http 请求详细信息?

如何在 tcpdump 中获取 http 请求详细信息?

我正在尝试获取一些 http 请求的 tcpdump 跟踪。

这是我目前得到的结果(我用 REMOTE 和 LOCAL 替换了真实 IP 地址):

C:\>Windump -na -i 3 ip host REMOTE and ip src LOCAL and tcp port 80
Windump: listening on \Device\NPF_{8056BE5E-BDBB-44E6-B492-9274B410AD66}
13:13:34.985460 IP LOCAL.4261 > REMOTE.80: . 1784894764:1784894765(1) ack 1268208398 win 65535
13:13:38.589175 IP LOCAL.4302 > REMOTE.80: F 3708464308:3708464308(0) ack 982485614 win 65535
13:13:38.589285 IP LOCAL.4303 > REMOTE.80: F 890175362:890175362(0) ack 2462862919 win 65535
13:13:38.589330 IP LOCAL.4304 > REMOTE.80: F 1838079178:1838079178(0) ack 156173959 win 65535
13:13:38.589374 IP LOCAL.4305 > REMOTE.80: F 3952718843:3952718843(0) ack 2209231545 win 65535
13:13:38.589413 IP LOCAL.4306 > REMOTE.80: F 446105750:446105750(0) ack 3141849979 win 65535
13:13:38.590265 IP LOCAL.4302 > REMOTE.80: . ack 2 win 65535
13:13:38.590403 IP LOCAL.4304 > REMOTE.80: . ack 2 win 65535
13:13:38.590429 IP LOCAL.4303 > REMOTE.80: . ack 2 win 65535
13:13:38.590484 IP LOCAL.4305 > REMOTE.80: . ack 2 win 65535
13:13:38.590514 IP LOCAL.4306 > REMOTE.80: . ack 2 win 65535

但我没有得到以下级别的细节:

请求 URL:http://domain.com/index.php请求方法:POST 状态代码:200 OK POST /index.php HTTP/1.1 主机:domain.com 连接:keep-alive 内容长度:151 缓存控制:max-age=0 等

我如何才能获取这一级别的数据?

答案1

我不确定 Windump 中可用的选项,但在 Linux 上的 tcpdump 上,您有:

   -A     Print each packet (minus its link level header) in ASCII.  Handy for capturing web pages.

您可能还需要使用“-s”增加 snaplength 才能完全显示数据包。例如,使用过滤选项的“tcpdump -A -s 1500”。

答案2

我更喜欢将所有内容都记录在这样的文件中:

tcpdump -X -s0 -w /tmp/wtf capture_parameters_go_here

然后将 /tmp/wtf 文件加载到WiresharkGUI,以便我可以以更直观的方式分析一切。

相关内容