2016-04-14 7 views
1

我在scapy中打印所有ips从我的ip到谷歌,每次我发送一个数据包我加1到ttl,直到我们到www .google.com 但由于某种原因,它只会打印第一个ip。帮帮我?Scapy脚本打印所有ips从我们到google.com

from scapy.all import * 
def main(): 
    i=0 
    packet= IP(dst="www.google.com")/ICMP() 
    while(packet[IP].src!="www.google.com"): 
     packet[IP].ttl= i 
     re_packet= sr1(packet) 
     print re_packet[IP].src 
     i=i+1 


if __name__=="__main__": 
    main() 

回答

0

你不应该索引包用[IP],您想要的普通对象对象,下面的代码工作

def main(): 
    i=0 
    packet= IP(dst="www.google.com")/ICMP() 
    while(packet.src!="www.google.com"): 
     packet.ttl= i 
     re_packet= sr1(packet) 
     print re_packet[IP].src 
     i=i+1