Как я могу различать широковещательное сообщение и прямое сообщение для моего ip?Отличие между широковещательными сообщениями и прямыми сообщениями
Я делаю это в python.
Как я могу различать широковещательное сообщение и прямое сообщение для моего ip?Отличие между широковещательными сообщениями и прямыми сообщениями
Я делаю это в python.
В принципе, вам нужно создать сырой сокет, получить дейтаграмму и проверить адрес получателя в заголовке. Если этот адрес является широковещательным адресом для сетевого адаптера, к которому привязан сокет, тогда вы являетесь золотым.
Я не знаю, как это сделать в Python, поэтому я предлагаю искать примеры сырых сокетов и идти оттуда. Имейте в виду, что вам потребуется root-доступ для использования сырых сокетов, и вам лучше быть реальным, если вы планируете отправлять с использованием raw-сокета.
Как вы можете себе представить, это не будет весело. Я предлагаю попытаться найти способ избежать этого.
udp - это протокол – sia
нет никакой разницы между адресом, который я могу обнаружить из широковещательной и прямой – sia
Не понимаю. Широковещательные сообщения - это просто пакеты, которые отправляются на широковещательный адрес для конкретной сети. Пакет, отправленный на 172.16.1.255, будет транслироваться по всей сети 172.16.1.0/24. Когда вы его получите, адрес назначения в заголовке IP будет иметь этот широковещательный адрес. –
Каким образом вы отправляете это сообщение? UDP? Дымовые сигналы? –