How Do I Use Raw Socket in Python?
我看到下面的代码是用来发送原始数据包的
s = socket(AF_PACKET, SOCK_RAW)
s.bind(("eth1", 0))
...
s.send(dst_addr+src_addr+ethertype+payload+checksum)
但当我在Mac上试用时,我看到了这个。我不确定在MacOS上发送原始数据包的合适方式是什么。有人能告诉我吗
NameError: name 'AF_PACKET' is not defined
以下是macOS帮助页面上显示的内容。其中有合适的吗
| AF_APPLETALK = <AddressFamily.AF_APPLETALK: 16>
|
| AF_INET = <AddressFamily.AF_INET: 2>
|
| AF_INET6 = <AddressFamily.AF_INET6: 30>
|
| AF_IPX = <AddressFamily.AF_IPX: 23>
|
| AF_LINK = <AddressFamily.AF_LINK: 18>
|
| AF_ROUTE = <AddressFamily.AF_ROUTE: 17>
|
| AF_SNA = <AddressFamily.AF_SNA: 11>
|
| AF_SYSTEM = <AddressFamily.AF_SYSTEM: 32>
|
| AF_UNIX = <AddressFamily.AF_UNIX: 1>
|
| AF_UNSPEC = <AddressFamily.AF_UNSPEC: 0>
范例
下面是一个示例python文件,它发送wakeonlan magic数据包
下面是套接字文档中的一些示例
相关问题 更多 >
编程相关推荐