语境

语境

语境

我们想使用 RawCap 检查对 localhost 的 HTTP 请求。不过 RawCap 无法捕获 IPv6。我们考虑在项目中用“127.0.0.1”对“localhost”进行大量查找替换,但这是一个挑战,因为我们的配置是分布式的。

我们尝试过的

这是我们的整个 hosts 文件:

127.0.0.1    localhost

我们已经从“如何在 Windows 中禁用 IPv6 或其组件“:

  • 禁用 IPv6
  • 在前缀策略中优先选择 IPv4 而不是 IPv6
  • 在所有非隧道接口上禁用 IPv6
  • 在所有隧道接口上禁用 IPv6
  • 在非隧道接口(环回接口除外)和 IPv6 隧道接口上禁用 IPv6

我们更改了以下注册表项:

reg add hklm\system\currentcontrolset\services\tcpip6\parameters 
    /v DisabledComponents /t REG_DWORD /d 0xFF

重新启动了计算机。

结果

前缀策略是最新的,因此 nslookup 也是如此。Ping 顽固地不使用 IPv4;当我们请求 localhost:5000 时,Firefox 也不使用 IPv4。

这就是我们的netsh int ipv6 show prefixpolicies输出。

Precedence  Label  Prefix
----------  -----  --------------------------------
       100      3  ::/96

这是我们的nslookup localhost输出:

Server:  router.asus.com
Address:  192.168.1.1

Name:    localhost
Address:  127.0.0.1

这是我们固执的ping localhost输出:

Pinging DESKTOP-AAAT5QS [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

相关内容