python socket.PF_PACKET使用
我正在尝试用Python发送一个ARP请求,使用的是dpkt库。我找到了一些示例代码,其中用到了:
socket.socket(socket.PF_PACKET, socket.SOCK_RAW)
我明白发送这个请求需要使用原始套接字,但它说socket.PF_PACKET不存在。而我在Python的文档中没有看到关于它的任何信息。那么,这个人是从哪里得到PF_PACKET的,它有什么作用,我该如何获取它呢?
1 个回答
2
我更新了一下我的回复:
PF_PACKET是在Linux 2.0及以上版本中引入的。Python只是对操作系统的socket接口进行了封装。AaronMcSmooth的评论确认了它在Linux上是可用的。不过在Mac上是不可用的。
另外,看起来在3.2版本中,AF_PACKET可能会被优先使用。