2010-06-01 2 views
0

У меня есть интерфейсы lo, eth0 и eth0:1.Линукс: Управление зернистостью INET для ручек INET?

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

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

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

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

ответ

1

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