如何优雅的使用telnet测试端口连通性
其执行结果有两种: 端口未打开$ telnet 101.199.97.65 62715Trying 101.199.97.65...telnet: connect to address 101.199.97.65: Connection refused此时,命令已退出。端口已打开$ telnet 101.199.97.65 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.此时命令未退出。2根据提示Escape character is '^]'.可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:^] telnet>此时再运行quit才会真正退出。telnet> quit Connection closed.3其中,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'.ptelnet> quitConnection closed.即便如此,退出telnet还是麻烦。那么,更进一步,如果出现在脚本中应该如何(优雅地)退出telnet呢?END优雅的使用输出结果后立即退出:$ echo "" | telnet 101.199.97.65 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.Connection closed by foreign host.#已成功连通端口并自动退出$ echo "" | telnet 101.199.97.65 62715Trying 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 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.Connection closed by foreign host. 使用这种方式可以将标准输出和标准错误重定向到文件中,通过分析文件的内容来判断端口打开状态。

linux如何判断端口是否通
方法一、telnet法telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:telnet ip port说明:ip:是测试主机的ip地址port:是端口,比如80如果telnet连接不存在的端口,那会如下图所示。方法二、ssh法SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:用法: ssh -v -p port aliyunzixun@xxx.com说明:-v 调试模式(会打印日志).-p 指定端口username:远程主机的登录用户ip:远程主机如果远程主机开通了相应的端口,会有如下图所示的建立成功的提示。

怎么看telnet测试端口是否通?
可以通过”telnet ip 端口“的形式进行端口查看。点击左下角的开始菜单,之后在搜索中输入”cmd “;直接回车,之后再命令行输入“telnet ip 端口”。如果可以访问的话,会直接进入端口页面,不能访问的话,会出现端口“连接失败”提示。Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

如何测试端口通不通一般情况下使用"telnetipport"判断端
运行——cmd 在命令行提示符后输入telnet 192.168.1.100 80 回车执行 如果192.168.1.100这个IP的设备上监听80这个端口的程序正常运行、网络也正常能访问,就会看到欢迎消息或一个全黑的命令行窗口,不通也会有提示。 要注意的是telnet命令从win7开始默认是关闭的,需要通过控制面板——程序和功能——打开关闭windows功能——勾选 telnet客户端,并确定来打开功能后才能使用。

验证TCP端口连通性-telnet方法和telnet协议RFC854
先上如何使用telnet的方法,然后研究原理。为什么telnet可以验证端口的连通性?为啥只能验证TCP端口的连通性?UDP协议端口的连通性如何验证?方法只需要看看Rfc854有关telnet协议或者看telnet源码。 telnet命令是TELNET协议的用户接口,它支持两种模式:命令模式和会话模式,虽然telnet支持许多命令,但大部分情况下, 只是使用它查看目标主机是否打开了某端口 (默认是23)。端口未打开没响应$ telnet 101.199.97.65 62715Trying 101.199.97.65...端口打开但被拒绝连接$ telnet 101.199.97.65 62715Trying 101.199.97.65...telnet: connect to address 101.199.97.65: Connection refused端口打开并建立连接$ telnet 101.199.97.65 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.此时命令未退出。根据提示Escape character is '^]'.可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。 输入CTRL+]后会自动执行,进入命令模式:^]telnet>此时再运行quit才会真正退出。sleep 2使得telnet输出结果后,停留2秒后退出命令模式。$ sleep 2 | telnet 101.199.97.65 62715Trying 101.199.97.65...Connected to 101.199.97.65.Escape character is '^]'.Connection closed by foreign host.命令模式下Telnet 客户端常用命令:open : 使用openhostname建立到主机的Telnet连接。close : 使用命令close命令关闭现有的Telnet连接。display : 使用display命令可以查看Telnet客户端的当前设置。send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令:ao : 放弃输出命令。ayt : “Are you there”命令。esc : 发送当前的转义字符。ip : 中断进程命令。synch : 执行 Telnet 同步操作。brk : 发送信号。quit :使用 quit 命令可以退出 Telnet 客户端。https://tools.ietf.org/html/rfc854INTRODUCTIONtelnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信机制。它的主要目标是允许界面终端设备和面向终端的进程能通过一个标准方法进行互相交互。该协议可以应用到终端到终端通信(“连接”)和进程到进程通信(分布计算)中。GENERAL CONSIDERATIONS一个telnet连接是一个基于传输控制协议TCP (Transmission Control Protocol ),用来传输带有TELNET控制信息数据的连接。telnet协议的建立基于这样三个主要想法: 1)网络虚拟终端的概念NVT ( Network Virtual Terminal); 2) 可谈判选项的原理 (the principle of negotiated options) ;3)在终端和进程间进行均衡 (a symmetric view of terminals and processes)。1.一个telnet连接建立时,通信的两端假设在同一个网络虚拟终端NVT上开始和结束操作。一个NVT可以提供标准的、在网络范围内的、规范终端的中间代表者(中间对接)的虚拟设备。这表示无需客户端和服务端彼此保留对方终端的特性信息以及终端处理约定。所有主机包括客户端和服务端,把它们自己的本地设备属性和协商约定映射到同一个网络上的NVT。NVT在过度受限(没有提供给主机足够的词汇来映射他们的本地字符集)和过度包含(使用适当的终端来处罚用户)之间进行平衡。The NVT is intended to strike a balance between being overly restricted (not providing hosts a rich enough vocabulary for mapping into their local character sets), and being overly inclusive (penalizing users with modest terminals).2.可谈判选项的原则基于这样一个事实:许多主机都希望能够在NVT之上提供更多的服务,而许多用户将会拥有一个更复杂的终端,并且希望能够得到一流的,而不是极少的一点服务。尽管相互独立,但建立在telnet协议中的是许许多多的”选项”参数,这些选项将同”DO,DON’T,WILL, WON’T”结构一起使用,允许用户和服务器在telnet连接上使用更精致的协议集合。这些选项包括改变字符集,回显,等等。设置选项参数的基本策略,是让任意一方(或双方)初始化一个设置选项参数的请求,另一方可以接受或拒绝该请求。如果该请求被接受了,选项立即生效;如果该请求被拒绝,连接的另一端仍然保留NVT的特性。很显然,一方经常可以通过拒绝一个请求来设置选项有效,而从来不能通过拒绝一个请求来取消一些选项,因为这些选项是双方为了支持NVT而准备的。所思所想:详细想下为何不能取消这些选项参数呢?取消了会怎样?这些选项参数都是给谁使用的?既然这次协商的客户端和服务端之间不使用这些选项参数,那么有没有这个客户端有没有和其他的服务端之间协商时会用到这些选项参数呢?毕竟客户端只有一个,服务端是多个。想想蛮有意思的,互联网这些设置不是平白无故的,可以客户端对多个服务端,设置一些参数,抓包验证看看。我们已经建立了一套谈判选项的规则,假如双方同时请求一个相同选项的时候,任意一方都可以把对方的请求当作对自己的请求的肯定回应。3. 谈判句法的对称性可能会导致无穷尽的应答循环--每一方都把对方发送过来的命令当作必须回答的请求而不是对方的应答(each party seeing the incoming commands not as acknowledgments but as new requests which must be acknowledged. )。为防止这种循环,可以应用下面这些规则:a.一方只能请求改变选项的状态。也就是一方不能只发送宣布它所使用的模式的请求。b.如果一方所接收到的请求是要求它进入当前它所在的状态,那么该请求将不会被应答。这种不应答对防止无穷尽的循环是非常重要的。对于那些改变模式的请求,都需要一个应答--尽管该模式不一定改变。C.无论何时,只要一方给另一方发送一个选项命令,不管该命令是请求还是应答,该选项的使用对从第一方发送到第二方的数据的处理生产影响,必须把该命令插到数据流中希望它开始起作用的点上。(注意:在传送请求和接收到需要一些时间,因为可能是否定的应答过程。因此,一台主机可能在发出一个选项的请求后希望缓冲要发送的数据,直到它知道该请求是被接受还是被拒绝,来隐藏这段对用户来说是"不确定"的时间。)协议其余内容后续待学习https://tools.ietf.org/html/rfc854http://www.cnpaf.net/rfc/rfc854.txt

本文由 在线网速测试 整理编辑,转载请注明出处。