2016-03-03 3 views
0

Я бегу следующий сценарий:Packet Sniffing Ошибка

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 

Я бегу на Python 2.7 на Windows. Спасибо.

+0

Я попытался опустить буферизацию, но безрезультатно. – 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] Операция не разрешена' – jbm

+0

У меня есть использовали права администратора. – Rob

ответ

0

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

Возможно, ваша операционная система не поддерживает сырые сокеты IPv4 с TCP, указанными в качестве протокола.

Что вы здесь делаете?

+0

Я пытаюсь обнюхивать свои собственные пакеты с сырым сокетом. – Rob