2010-05-13 4 views

ответ

0

В принципе, вам нужно создать сырой сокет, получить дейтаграмму и проверить адрес получателя в заголовке. Если этот адрес является широковещательным адресом для сетевого адаптера, к которому привязан сокет, тогда вы являетесь золотым.

Я не знаю, как это сделать в Python, поэтому я предлагаю искать примеры сырых сокетов и идти оттуда. Имейте в виду, что вам потребуется root-доступ для использования сырых сокетов, и вам лучше быть реальным, если вы планируете отправлять с использованием raw-сокета.

Как вы можете себе представить, это не будет весело. Я предлагаю попытаться найти способ избежать этого.

+0

udp - это протокол – sia

+0

нет никакой разницы между адресом, который я могу обнаружить из широковещательной и прямой – sia

+0

Не понимаю. Широковещательные сообщения - это просто пакеты, которые отправляются на широковещательный адрес для конкретной сети. Пакет, отправленный на 172.16.1.255, будет транслироваться по всей сети 172.16.1.0/24. Когда вы его получите, адрес назначения в заголовке IP будет иметь этот широковещательный адрес. –

Смежные вопросы