На данный момент наш скрипт умеет составлять и собирать ARP-запросы, отправлять их на все возможные ip-адреса локальной сети, а также захватывать от них ответы. Он запоминает в один список адреса, от которых мы получили ответ и в другой список - не занятые ip-адреса. Однако помимо нужных нам данных - мы получаем и сохраняем много не нужных пользователю данных. Все эти данные нужны нам в процессе разработки скрипта, для того чтобы понимать как происходит процесс. Пользователя же интересуют лишь конкретные ip-адреса и MAC-адреса устройств, которые находятся на данный момент в сети. Сначала избавимся от списка не отвечающих ip-адресов. Строку: answer_yes, answer_no = scapy.all.srp(arp_request_broadcast, timeout=1) заменим на: answer_yes = scapy.all.srp(arp_request_broadcast, timeout=1) [0] answer_no теперь нам больше не нужен, кроме того, используя [0] , мы указываем srp(), что она должна возвращать только первый список. Теперь нам нужно спарсить нужные значения из строк ответ