2017-08-13 79 views
0

我使用的發送數據包:如何捕獲您在Scapy中發送的數據包?

 send(IP(dst="192.168.1.114")/fuzz(UDP()/NTP(version=4)), loop=1) 

但我不能在任何其他附近的機器(包括一個帶有IP 192.168.1.114)來捕獲這些數據包是在同一網絡上。我正在使用wlan作爲我的界面。

我也嘗試嗅探,然後使用scapy重播,但我仍然無法捕獲這些數據包。

回答

0

我第一次嘗試在執行程序捕獲流量發送者機器上使用tcpdump:

tcpdump -i any udp dst 192.168.1.114 

,如果你能看到流量離開源主機,那麼它可能是因爲它不會在到達目標主機。 UDP數據包是任何網絡設備首先丟棄的數據包,因爲它是UDP的性質,所以它不會被重新傳輸。如果您確定數據包離開源,請確認它是否到達目標:

tcpdump -i any upd dst 192.168.1.114 

另一個要檢查的問題是您的防火牆設置。它可能在防火牆阻止這些請求的源系統或目標系統上。

+0

我可以捕獲發送者機器上的流量,但不是在目標主機上。我也嘗試關閉防火牆。沒有嗅探器能夠捕捉scapy正在播放的數據包。 – n0unc3

+0

@ n0unc3你是否有一些專業的網絡交換機,你可以在其上存儲流量?你是否也可以看到一些計數器有多少udp數據包被丟棄。 – dom

0

我終於解決了這個問題。這是我製作的清單,可以幫助其他人在使用scapy進行重放/模糊處理時使用。

  1. 檢查,如果你正在處理的所有IP地址都在
    網絡(使用PING)活着
  2. 理解的send()(第3層)和sendp()之間的差異(2層)
  3. 如果變異現有的分組確保 刪除校驗和(使用「刪除」),並重新計算校驗和 或者使用show2()或使用STR數據包串 轉換,然後將它們轉換回到包
0

你應該Scapy的使用Wireshark,或在呼吸功能,讓它非常打印屏幕上的內容:

sniff(lambda x:x.show()) 
相關問題