这是代码,只能在 linux 下运行,因为 osx 不支持 PF_PACKET ,只能用 AF_INET,记得以前用 AF_INET 发过原生数据,后悔当时没有记录代码。
求问在 osx 下如何发送原生数据包!万分感谢!!
import socket
rawSocket=socket.socket(socket.PF_PACKET,socket.SOCK_RAW,socket.htons(0x0800))
rawSocket.bind(("eth0",socket.htons(0x0800)))
packet='\x01\x0c\x29\x29\x4d\x89\x00\x50\x56\xc0\x00\x08\x08\x00\x45\x00\x00\x54\xcb\xab\x40\x00\x40\x01\x0b\x2b\xcc\xa8\x71\x01\xc0\xa8\x71\x80\x00\x00\x08\xa6\x0a\xb3\x00\x04\x41\x51\xf9\x55\xbc\xf8\x0a\x00\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37'
rawSocket.send(packet)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.