我想问一下python如何进行raw -socket编程。操作系统是windows。百度上说的方法但是在windwos上没有PF_PACKAGE和AF_PACKAGE.
我想问一下python如何进行raw -socket编程。操作系统是windows。百度上说的方法但是在windwos上没有PF_PACKAGE和AF_PACKAGE.
如果是传输层,发包:
def send_one(addr, payload):
s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)
packet = b'任意数据,不一定是ICMP'
s.sendto(packet, (addr, 0))
收包:
s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)
s.bind(("你的网卡IP", 0))
s.ioctl(SIO_RCVALL, RCVALL_ON)
packet, (addr, _) = s.recvfrom(65535)
如果要从第二层开始自定义,建议用 Linux。在 Windows 上也许可行,同求答案。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
点击查看Python网络编程方面的书籍
另外Python官方文档