我写了一个小脚本来获取主机名列表的 IP 地址。但是,当我尝试 ping IP 地址时,我收到请求超时。为什么会发生这种情况?
import csv
import socket
path = 'Clients.csv'
with open(path) as fopen:
rows = csv.reader(fopen)
for row in rows:
try:
resp = socket.gethostbyname(row[0])
print(row[0], resp)
except:
continue
最佳答案
答案在问题中:您请求的 DNS 服务器知道该名称,因此它会为您提供匹配的 IP。
这并不意味着执行 ping 的机器实际上可以找到网络路径来 ping 目标。例如,源服务器和被 ping 服务器之间可能有防火墙,源和目标之间的网络不一定路由在一起等。
超时可能是防火墙阻塞的标志。
关于Python socket.gethostbyname 函数返回一个 ip 地址,但我无法 ping 它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40877004/