我是一名学生,我在学校写了一个用于项目的traceroute文件。 当程序包从一开始到到达路由器大约10-12跳时到达路由器时,路由器不会返回任何答案。 为了解决这个问题,我做了一个循环,以便程序将发送程序包,直到收到答案为止。取而代之的是,它仍然没有收到任何答案。 这是代码:
ip = '8.8.8.8'
ttl = 1
hops = []
packet = IP(dst=ip, ttl=ttl)/ICMP(type=8)
packet.show()
resp = sr1(packet, timeout=3)
while resp.src != '8.8.8.8':
hops.append(resp.src)
ttl += 1
packet = IP(dst=ip, ttl=ttl) / ICMP(type=8)
resp = sr1(packet, timeout=20)
while resp is None:
resp = sr1(packet, timeout=20)
hops.append(resp.src)
counter = 1
for i in hops:
print('Hop Number ' + str(counter) + '--->' + i)
counter += 1
谢谢