Как отправить UDP-пакет, если в системе присутствует несколько сетевых карт? Необходимо отправить UDP-пакет в устройство, подключенное к моей рабочей станции по Ethernet. Сложность в том, что это устройство лишь ограничено поддерживает стек сетевых протоколов, в частности нет поддержки ARP.
Обойти это ограничение я рассчитываю с помощью ручного добавления записи в кеш ARP(arp -s ).
В системе присутствует несколько сетевых карт, каким образом ОС определяет с какой из них будет отправлен UDP пакет?
Как из питона отправить UDP-пакет с нужной мне сетевой карты?

21 Авг 2019 в 06:39
190 +1
0
Ответы
1

Для отправки UDP-пакета с определенной сетевой карты в Python можно использовать библиотеку scapy. Пример кода для отправки UDP-пакета с указанием исходного IP-адреса исходящего интерфейса:

from scapy.all import *
# Задаем исходный IP-адрес исходящего интерфейса
src_ip = "192.168.1.100"
# Создаем UDP-пакет
udp_pkt = IP(src=src_ip, dst="192.168.1.200")/UDP(dport=1234)
# Отправляем UDP-пакет через интерфейс с указанным IP-адресом
send(udp_pkt, iface="eth0")

В данном примере пакет будет отправлен через сетевой интерфейс "eth0" с заданным исходным IP-адресом. Пожалуйста, замените IP-адреса и интерфейсы на актуальные в вашей ситуации.

Чтобы определить, с какой из сетевых карт будет отправлен пакет, операционная система будет использовать маршрутизацию. Обычно, пакет будет отправлен через интерфейс, который имеет маршрут к целевому IP-адресу.

20 Апр в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир