Scapy sniff() операция была выполнена над чем-то, что не является сокетом

Недавно я установил scapy и пытался начать его использовать, но у меня возникли проблемы с использованием функции sniff().

Мне удалось установить Scapy, используя шаги, описанные в их документах. Я использую Windows 7 x64 и использую Python 2.6. Я могу нормально использовать семейство функций send (подтверждено с помощью Wireshark), но sniff() не работает со следующей трассировкой стека:

Traceback (most recent call last):
  File "sniffingStuff.py", line 11, in <module>
    sniff(filter="ip",prn=customAction)
  File "C:\Python26\lib\site-packages\scapy\sendrecv.py", line 575, in sniff
    sel = select([s],[],[],remain)
select.error: (10038, 'An operation was attempted on something that is not a socket')

Единственное, что пришло мне в голову, и я подумал, что это может быть неправильно, это то, что у меня уже был установлен PCAP, потому что у меня был установлен Wireshark. Я огляделся и не увидел никаких полезных ответов.

Редактировать: поскольку я не ясно дал понять это в своем исходном сообщении, любые вызовы функции sniff завершатся с ошибкой, независимо от параметров, фильтров и т. д. Конкретную ссылку см. в здесь.

Спасибо


person Fewmitz    schedule 18.01.2015    source источник
comment
Я не слишком хорошо знаком со scapy, но это может помочь другим, если вы также добавите часть своего кода из sniffingStuff.py в вопрос.   -  person André Laszlo    schedule 18.01.2015
comment
Параметры функции sniff() в scapy не имеют значения (она каждый раз терпит неудачу), но я обновил свой пост выше.   -  person Fewmitz    schedule 19.01.2015
comment
Сбой даже при предоставлении интерфейса через аргумент ключевого слова iface? Если нет, каково текущее значение conf.iface?   -  person Yoel    schedule 19.01.2015
comment
Он также терпит неудачу при передаче через iface; Я могу отправлять пакеты через интерфейс, но функция sniff() не работает.   -  person Fewmitz    schedule 19.01.2015
comment
Каково значение s в ошибочной строке? Вставьте туда pdb и попытайтесь выяснить, что происходит...   -  person Yoel    schedule 20.01.2015


Ответы (1)


Я считаю, что scapy требует определенной версии WinPCAP в соответствии с инструкциями по установке. Сведения о поддерживаемых версиях см. в руководстве по установке Windows здесь.

person Steve Barnes    schedule 18.01.2015
comment
Я обновил свой исходный пост - параметры sniff() не имеют значения; все они терпят неудачу. Я попытаюсь установить более старую версию; указанная версия не будет установлена, потому что в системе установлен более новый драйвер, и я полагал, что WinPcap не нарушит совместимость таким образом. - person Fewmitz; 19.01.2015