Как получить пакет UDP с известным MAC-адресом назначения, отличным от интерфейса прослушивания - PullRequest
0 голосов
/ 31 августа 2011

Я пытаюсь прослушать определенный пакет обнаружения, который будет отправлен по UDP, предназначенному для известного MAC-адреса.Этот MAC-адрес не будет совпадать с MAC-адресом интерфейса, на котором я получаю.

Я пробовал прослушиватель UDP Биджа, но он принимает только пакеты с правильным MAC.

Когда я слушаю с помощью tcpdump, я вижу, что пакеты отправляются на устройство.

Похоже, я мог бы получать через необработанный сокет (хотя это еще не работало), но был бы тамбыть способ отфильтровать только MAC-адрес назначения, который я хочу?

Кто-нибудь может дать мне какое-либо руководство с этим?

1 Ответ

3 голосов
/ 31 августа 2011

Ваш интерфейс обычно не принимает пакеты, которые не отправляются на его собственный адрес.Он просто игнорирует их.

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

Посмотрите на libpcap , страница руководства здесь .

Это тот же механизм, который используется tcpdump .Это библиотека, которая предоставляет интерфейс и фильтр для механизма захвата пакетов в ядре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...