5
A
回答
12
要做到執行你需要使用像pynids http://jon.oberheide.org/pynids/ TCP重組。
您也可以使用pylibpcap,dpkt或scapy構建自己的。
TCP重組非常棘手,有很多邊緣情況。如果您需要一個強大的解決方案,我不會推薦自己做。
4
是的...... TCP協議保證應用程序層只會看到數據包按順序組裝。現在如果你正在談論構建一個解析IP數據包本身的低級接口,你可以用RAW sockets來刺探它,它應該能夠訪問IP頭信息。這裏有一個例子:
import socket
# the public network interface
HOST = socket.gethostbyname(socket.gethostname())
# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
# receive all packages
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
# receive a package
print s.recvfrom(65565)
# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
從Python的插座模塊文檔無恥地舉起: http://docs.python.org/library/socket.html
+0
請注意這個例子只適用於Windows – lunixbochs 2011-03-07 06:15:16
相關問題
- 1. 如何重新組合TCP數據包
- 2. 如何重新組裝tcp段?
- 3. 重新組裝的TCP段
- 4. Wireshark無法將TCP數據包組裝成RTMP數據包
- 5. 重新組合拆分TCP數據包與閃存套接字
- 6. 如何重新組裝tcp並在c代碼中解碼http信息?
- 7. tcp:在末尾重組數據
- 8. 如何重新安裝破損的python包裝
- 9. 如何使requests.post不包裝在python數組中的字典值?
- 10. 重新組裝後監控分片數據包
- 11. 使用python解碼tcp數據包
- 12. 拆分後重新組裝數據幀
- 13. 如何在包裝組件外重新提取查詢?
- 14. 如何捕獲TCP/IP數據包
- 15. 如何理解數據包是TCP關閉數據包與sharPcap
- 16. 在Python中異步接收TCP數據包
- 17. 重新連接後TCP數據丟失。
- 18. TCP ACK在wireshark中的數據包
- 19. 重播/重做TCP數據包(中間人)
- 20. 如何在python中重新取樣數組
- 21. 重新安裝包
- 22. 熵重新包裝
- 23. 如何重新安裝rpm包?
- 24. 如何重裝(刷新)在電網中的Windows Phone數據7
- 25. 如何攔截tcp數據包並在飛行中修改?
- 26. 如何在Wireshark中爲「特定數據包使用」Follow TCP stream「?
- 27. TCP如何在Java中發送/接收實時大數據包?
- 28. 如何在一個TCP數據包中燒瓶響應?
- 29. 如何在C#中捕獲TCP數據包
- 30. 如何在Iptables中重新註冊數據包?
從哪個數據源重新組裝? – 2011-03-07 06:01:17
準確答案需要更多細節。 – lunixbochs 2011-03-07 06:02:04