我目前正在使用一个 Windows 机器,在开发频道上运行 Chrome 27,并且我认为与该过程相关的监听连接数量异常多。
以下命令返回 268 个监听端口
netstat -aon|find /i /c "11692"
:(在这种情况下,11692 是主要的镀铬工艺)
从 netstat 中可以看到,一些端口如下所示:
UDP 0.0.0.0:62483 : 11692
UDP 0.0.0.0:62486 : 11692
UDP 0.0.0.0:62487 : 11692
UDP 0.0.0.0:62488 : 11692
UDP 0.0.0.0:62489 : 11692
UDP 0.0.0.0:62492 : 11692
UDP 0.0.0.0:62493 : 11692
UDP 0.0.0.0:62494 : 11692
UDP 0.0.0.0:62495 : 11692
UDP 0.0.0.0:62496 : 11692
UDP 0.0.0.0:62498 : 11692
UDP 0.0.0.0:62499 : 11692
UDP 0.0.0.0:62500 : 11692
UDP 0.0.0.0:62501 : 11692
UDP 0.0.0.0:62502 : 11692
UDP 0.0.0.0:62503 : 11692
UDP 0.0.0.0:62504 : 11692
UDP 0.0.0.0:62505 : 11692
UDP 0.0.0.0:62506 : 11692
UDP 0.0.0.0:62509 : 11692
UDP 0.0.0.0:62510 : 11692
UDP 0.0.0.0:62511 : 11692
UDP 0.0.0.0:62512 : 11692
UDP 0.0.0.0:62513 : 11692
UDP 0.0.0.0:62541 : 11692
UDP 0.0.0.0:62542 : 11692
UDP 0.0.0.0:62543 : 11692
UDP 0.0.0.0:62544 : 11692
UDP 0.0.0.0:62545 : 11692
UDP 0.0.0.0:62547 : 11692
UDP 0.0.0.0:62786 : 11692
UDP 0.0.0.0:62787 : 11692
UDP 0.0.0.0:62789 : 11692
UDP 0.0.0.0:62790 : 11692
UDP 0.0.0.0:62791 : 11692
UDP 0.0.0.0:62792 : 11692
UDP 0.0.0.0:62793 : 11692
UDP 0.0.0.0:62794 : 11692
UDP 0.0.0.0:62796 : 11692
UDP 0.0.0.0:62797 : 11692
UDP 0.0.0.0:62798 : 11692
UDP 0.0.0.0:62799 : 11692
UDP 0.0.0.0:62800 : 11692
UDP 0.0.0.0:62801 : 11692
UDP 0.0.0.0:62802 : 11692
UDP 0.0.0.0:62803 : 11692
UDP 0.0.0.0:62805 : 11692
UDP 0.0.0.0:62806 : 11692
UDP 0.0.0.0:62807 : 11692
UDP 0.0.0.0:62808 : 11692
UDP 0.0.0.0:62809 : 11692
UDP 0.0.0.0:62810 : 11692
UDP 0.0.0.0:62812 : 11692
UDP 0.0.0.0:62813 : 11692
UDP 0.0.0.0:62814 : 11692
UDP 0.0.0.0:62815 : 11692
UDP 0.0.0.0:62817 : 11692
UDP 0.0.0.0:62818 : 11692
UDP 0.0.0.0:62820 : 11692
UDP 0.0.0.0:62821 : 11692
UDP 0.0.0.0:62822 : 11692
UDP 0.0.0.0:62823 : 11692
UDP 0.0.0.0:62824 : 11692
UDP 0.0.0.0:62825 : 11692
UDP 0.0.0.0:62826 : 11692
UDP 0.0.0.0:62827 : 11692
UDP 0.0.0.0:62828 : 11692
UDP 0.0.0.0:62829 : 11692
UDP 0.0.0.0:62830 : 11692
UDP 0.0.0.0:64681 : 11692
UDP 0.0.0.0:64682 : 11692
UDP 0.0.0.0:64683 : 11692
UDP 0.0.0.0:65017 : 11692
也许我对 netstat 的解读遗漏了一些东西,但是这个数字似乎异常高。
这是一个重复的问题。只需启动 Chrome 即可引发大量端口监听。此外,当我关闭 Chrome 时,总是至少有一个进程在我关闭浏览器后仍在运行,并且似乎无限期地运行(这不是与大量端口打开相关的过程 - 或者至少不是它本身 - 因为当我关闭浏览器时端口就会消失)。
有人知道吗:
- 这是否正常?
- 如果不正常,该如何解释?
- 我怎样才能找到有关实际发生情况的更多信息?
我安装了 Wireshark,但它似乎总是让我困惑,而且我还不想尝试去理解它。此外,Windows 事件日志没有显示任何内容。
请注意,这不是问题的重复为什么Google需要开放这么多端口?因为这些端口并非专用于任何网站,而且似乎与任何网站都无关。
提前致谢。
答案1
异步 DNS在 Chrome 上,阅读更多信息Chromium 项目
长话短说:Chrome 默认使用 Windows 原生同步 DNS 解析,这意味着它必须依次等待每个解析,无论同时加载多少个选项卡,这将导致加载出现明显的延迟,具体取决于它们解析新主机的顺序。一个建议的解决方案是使此组件异步,为此 Chrome 需要绕过 Windows 的原生 DNS 组件,添加自己的组件,从而在需要时打开更多 UDP 端口。
第一个问题中的这种行为是由于组件处于开发阶段,因此会出现这种情况,具有许多连接,不受限制并且浪费资源。只有当用户手动更改 Chrome 中的标志以激活此功能时才会发生这种情况,通常为开发人员或贡献者保留。请参阅“过时的答案”以了解如何在旧版本的 Chrome 上访问。
对于较新版本的 Chrome,我可以说对于 v43,此行为已得到修复,现在它会根据需要解析的未知主机数量使用更少的 UDP 端口,否则它将使用缓存的分辨率并打开更少的端口。
据我所知,当前版本的 Chrome 没有启用它的标志,但它确实存在,可以通过 chrome.exe 上的开关启用。默认情况下,它是禁用的。
编辑 Chrome 的快捷方式并添加启用异步 DNS之后chrome.exe”目标,用空格隔开。在 Windows 7 中,要获取固定的快捷方式,请右键单击图钉,在磁贴菜单中右键单击取消固定此程序...选项并访问其属性,在那里编辑目标。
要了解异步 DNS 是否已启用,请访问chrome://net-internals/#dns应该有一个名为已启用内部 DNS 客户端:true或者错误的
过时的答案(旧版本中存在该选项,大约 27 个):
在 Google Chrome 的地址栏中输入此内容:
chrome://flags/
向下滚动列表并确保“内置异步 DNS“ 被禁用。