Я хотел создать сетевой сканер, который отправлял бы ARP-запрос на широковещательный mac-адрес ff: ff: ff: ff: ff: ff.Мой письменный код получает ответ от всех устройств, которые присутствуют в моей локальной сети, но когда я запускаю его снова, он всегда показывает мне меньше устройств по сравнению с первым сканированием.
def check_arping(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]
clients_list = []
for eachelement in answered_list:
client_dict = {
"IP": eachelement[1].psrc,
"MAC": eachelement[1].hwsrc
}
clients_list.append(client_dict)
return clients_list