2013-05-09 38 views
0

我已經在scapy中創建了一個嗅探器,並且我希望scapy捕獲的數據包被寫入文件以供進一步分析?print scapy sniff輸出到文件

def sniffer(ip): 
    filter_str = "icmp and host " + ip 
    packets=sniff(filter=filter_str,count=20) 
    f = open('log.txt',"a") 
    #f.write(packets) 

最後一行代碼不起作用。有什麼辦法可以做到這一點?

回答

0

f.write需要一個字符緩衝區,但是您提供了一個Sniffed對象,該對象是致電sniff的結果。您可以非常簡單地執行以下操作:

f.write(str(packets)) 

這應該有效。但它可能不會完全按照您的意願顯示信息。在寫入f之前,您將不得不做更多的工作,以packets作爲字符串收集信息。