Sory爲我的英語不好。也許問題已經解決,但不幸的是我還沒有找到解決我的問題。一般來說,任務存在問題。有人能幫我嗎? 使用scapy和netinfo,我需要創建功能,它向系統中的默認網絡接口(類似於'ethX',其中X是數字)發送「8.8.8.8」主機的ping請求,並驗證請求已被 通過捕獲傳出數據包發送。如何使用scapy和netinfo創建腳本來捕獲數據包?
這一步,我部分的理解:
#!/usr/bin/python
import sys
from scapy.all import *
import netinfo
class test:
host = "8.8.8.8"
def pingh(self):
self.host
pkt = Ether()/IP(dst=self.host,ttl=(1,3))/ICMP()
ans,unans = srp(pkt,iface="eth0",timeout=2)
ans.summary(lambda (s,r): r.sprintf("%Ether.src% %IP.src%"))
r = test()
print "request from ping "
r.pingh()
,但在下一步我被卡住了:
同時執行相同的「LO」和「的ethX」接口(使用標準的「穿透'模塊)。 捕獲的結果應該收集到具有以下結構的字典中: {'iface1':list_of_captured_packets,'iface2':list_of_captured_packets,...}。修改此字典應該是線程安全的。通過添加一個測試來修改測試類,該測試檢查結果字典是否包含'lo'和'ethX'接口作爲關鍵字。 P. S. 不要讓我死個傻子:)