我可以使用远程 /etc/hosts 文件将 ping 重定向到我自己的计算机吗?即,我的 /etc/hosts 文件没有该条目,但唯一通过以太网连接的其他计算机有该条目。这可能吗?
答案1
这个问题很模糊。
如果您询问是否可以通过更改远程计算机上的“/etc/hosts”文件来使您的机器自行 ping 通,答案是“不可以”。
当你在机器上执行 ping 命令时,它首先会将你正在 ping 的主机名解析为 IP 地址。这通常是通过查看当地的“/etc/hosts” 文件和/或 DNS。不参考远程计算机的“/etc/hosts”文件。
然后“ping”命令将 ICMP 数据包发送到主机名解析到的 IP 地址。无论在本地还是在数据包到达的主机上,都不会对主机名进行任何进一步的转换。ICMP 数据包仅包含 IP 地址。
如果你问是否可以更改本地“/etc/hosts”,则让你的主机在想它正在和另一台机器对话,答案是“是的……有点”。你能使远程主机名解析为您的机器的 IP 地址。
然而:
如果你这么做,全部从您的主机向该主机名发出的请求最终将与您的机器对话......这不太可能是理想的情况。
“ping” 发送的 ICMP 数据包可能会在本地被反射,而不会进入您的本地网络。这意味着“ping” 不会告诉您太多有关网络运行情况的信息。
答案2
我也发现了同样的问题。我也在 SO 上以不同的格式提出了这个问题,但现在我很确定这是不可能的,即使可能也毫无用处。不过还是谢谢你的回答。
提出这个问题的原因是您可以参考我的其他 zeroconf 网络询问的有关 .local 的事情。
无论如何,谢谢。