Linux: Более точный контроль привязки сокетов прослушивания INET? - PullRequest
0 голосов
/ 01 июня 2010

У меня есть интерфейсы lo, eth0 и eth0:1.

progA создает сокет прослушивания и привязывает его к порту p на INADDR_ANY.

Одновременно я хотел бы использовать ncat для переноса вперед, прослушивая тот же порт p, но только на IP-адресе, связанном с eth0:1.Как и ожидалось, ncat терпит неудачу с "адресом, который уже используется".

Я хотел бы иметь возможность: progA привязать свой сокет прослушивания к адресам, связанным с интерфейсами loи eth0, но не по адресу, связанному с eth0:1, оставляя этот адрес открытым для ncat для привязки.

Существует ли альтернатива INADDR_ANY, которая позволяет связываться с несколькими интерфейсами и /или несколько IP-адресов?

1 Ответ

1 голос
/ 01 июня 2010

Вам необходимо отдельно привязать к каждому из отдельных интерфейсов, используя разные сокеты. В качестве альтернативы, вы можете написать программу, использующую libpcap для захвата пакетов в eth0: 1 и их пересылки. Захват пакетов позволяет вам наблюдать интерфейс без фактической привязки к нему.

...