![每次我 ping 我的服务器时,它都 ping 本地主机?](https://linux22.com/image/535558/%E6%AF%8F%E6%AC%A1%E6%88%91%20ping%20%E6%88%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%B6%EF%BC%8C%E5%AE%83%E9%83%BD%20ping%20%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%EF%BC%9F.png)
我最近设置了一台用于 SQL 的新服务器。当我尝试通过 SSMS 远程连接时,失败了。当我 ping 它时,它正在 ping 本地主机,这是怎么回事?如果更多详细信息有帮助,请告诉我。它是 Windows Server 2008。
C:\>ping 0x7F000001
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
答案1
好吧,我感觉就像在使用隐藏式摄像机,但我会尝试一下。
我想在等式中引入一个域名,因此我将使用 example.com 来代替实际知道的本地域名。
您有一台节点名为 0x7f000001 的服务器。其 FQDN 为 0x7f000001.example.com。0x7f000001 也是一个有效的 IP 地址,也表示为十进制 2130706433、0b111111100000000000000000000000001 或点分四组 127.0.0.1。
您的问题是,当您输入 时ping 0x7f000001
,ping 程序会将其评估为 IP 地址而不是主机名。ping 程序无法理解您的想法,它不知道您告诉它 ping 的有效 IP 地址也是主机名,它会先评估它是否是 IP。
想象一下,如果您创建了主机名 127,将其放在区域 0.0.1.example.com 中,并将 example.com 设为您的默认搜索域。根据您的逻辑,输入ping 127.0.0.1
并让 ping 不使用 IP 127.0.0.1 而是使用 FQDN 127.0.0.1.example.com 指向的 A 记录应该是有效的,这是很愚蠢的。
除了重新编译ping
以按照您认为的方式运行之外,请尝试 ping FQDN 0x7f000001.example.com。
答案2
0x7F000001 是 127.0.0.1 的十六进制表示 - 除非我在这里遗漏了什么......
答案3
如果你给它一个域名那么它应该可以工作例如
ping 0x7F000001.lan
否则 ping 会假设它是一个十六进制数,并将其转换为 IP 地址