从原始套接字捕获数据包时出错
我正在尝试运行以下程序代码:
import socket
import struct
import binascii
sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x800))
print sock
但是我遇到了以下错误:
错误信息 文件名 行号 位置
追踪信息
C:\Users\d\Documents\rawsocket.py 19
属性错误:'模块'对象没有属性'PF_PACKET'
我在Windows 8.1上使用的是Pyscripter和Python 2.7
谢谢!
1 个回答
12
在Windows系统上打开原始套接字时,你应该使用 AF_INET
。可以参考下面的代码示例:
sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)