文档章节

如何优雅的使用telnet测试端口连通性

l
 linux-tao
发布于 2017/07/11 10:01
字数 457
阅读 3
收藏 0

telnet命令是TELNET协议的用户接口,它支持两种模式:命令模式和会话模式,虽然telnet支持许多命令,但大部分情况下,我们只是使用它查看目标主机是否打开了某端口(默认是23)。
如何优雅的使用telnet测试端口连通性如何优雅的使用telnet测试端口连通性

其执行结果有两种:

端口未打开

$ telnet 101.199.97.65 62715
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused

此时,命令已退出。

端口已打开

$ telnet 101.199.97.65 62715
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.

此时命令未退出。
根据提示Escape character is '^]'.可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:

^]
telnet>

此时再运行quit才会真正退出。

telnet> quit
Connection closed.

其中,Escape character可以自定义,使用参数-e:

$ telnet -e p 101.199.97.65 62715   #使用p字符
Telnet escape character is 'p'.
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is 'p'.
p
telnet> quit
Connection closed.

即便如此,退出telnet还是麻烦。那么,更进一步,如果出现在脚本中应该如何(优雅地)退出telnet呢?

方案

其实可以这样:

输出结果后立即退出

$ echo "" | telnet 101.199.97.65 62715

Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.  #已成功连通端口并自动退出
$ echo "" | telnet 101.199.97.65 62715
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused #端口未开放

输出结果后延迟退出

sleep 2使得telnet输出结果后,停留2秒后退出命令模式。

$ sleep 2 | telnet 101.199.97.65 62715

Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.

使用这种方式可以将标准输出和标准错误重定向到文件中,通过分析文件的内容来判断端口打开状态。

原文来自:http://www.linuxidc.com/Linux/2017-06/145164.htm

本文地址:http://www.linuxprobe.com/telnet-test-port.html

© 著作权归作者所有

共有 人打赏支持
l
粉丝 17
博文 869
码字总数 996664
作品 0
深圳
运维
私信 提问
在Linux服务器上检查TCP/UDP端口的连通性

telnet和nc是用来测试端口连通性的一般工具。 telnet可以测试tcp端口的连通性。 nc可以测试tcp和udp端口的连通性。 请确保telnet和nc工具已经安装 yum install nc yum install telnet 测试t...

炫维
2017/08/25
0
0
一次Jenkins的trableshooting经历

背景:公司采用bitbucket管理代码,Jenkins、git作为集成工具,Jenkins部署在公司内网。公司网络为长城宽带对等光纤,网络调整后路由器为VOLANS VE989GW+。 近期因为工作需要,调整了公司的网...

x449876
2017/04/25
0
0
华为telnet 3种认证模式

telnet总结:如有漏洞,希望君能评论点出,多谢 telnet分为3类: aaa AAA authentication none Login without checking password Authentication through the password of a user terminal i......

melody丶YN
2017/04/17
0
0
Linux下L2TP VPN客户端的配置

系统环境centos6.8 1,安装xl2tpd和ppp yum -y install xl2tpd ppp 2,配置xl2tpd 编辑配置文件xl2tpd.conf vim /etc/xl2tpd/xl2tpd.conf [lac testvpn] ;testvpn为lac的名称 name = username ......

goldfishe
2017/05/12
0
0
关于ping telnet

telnet的前提是网络通,如果跨网段,路由要通。ping的通网络就是通的,但是通过过滤icmp协议实现ping不通,但是网络还是通的。 ping只是icmp协议的胡同,telnet主要测试端口和连通性。 icmp...

UVN2015
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

商品详情页上拉查看详情

商品详情页上拉查看详情 目录介绍 01.该库介绍 02.效果展示 03.如何使用 04.注意要点 05.优化问题 06.部分代码逻辑 07.参考案例 01.该库介绍 模仿淘宝、京东、考拉等商品详情页分页加载的UI效...

潇湘剑雨
17分钟前
0
0
Netty内存池之PoolArena详解

PoolArena是Netty内存池中的一个核心容器,它的主要作用是对创建的一系列的PoolChunk和PoolSubpage进行管理,根据申请的不同内存大小将最终的申请动作委托给这两个子容器进行管理。整体上,P...

爱宝贝丶
21分钟前
0
0
Django使用Channels实现WebSocket--下篇

希望通过对这两篇文章的学习,能够对Channels有更加深入的了解,使用起来得心应手游刃有余 通过上一篇《Django使用Channels实现WebSocket--上篇》的学习应该对Channels的各种概念有了清晰的认...

运维咖啡吧
28分钟前
1
0
linux下设置定时执行shell脚本的示例

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等 不适合人工经常做的一些操作这里简单说下 shell Shell俗称壳,类似于DOS下的command...

阿锋zxf
32分钟前
2
0
介绍Kubernetes监控Heapster

什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS,Kubernetes有个出名的监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机...

xiangyunyan
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部