что-то вроде telnet, но «слушай», а не «подключайся»


25

С помощью программы telnet можно подключиться к любому порту TCP на любом хосте, но есть ли способ прослушивания какого-либо порта на текущем хосте?

т.е.

1) на хосте: telnet слушают 12345

2) на хосте b: telnet host_a 12345

Я не хочу, чтобы какая-либо услуга за стороной прослушивания, просто соединение и все, что было набрано, передавалось в обоих направлениях

Я знаю, что уже могу сделать 2), но есть ли способ достичь 1)? Я заинтересован как в Windows, так и в Linux.


wireshark (tcpdump)?
Андерс

@ Андерс: Нет, это не открывает порт, и одноранговый узел получит отказ в соединении вместо завершения трехстороннего рукопожатия.
Бен Фойгт

Ответы:


46

Обычный инструмент для этого называется netcat. Он доступен в большинстве дистрибутивов Linux и даже может быть установлен по умолчанию в некоторых (команда есть nc). Есть даже порты для Windows, но почти каждый антивирусный пакет на планете считает его очень подозрительным из-за его использования во вредоносных программах, которые затрудняют его загрузку и использование.


17

1) на хосте: telnet слушают 12345

$ ls | nc -l -p 12345

Зависит от версии дистрибутива и netcat, вам может не потребоваться -pопция.

2) на хосте b: telnet host_a 12345

$ telnet host_a 12345
1159.rar
12030.mp4
123.mp4
124.mp4
129
129.bak
...

13

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




2

Даже лучше чем netcatесть socat.

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.