如何在没有telnet的情况下测试连接?[关闭]


22

我正在尝试测试机器A是否可以在某些端口上连接到机器B。机器A的系统管理员认为可以删除该telnet命令。什么是方便的替代品?机器A是CentOS。


2
与A的系统管理员联系,并告知他们您的需求。至于其他选择,请研究netcat。这是题外话,因为您没有问题的计算机上的特权来修复问题。
EEAA 2013年

“与A的系统管理员交谈,并告知他们您的需求。” -在这种环境下不太可能。\未安装Netcat。\我猜-虽然我是计算机B上的sysadmin。
Steve Bennett

但是,这并没有使它成为主题。
EEAA 2013年

5
嗯,看来SF的范围比FAQ中实际指定的要窄得多。(例如meta.serverfault.com/questions/4111/…)–
史蒂夫·贝内特

如果您是计算机B的系统管理员,则可以做的就是确保计算机B允许访问。机器A的系统管理员的工作是为您提供所需的工具,或者自行进行测试。就目前情况而言,由于您没有可用于启动连接的任何程序,答案是“不,A无法连接”。
珍妮D说恢复莫妮卡

Answers:


26

iirc,默认情况下,不再在centos 6机器上安装telnet。如果您没有类似工具telnetnc不可用的工具,则可以始终使用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:成功!)
Robert Calhoun16年


5

我想出了一个方法:

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

$ telnet localhost 10123

它失败了,但是我不确定那是否真的在诊断。经过进一步测试,它确实可以诊断。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.