如何调试“已发送 HTTP 请求,等待响应”?

San*_*dra 7 networking linux http debugging wireshark

我在 ADSL 连接上有一台 Linux 服务器,我只是注意到有时我会

Connecting to example.com|xxx.xxx.xxx.122|:80... connected.
HTTP request sent, awaiting response...
Run Code Online (Sandbox Code Playgroud)

当我使用wget或例如像firefox这样的浏览器时。

wget按CTRL-C然后再试一次“解决问题”的情况下,在firefox的情况下,重新加载页面也会使页面加载。

当它发生时,它接缝是随机的。我尝试将 DNS 更改为 Google 的 DNS,但我仍然遇到相同的问题。

我如何调试类似的东西,以便我可以找到问题的根源或模式?

qua*_*nta 7

您是否尝试过等待查看 HTTP 状态代码返回的内容?

要调试这种情况,请打开 2 个终端:首先,通过 ssh 连接到您的服务器并键入:

# tcpdump -vv -s0 tcp port 80 -w /tmp/example.pcap
Run Code Online (Sandbox Code Playgroud)

(您也可以附加and src host <client_IP>过滤垃圾请求)

在第二个中,使用wget浏览您的网站,重现此问题并切换到第一个终端并按Ctrl+ C

将此.pcap文件复制到客户端并使用 Wireshark 打开以查看会发生什么。