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. 如何在LUA解剖器中重新組裝TCP數據包?
- 2. 如何重新組合TCP數據包
- 3. 如何重新組裝tcp段?
- 4. 重新組裝的TCP段
- 5. 如何發送相同的(重複)的TCP數據包在python
- 6. Wireshark無法將TCP數據包組裝成RTMP數據包
- 7. 重新組合拆分TCP數據包與閃存套接字
- 8. 在python中包裝一個numpy數組
- 9. Python中獲取分組數據TCP
- 10. 如何重新組裝tcp並在c代碼中解碼http信息?
- 11. tcp:在末尾重組數據
- 12. 如何重新安裝破損的python包裝
- 13. 如何強制重新安裝包裝?
- 14. 如何在虛擬環境中重新安裝已安裝的python軟件包?
- 15. 如何使requests.post不包裝在python數組中的字典值?
- 16. 使用python解碼tcp數據包
- 17. 重新組裝後監控分片數據包
- 18. 拆分後重新組裝數據幀
- 19. 如何在包裝組件外重新提取查詢?
- 20. 如何捕獲TCP/IP數據包
- 21. 如何使用Python計算TCP數據包校驗和?
- 22. wireshark如何將某些數據包標記爲「重組pdu的tcp段」
- 23. 如何爲IP數據包重組
- 24. TCP數據包通常是否重新排序?
- 25. 如何理解數據包是TCP關閉數據包與sharPcap
- 26. TCP RST數據包延遲數據包
- 27. 如何在scapy中取消TCP數據包中的EOL選項
- 28. Python,如何通過TCP發送數據
- 29. 在Python中異步接收TCP數據包
- 30. 重新連接後TCP數據丟失。
從哪個數據源重新組裝? – 2011-03-07 06:01:17
準確答案需要更多細節。 – lunixbochs 2011-03-07 06:02:04