Як перевірити з'єднання без telnet? [зачинено]


22

Я намагаюся перевірити, чи може машина A підключитися до машини B на певних портах. Сисадміни машини A вважали за потрібне зняти telnetкоманду. Що було б зручною заміною? Машина A - це CentOS.


2
Поговоріть із сисадмінами групи A та повідомте їх про свої потреби. Що стосується альтернатив, загляньте в netcat. Це поза темою, оскільки у вас немає привілеїв на відповідній машині для вирішення проблеми.
EEAA

"Поговоріть із сисадмінами групи A та повідомте їх про свої потреби". - навряд чи в цьому середовищі. \ Netcat не встановлений. \ Я здогадуюсь, я все ж є системою адміністратора на машині B.
Стів Беннетт

Але це не робить це на тему.
ЄЕАА

5
Гм, схоже, сфера дії SF набагато вужча, ніж те, що насправді зазначено у FAQ. (наприклад, meta.serverfault.com/questions/4111/… )
Стів Беннетт

Якщо ви системний адміністратор машини B, все, що ви можете зробити, це переконатися, що машина B дозволяє доступ. Завданням системних адміністраторів машини А є дати вам потрібні інструменти, або зробити тестування самостійно. Наразі, оскільки у вас немає жодної програми, яку можна було б використовувати для ініціювання з'єднання, відповідь полягає в тому, що ні, A не можна підключитися.
Дженні Д каже, що повернеться до Моніки

Відповіді:


26

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()
>>> 

1
Дійсно, це не зручно, але це було зроблено, коли нічого іншого не було в наявності. (Мені потрібно було перевірити, що gpsd публікує для localhost: 2497 за вбудованою системою: успіх!)
Роберт Калхун


5

Метод, який я придумав:

$ ssh -f -N machineA -L 10123:machineB:123

$ telnet localhost 10123

Не вдалося, але я не був впевнений, чи це насправді діагностика чи ні. Перевіривши далі, це справді діагностика.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.