2016-03-03 150 views
0

我運行下面的腳本:數據包嗅探錯誤

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。謝謝。

+0

我試過降低buffersize,無濟於事。 – Rob

+0

你的代碼在這裏工作(Linux),有很多輸出丟失。我需要'sudo',否則'Traceback(最近調用最後一個): 文件「foo.py」,第3行,在 s = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_TCP ) 文件「/usr/lib/python2.7/socket.py」,第191行,在__init__中 _sock = _realsocket(family,type,proto) socket.error:[Errno 1] Operation not permitted' – jbm

+0

我有一直使用管理員權限。 – Rob

回答

0

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

也許您的操作系統不支持將TCP指定爲協議的原始IPv4套接字。

你想在這裏做什麼?

+0

我試圖用原始套接字嗅探自己的數據包。 – Rob