从原始套接字捕获数据包时出错

时间:2014-04-28 18:13:54

标签: python sockets

我正在尝试运行以下几行程序:

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
AttributeError:'模块'对象没有属性' PF_PACKET'

我在Windows 8.1上使用Pyscripter,Python 2.7

谢谢!

1 个答案:

答案 0 :(得分:9)

你应该在Windows上使用AF_INET来打开原始套接字。类似的东西:

sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)