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

25

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

т.е.

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

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

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

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

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

Ответы:

46

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

sysadmin1138
источник
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 . Это швейцарский армейский нож сетевых утилит. Вы можете сказать ему слушать любой произвольный порт, а также многое другое.

Zypher
источник
2

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

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

Бен Фойгт
источник
0

Internet Maniac может прослушивать любой порт TCP и UDP в мире Windows

Ленивый Барсук
источник