0
我想在Python中使用Scapy包來接收特定端口(如53)中的數據包(如DNS查詢),然後再次發送同樣的數據包給我自己,但不同的端口。 例如,如果原始查詢被髮送到端口53,我想再次發送它到另一個端口(例如1028)。使用Scapy(Python)重新發送網絡中的數據包
我想過將目標IP地址改爲回送地址(127.0.0.1),目標端口改爲特定值(例如1028),然後使用scapy的「發送」功能,但似乎沒有上班。
如果接收到的數據包變量名爲「數據包」,則:
packet['IP'].dst = '127.0.0.1'
packet['UDP'].dst = 1028
send(packet)
我也想過刪除校驗和使用show2()重新計算過,但是這仍然無法正常工作。
任何想法?
「似乎不工作?」這到底是什麼意思呢?你會得到一個異常/錯誤信息?它打印「發送1包」嗎?你能看到使用wireshark/tcpdump發送的數據包嗎?這將有助於提供一個[mcve] –
它表示「發送了1個數據包」,但是當我使用show顯示數據包時,它顯示了正確的IP標頭,正確的UDP標頭和DNS部分爲### [Raw] ### 。這是否是原因? – Cole
當使用tcpdump查看特定端口(1028)上的流量時,我沒有看到接收到數據包的任何指示。 – Cole