Найти в Дзене
Практика Python

Программируем сканер локальной сети. Часть 6

Наш скрипт уже умеет получать, обрабатывать и выводить необходимые нам данные. Сейчас займемся тем, что сделаем вывод более удобочитаемым.

netdiscover входит в стандартный пакет Kali Linux
netdiscover входит в стандартный пакет Kali Linux

Уберем информацию о том, сколько пакетов было отправлено и на сколько из них был получен ответ. Для этого в srp() используется параметр verbose. Установим его в значение verbose = False

answer_yes = scapy.all.srp(arp_request_broadcast, timeout=1, verbose = False)[0]

Делаем схожую шапку с netdiscover :

вывод netdiscover
вывод 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 , только он работает под любой операционной системой.

Продолжение следует….

Конструктивная критика приветствуется.

Эта статья была полезной? Поставьте лайк и поделитесь с друзьями в социальных сетях!

Оставьте отзывы и замечания!

Предыдущая часть:

Программируем сканер локальной сети. Часть 5

База знаний:

Методы: .summary(), srp(), sr()

Модули: scapy

Понятия: Протокол ARP