python scapy отключает интернет как решить?

использую ARP от scapy что бы найти устройства в сети. Программа выполняется без ошибок, в конце все записывает в файл. Но в процессе работы отключается ssh и т.д. Хоть у Raspberry pi и статический адрес, но почему то после запуска скрипта адрес меняется на другой. Самое интересное, что тестировал на десктопе из-под windows, но связь не пропадает, ip не меняет и так же нормально отрабатывает скрипт.

встроенная консольная команда arp -a проблем не вызывает. у десктопа тоже статический адрес.

def arp_scan(ip: str, retry: int) -> dict:
    """
    Performs a network scan by sending ARP requests to an IP address or a range of IP addresses.
    Args:
        ip (str): An IP address or IP address range to scan. For example:
                    - 192.168.1.1 to scan a single IP address
                    - 192.168.1.1/24 to scan a range of IP addresses.
    Returns:
        A list of dictionaries mapping IP addresses to MAC addresses. For example:
        [
            {'IP': '192.168.2.1', 'MAC': 'c4:93:d9:8b:3e:5a'}
        ]
    """
    request = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)

    ans, unans = srp(request, timeout=2, retry=retry)
    result = {}

    for sent, received in ans:
        result[received.hwsrc] = {'IP': received.psrc}
    return result

на вход подаю 192.168.1.1/24, 3 - выход json в файл.


Ответы (1 шт):

Автор решения: AlgiZ

Решил проблему изменением ввода. отправляю не по маске 192.168.1.1/24, а конкретный адрес 192.168.1.1, а если точнее то в потоки убираю все 255 адресов и "параллельно" вызывают arp на все адреса. Но все равно не понятно почему с вызовом по маске так происходит...

→ Ссылка