Наш скрипт уже умеет получать, обрабатывать и выводить необходимые нам данные. Сейчас займемся тем, что сделаем вывод более удобочитаемым. Уберем информацию о том, сколько пакетов было отправлено и на сколько из них был получен ответ. Для этого в srp() используется параметр verbose. Установим его в значение verbose = False answer_yes = scapy.all.srp(arp_request_broadcast, timeout=1, verbose = False)[0] Делаем схожую шапку с netdiscover : print ('IP-Adress\t\t\tMAC-Adress\n----------------------------------------------') здесь \t - символ табуляции, а \n - перевод строки вывод становится таким: Остается сделать чтобы ip-адрес и соответствующий ему MAC-адрес выводились в одной строке. Колдуем с принтами: print (element[1].psrc + '\t\t\t' + element[1].hwsrc) и получаем: Определять вендора мы не будем, так как netdiscover пытается "угадать" его, а не оперирует достоверными данными. Итак, на данном этапе мы получили полноценный аналог netdiscover , только он работает под любой опера