Как я могу настроить netcat (или другую стандартную утилиту linux) для прослушивания определенного порта на вторичном IP-адресе?

15

CentOS 5.9

В целях тестирования я хочу, чтобы мой сервер CentOS прослушивал вторичный виртуальный IP-адрес (eth0: 0). Я знаком с nc -l -p <port>но слушаю только на начальном. Есть ли способ указать конкретный IP-адрес для использования слушателем?

Если нет, есть ли еще одна «стоковая» утилита в CentOS 5.9, которая может это сделать?

Майк Б
источник

Ответы:

24

Для меня это очень простое решение работает:

nc -l 192.168.2.1 3000

И -pне работает с -l(согласно моей справочной странице и тестированию).

Хауке Лагинг
источник
Это именно то, что написано на странице руководства.
Майкл Хэмптон
@MichaelHampton Я не уверен, правильно ли я понимаю, что вы имеете в виду.
Хауке Лагинг
1
Я думаю, что в Netcat-традиционный вы можете сделать-l -p
пользователь
Это означает, что вы получите много голосов. :)
Майкл Хэмптон
1
@MichaelHampton Полагаю, мне понадобится немало времени, пока я не пойму практические правила голосования. Если я посмотрю на то, за что я получаю положительные отзывы (и намного хуже: что не за!), То я мог бы плакать. Но похоже, что решение этой большой проблемы поднимает меня выше желаемых 3000 баллов ... (Я заметил, что в Unix и Linux мой интерес к репутации сильно снизился после этого)
Hauke ​​Laging
4

Для завершения:

nc -l -p порт -s ip

должно работать тоже. Работает с nc6 версии 1.0 и netcat (GNU Netcat) 0.7.1.

Команда из Laging не работает с nc6 (используется в debian).

однолистная
источник
Единственный способ определить интерфейс прослушивания в Ubuntu nc.
djule5
2
nc говорит, что нельзя использовать одновременно и -s, и -l
SunSparc
1
@SunSparc, пока это единственный способ указать мне локальный ip и локальный порт в режиме сервера - здесь не работает никакая другая комбинация опций (nc v1.10-38, debian)
Энтони Хаткинс,
Я думаю, что проблема может заключаться в том, что разные версии netcat ведут себя по-разному. Кажется, я не могу получить строку версии из моей, но есть по крайней мере два пакета netcat-classic против netcat-openbsd. netcat -vvlp 4445 -s 172.17.0.1дает мне listening on [172.17.0.1] 4445 ...против netcat -vvl 172.17.0.1 4445дает мне listening on [any] 36539 ...
relet