Я намагаюся перевірити, чи може машина A підключитися до машини B на певних портах. Сисадміни машини A вважали за потрібне зняти telnet
команду. Що було б зручною заміною? Машина A - це CentOS.
Я намагаюся перевірити, чи може машина A підключитися до машини B на певних портах. Сисадміни машини A вважали за потрібне зняти telnet
команду. Що було б зручною заміною? Машина A - це CentOS.
Відповіді:
iirc, telnet більше не встановлений за замовчуванням на машинах centos 6. якщо у вас немає таких інструментів, як telnet
і в nc
наявності, ви завжди можете поговорити з мережевим сокетом за допомогою python. (не впевнений, чи відповідає це вашій "зручній" вимозі, хоча ...)
просто перевірити, чи можна встановити з'єднання:
[gryphius@ut ~]$ python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> conn=socket.create_connection(('gmail-smtp-in.l.google.com',25))
Якщо це не призвело до помилки, то з'єднання в порядку. Якщо ви також хочете перевірити отримання / надсилання даних, ви можете продовжити так:
>>> input=conn.makefile()
>>> print input.readline()
220 mx.google.com ESMTP p2si6911139eeg.7 - gsmtp
>>> conn.sendall('HELO example.com\r\n')
>>> print input.readline()
250 mx.google.com at your service
>>> conn.sendall('QUIT')
>>> conn.close()
>>>
Будь-який з: nc (netcat), nmap, hping.
http://linux.byexamples.com/archives/258/when-netcat-act-as-telnet-client-it-become-better/
Метод, який я придумав:
$ ssh -f -N machineA -L 10123:machineB:123
$ telnet localhost 10123
Не вдалося, але я не був впевнений, чи це насправді діагностика чи ні. Перевіривши далі, це справді діагностика.