Поддерживает ли последняя версия Scapy Python 2.7 и Python 3? - PullRequest
0 голосов
/ 23 октября 2019

Использование GL-inet серии GL-ar300m-Ext и использование последней версии Scapy 2.4.3. В Python3 у меня возникали проблемы с /usr/lib/python3.6/site-packages/scapy/arch/linux.py с функцией setSocket (). Я проверил, что файл такой же. Я смог запустить ту же самую программу в оболочке Python, но в целом она не работает с текущей версией scapy.

Ниже приводится простая программа, разработанная для проверки подключения маршрутизатора и проверки, можем ли мы прослушиватьотправленные пакеты.

from scapy.all import *
packets=sniff(filter="host 192.168.8.183 and tcp port 23", count=1)
ans = sr1(packets) #send packet to dst
packets.show()
print(packets)

Обнаружена следующая ошибка:

Traceback (most recent call last):
  File "sniffer.py", line 3, in <module>
    packets=sniff(filter="host 192.168.8.183 and tcp port 23", count=1)
  File "/usr/lib/python3.6/site-packages/scapy/sendrecv.py", line 972, in sniff
    sniffer._run(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/scapy/sendrecv.py", line 842, in _run
    *arg, **karg)] = iface
  File "/usr/lib/python3.6/site-packages/scapy/arch/linux.py", line 475, in __init__
    attach_filter(self.ins, filter, iface)
  File "/usr/lib/python3.6/site-packages/scapy/arch/linux.py", line 161, in attach_filter
    sock.setsockopt(socket.SOL_SOCKET, SO_ATTACH_FILTER, bp)
OSError: [Errno 22] Invalid argument

Когда эта же программа запускается с python2, возникает эта ошибка:

Traceback (most recent call last):
  File "sniffer.py", line 2, in <module>
    from scapy.all import *
  File "/usr/lib/python2.7/site-packages/scapy/all.py", line 16, in <module>
    from arch import *
  File "/usr/lib/python2.7/site-packages/scapy/arch/__init__.py", line 71, in <module>
    from linux import *
  File "/usr/lib/python2.7/site-packages/scapy/arch/linux.py", line 159
    WARNING: No route found for IPv6 destination :: (no default route?)
           ^
SyntaxError: invalid syntax

Посоветуйте, пожалуйста, какие-либо обходные пути или исправления, необходимые с библиотекой, или лучший способ решения таких проблем. Спасибо!

...