Отключить переадресацию моста в необработанном сокете - PullRequest
2 голосов
/ 15 февраля 2012

Я создаю необработанный сокет для получения и пересылки на моей машине, который имеет два интерфейса (eth0, eth1), соединенных вместе.

socket(AF_PACKET, SOCK_RAW, 0xabcd);

Мой протокол отправит несколько широковещательных пакетов, и я хотел бы переслать его намой собственный.

Как отключить пересылку моих конкретных пакетов?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2012

После нескольких недель работы я изменил свой ник драйвер и переадресовал конкретный пакет на землю пользователя через netlink.Определенные пакеты были отброшены после пересылки, поэтому мост не будет пересылать эти пакеты для меня.

0 голосов
/ 17 февраля 2012

Похоже, вы могли бы использовать iptables / ebtables, чтобы остановить пересылку по мосту, и использовать libpcap в вашей программе, чтобы выбрать пакеты / кадры, которые вы хотели бы переслать с вашей программой. Это может показаться хакерским, но libpcap может доставлять только те пакеты, которые вы хотите прослушать, независимо от правил пересылки брандмауэра / моста компьютера.

Существуют также некоторые цели iptables, которые будут доставлять согласованные пакеты в пространство пользователя. Возможно, вы сможете использовать их для доставки и удаления их в ядре, предоставляя приложению возможность повторно передавать их.

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