【问题标题】:Packet Sniffing Error数据包嗅探错误
【发布时间】:2016-03-03 22:39:16
【问题描述】:

我正在运行以下脚本:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)

while True:
  print s.recvfrom(65565)

但是,我收到此错误:

Traceback (most recent call last):
  File "supersecretfilepath/error.py", line 6, in <module>
    print s.recvfrom(65565)
error: [Errno 10022] An invalid argument was supplied

我在 Windows 上运行 Python 2.7。谢谢。

【问题讨论】:

  • 我已经尝试降低缓冲区大小,但无济于事。
  • 您的代码可以在此处运行 (Linux),但有很多输出会丢失。不过我需要sudo,否则Traceback (most recent call last): File "foo.py", line 3, in &lt;module&gt; s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) File "/usr/lib/python2.7/socket.py", line 191, in __init__ _sock = _realsocket(family, type, proto) socket.error: [Errno 1] Operation not permitted
  • 我一直在使用管理员权限。

标签: python sockets packet-sniffers


【解决方案1】:

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)

也许您的操作系统不支持将 TCP 指定为协议的原始 IPv4 套接字。

你想在这里做什么?

【讨论】:

  • 我正在尝试用原始套接字嗅探我自己的数据包。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
  • 2012-01-08
相关资源
最近更新 更多