Получать только от одного интерфейса в сыром сокете - PullRequest
0 голосов
/ 06 мая 2020

Я имею в виду этот вопрос как привязать необработанный сокет к определенному c интерфейсу

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

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

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

S32_SocketFd = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL))

, он получит данные от eth0, eth1 и lo.

Их фильтрация - утомительная задача для моей системы. Я использую linux версию 4.14 Пожалуйста, помогите.

...