我想用蟒蛇做一个追踪器。我做了一个循环,运行ttl多次,以显示消息已经传递的所有源ip。
我知道有些“站点”没有返回超出的ttl,所以我需要用srp创建一个超时请求,我真的不知道srp1(msg,timeout = 10)会返回什么,因为我看不到返回的消息
我在循环中运行了TTL大小,只是需要知道如果超时过了怎么办。
for i in range(1,ttl+1):
msg = Ether() / IP(dst = domain, ttl = i) / ICMP()
ans = srp1(msg, verbose = 0, timeout = 10)
print("%d: %s" % (i, ans[IP].src))发布于 2018-05-29 19:39:11
如果发生超时,srp1将返回None。
if ans is not None:
print("%d: %s" % (i, ans[IP].src))
else:
print("%d: Timeout waiting for %s" % (i, fullmsg[IP].dst))timeout=2应该是一个很好的价值。
https://stackoverflow.com/questions/50589727
复制相似问题