Ошибка Python ValueError: Неизвестный сетевой интерфейс Нет
import scapy.all as scapy
import requests
import json
Этот код работает с API для получения информации о продавцах
def vender_finding(mac_adr):
mac_url = 'http://macvendors.co/api/%s'
vender = (requests.get(mac_url % mac_adr))
response_dict = json.loads(json.dumps(vender.json()))
return response_dict['result']['company']
Этот код возвращает все устройства, подключенные к сети. результат примерно такой
def scan(ip):
arp_request = scapy.ARP(pdst=ip)
broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
arp_request_broadcast = broadcast/arp_request
Это строка, которая дает ошибку
answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
clents_list = []
for element in answered_list[1:]:
company = vender_finding(element[1].hwsrc)
clent_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc, "vender": company}
clents_list.append(clent_dict)
print(clents_list)
return clents_list
scan('192.168.1.0/24')
но теперь его ошибка возврата, как это. Здесь и сейчас начинается новая ошибка.
answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
Это ошибка, которую я получаю.
raise ValueError("Unknown network interface %r" % name)
ValueError: Unknown network interface None
2 ответа
При установке следующего программного обеспечения проблема решена.
1.python 2.7.2 с python.org
2. Microsoft Visual C++ компилятор для Python 2.7 от https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266.
(проверьте эту ссылку для более. Microsoft Visual C++ 9.0 требуется)
3.pip install scapy == 2.4.3rc1 (это рекомендуется автором Stackru. Это работает очень хорошо.)
(проверьте по этой ссылке ответ на рекомендацию пользователя Cukic0d. Идентификатор GUID количества окон, сообщающих об ошибке интерфейса: ValueError: Неизвестный сетевой интерфейс '{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}')
4.winpcap (чтобы выполнить scapy sniff() необходимо установить это)
Установите python 2.7.2, а затем установите компилятор Microsoft Visual C++ для Python 2.7
Вы можете попробовать "iface" с вашим сетевым интерфейсом. Пример:
sendp(Ether()/IP(dst="1.2.3.4",ttl=(1,4)), iface="eth1")
Дополнительная информация: https://scapy.readthedocs.io/en/latest/usage.html