Идентификатор GUID номера интерфейса Windows с ошибкой: ValueError: Неизвестный сетевой интерфейс '{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}'
Импорт scapy версии 2.4.0. Я использую только версию 2.4.0 для своего проекта
import scapy.all as scapy
import sys
с помощью IP-адреса эта функция возвращает связанный MAC-адрес цели
def get_mac(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]
return answered_list[0][1].hwsrc
def sniff(interface):
scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)
Эта функция проверяет, равен ли MAC-адрес шлюза по умолчанию таблице MAC-адресов моего компьютера. если нет, то написано "[+] Вы находитесь под атакой!!
def process_sniffed_packet(packet):
if packet.haslayer(scapy.ARP) and packet[scapy.ARP].op == 2:
count = 1
try:
real_mac = get_mac(packet[scapy.ARP].psrc)
response_mac = packet[scapy.ARP].hwsrc
if real_mac != response_mac:
count = count+1
print(str(count) + "[+] You are under attack!!")
sys.stdout.flush()
except IndexError:
pass
в Linux мы можем использовать значение типа 'etho', но в Windows я должен использовать значение GUID, чтобы получить результат. Я запускаю этот код в Windows Machine.
sniff('{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}')
Но этот код возвращает ошибку
Это ошибка, которая возникла
raise ValueError("Unknown network interface %r" % name)
ValueError: Unknown network interface '{1619EEF1-4D71-4831-87AC-
8E5DC3AA516A}'
1 ответ
В Windows вам необходимо предоставить полное имя интерфейса / объекта, чтобы иметь возможность его прослушивать.
Во-первых, посмотрите на то, что доступно с помощью IFACES.show()
в оболочке Scapy.
Затем, чтобы получить интерфейс, вы можете использовать:
iface = IFACES.dev_from_name("...")
(или жеdev_from_pcapname
,dev_from_id
... посмотрите на справку (IFACES), чтобы увидеть, что доступно)- iface = "полное имя как напечатано выше"
Тогда используйте это через sniff(iface=iface)
,
Вы можете указать pcap_name, но не GUID: например, это будет что-то вроде \\Device\\NPF_{...}
а не просто {...}
,
Также, пожалуйста, используйте scapy 2.4.3rc1 (или, по крайней мере, 2.4.2), чтобы быть в курсе последних новостей.
Я решил scapy
ошибка ValueError: Unknown network interface
на windows
установив npcap