Доброго время суток, уважаемый читатель! На данный момент мы собрали пакеты-запросы для отправки на широковещательный адрес. Сейчас мы разберемся как отправлять эти пакеты, а также как принимать и обрабатывать ответы. Для того, чтобы отправить пакет, в scapy предусмотрены функции sr() и srp(). sr() в нашем конкретном примере использовать не получиться, т.к адрес широковещательного канала в Ether() мы прописали вручную, а sr() этого не позволяет. Поэтому используем srp() : scapy.all.srp(arp_request_broadcast) Функция srp() возвращает два списка: в первом списке содержится пара (посланный пакет, полученный ответ), а во втором списке содержится список адресов ответ от которых не был получен. Сохраним значения полученных ответов в answer_yes, а список адресов, ответа от которых мы не получили в answer_no. И наша строка кода изменится до: answer_yes, answer_no = scapy.all.srp(arp_request_broadcast) Важным аргументом в srp() является аргумент timeout. Он указывает сколько