情景linux–在脚本中如何优雅地退出telnet
来源:互联网 发布:软件维护收费标准规范 编辑:程序博客网 时间:2024/05/12 21:49
情景linux–在脚本中如何优雅地退出telnet
情景
telnet命令是TELNET协议的用户接口,它支持两种模式:命令模式和会话模式。虽然telnet支持许多命令,但大部分情况下,我们只是使用它查看目标主机是否打开了某端口(默认是23)。
其执行结果有两种:
- 端口未打开
$ 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 62715Telnet escape character is 'p'.Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is 'p'.ptelnet> quitConnection 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.
使用这种方式可以将标准输出和标准错误重定向到文件中,通过分析文件的内容来判断端口打开状态。
0 0
- 情景linux–在脚本中如何优雅地退出telnet
- 如何优雅地退出python程序
- python 如何优雅地退出子进程
- 如何在vi中优雅地使用ex
- 如何在业务设计中优雅地使用JAVA反射
- 如何在 Swift 中优雅地处理 JSON
- 在iOS开发中如何优雅地进行图片缩放?
- 如何利用Github在Markdown中优雅地插入图片
- 如何优雅地在React中处理事件响应
- 如何优雅地编写shell脚本
- 优雅地退出应用
- Android 优雅地退出App
- 在go语言中优雅退出goroutines
- Markdown系列(6)- 如何优雅地在Markdown中输入数学公式
- telnet 如何退出
- telnet如何退出
- linux 退出 telnet , 怎么退出 telnet
- 如何优雅地在 microsoft word 插入代码块
- Docker运维之最佳实践
- 腾讯分享会-构建工具知识记录
- 《JavaScript高级程序设计 第三版》学习笔记 (三)引用类型详解
- Ubuntu 挂载文件系统
- 怎么样成为高效能人士
- 情景linux–在脚本中如何优雅地退出telnet
- mssql查看表记录
- Openwrt 下实现主备路由自动切换 -- keepalived
- 监听手机返回键事件及返回微信公众号页面
- 《JavaScript高级程序设计 第三版》学习笔记 (四) 对象创建详解
- jvm内存管理
- JS与Jquery的事件委托
- Unreal蓝图开发,使用ScrollBox实现平滑移动的分类式菜单
- app 图片的上传