为什么 netstat 不显示打开的网站?

为什么 netstat 不显示打开的网站?

我是网络新手,正在检查 netstat 命令。

因此我打开了几个网站,例如 en.wikipedia.org

然后我打开管理员 CMD 并输入 netstat,但在 netstat 中看不到此连接。我尝试添加开关 -n(显示 IP 地址)和 -f(显示 fqdn),但仍然找不到此连接。我尝试刷新网站,但无济于事。我尝试通过 CNAME(dyna.wikimedia.org)进行搜索,但无济于事

为何没有显示这些连接?如能提供任何帮助,不胜感激

Windows 10 20H2

答案1

首先,netstat 不知道原始域名,甚至不知道 cname - 它只知道 IP 地址,并且必须使用“反向 DNS”将其转换回某个域名。

IP 地址的反向 DNS 信息可能实际上完全不同来自常规“正向”D​​NS名称。对于每个地址有数百个站点的共享网络主机或CDN来说尤其如此,但即使是专用主机也可能发生这种情况。

例如,维基百科网络服务器的反向 DNS 就是text-lb.esams.wikimedia.org您应该寻找的。许多 Google 网站使用“1e100.net”。通过 CloudFlare 托管的任何网站都将显示为“cloudflare”,依此类推。


其次,网页不是视频流——而是文档。这意味着,当网页显示在你的屏幕上时,大部分内容已经被下载,几秒钟内HTTP 连接关闭因此不再显示在 netstat 中。从那时起,您的浏览器只会将页面保留在内存中。

每当您点击链接时,浏览器都会打开一个全新的连接,一旦新页面下载完毕并且连接空闲,它很快就会再次关闭。某些连接(尤其是用于 HTTP/2 的连接)可能会持续几分钟,但很少会永远持续下去。

因此,您应该在网页仍在加载时快速检查 netstat,或者使用其他工具(例如 Process Hacker)为您提供自动刷新列表。

但浏览器确实允许webapps(例如聊天应用程序、新闻网站)在需要时保持连接打开,以便连续传输数据(通常使用 Websockets)。当然,实际的视频流和类似的东西会根据需要保持连接畅通。但大多数网页都是普通的下载文档。

相关内容