[問題] raw socket in windows

看板Python作者 (永遠不夠花的薪水..)時間9年前 (2014/09/04 12:37), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
最近在寫一些 socket 相關的 python 程式 需要能夠客製化 IP/TCP/UDP/ICMP 封包每個欄位的內容 另外需要能夠在 windows / linux 平台上執行 雖然 scapy 很方便也很強大,但是考慮到未來打包程式的大小 所以不希望 import 其他太多的 package 進來 目前測試的結果發現 linux 底下可以使用 socket(socket.AF_PACKET, socket.SOCK_RAW) 送手動的封包內容 windows 則是沒有辦法使用上述的方法發送封包 不知道各位有沒有在 windows 上實作的相關經驗 可以提供給我參考 另外用 python 在區網發送封包有沒有比較快速的方法 以單一 process 假設每秒能送 1,000 個封包 但是 n 個 process 就會變成每秒送 1,000 / n 個封包 希望能夠有做出 1,000 * n 個封包的效果 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.20.117.109 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1409805442.A.94D.html

09/04 19:58, , 1F
微軟在 XP SP1 之後,RAW SOCKET 操作會有諸多限制
09/04 19:58, 1F

09/04 20:00, , 2F
參照Limitations on Raw Sockets http://goo.gl/ZecIwN
09/04 20:00, 2F

09/04 20:01, , 3F
建議使用 winpcap 來發送 RAW SOCKET 封包來簡化問題
09/04 20:01, 3F

09/05 12:54, , 4F
請問L大是否直接用 winpcapy 套件即可?
09/05 12:54, 4F

09/05 20:09, , 5F
你提的那個我沒用過,之前是直接用 C++ 來寫,試試看囉
09/05 20:09, 5F
文章代碼(AID): #1K1-o2bD (Python)