我正在使用dig
实用程序来查找公共 IP 地址。
我使用的命令是:
dig +short myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)
但我遇到了问题,因为在其他一些计算机上花了很长时间,所以我在 5 秒后添加了超时:
dig +short +time=5 +tries=1 myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)
它在某些计算机上按预期失败,但在其他一些计算机上它永远不会完成。它所做的只是挂起......
知道为什么以及如何将其修复为预期的 5 秒后超时吗?
编辑:
已经尝试过timeout
,但仍然挂起。我认为解析 DNS 时它会卡住。例如,我不能ping www.google.com
,但可以172.217.20.4
。