щось на кшталт telnet, але "слухати", а не "підключатися до"


25

За допомогою програми telnet можна підключитися до будь-якого порту TCP на будь-якому хості, але чи є спосіб прослухати якийсь порт на поточному хості?

тобто

1) на хості a: telnet прослуховуйте 12345

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

Я не хочу, щоб будь-яка послуга стояла за стороною прослуховування, просто з'єднання і все, що вводиться, щоб передаватись обома способами.

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


wireshark (tcpdump)?
Андерс

@Anders: Ні, це не відкриває порт, і одноранговий зв’язок отримає відмову від з'єднання замість того, щоб закінчити 3-х сторонне рукостискання.
Ben Voigt

Відповіді:


46

Звичайний інструмент для цього - це щось, що називається netcat. Він доступний у більшості дистрибутивів Linux, а в деяких може бути встановлений за замовчуванням (команда є nc). Навіть є порти для Windows, але майже кожен антивірусний пакет на планеті вважає це дуже підозрілим через його використання в шкідливих програмах, що ускладнює їх завантаження та використання.


17

1) на хості a: telnet прослуховуйте 12345

$ ls | nc -l -p 12345

Залежить від версії distro та 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.