故障排查:是什么 导致了服务器端口telnet失败? - zhuweisky

标签: 服务器 端口 telnet | 发表时间:2015-05-09 09:00 | 作者:zhuweisky
出处:

      telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手)。

      当服务端启动后,但是telnet其监听的端口,却失败了。或者,当服务端运行了一段时间后,突然其监听的端口telnet不通了。当类似这样的telnet失败的情况出现时,都可以按照如下方面进行排查:

1.观察一下服务端进程的CPU和内存是否有异常。

       比如,当CPU持续在100%时,就有可能导致来自客户端的TCP连接请求被丢弃或无暇处理。 

2.端口监听器是否运行正常?

        可以通过IRapidServerEngine的Advanced属性的GetPortListenerState方法来获取端口监听器的状态,该方法返回一个PortListenerState对象,其包含3个属性:

(1)IsMaxConnection:是否达到了最大连接数的限制。

(2)IsListening:是否正在监听端口。如果未授权,或达到了最大连接数限制,则将会停止监听端口。

(3)LastDetectTime:最后一次检测TCP连接队列(已完成OS底层的三次握手,但尚未被ESFramework提取的TCP连接存放于该队列中)的时间。 

        如果上述两点都正常,则接下来,需要专业的运维人员或网管人当员参与进来协助排查。

3.在当前服务器上执行telnet命令,看能否连接成功?

        如果能连接成功,至少表明本机的TCP握手请求是能正常地被接收和处理的。 

4.在服务器上执行netstat命令

          netstat是一个非常有用的查看端口状态的命令,执行netstat命令后,请注意查看以下信息:

(1)目标端口是否处于监听状态?

(2)目标端口上是否存在已成功建立的TCP连接(ESTABLISHED)?其数量是多少?

(3)是否存在半开连接(SYN_RECV)?其数量是多少?

(4)是否存在等待关闭的连接(TIME_WAIT)?其数量是多少?

          这里,最有可能的原因是半开连接数达到最大限制,导致windows系统丢弃后续的TCP连接请求。 

5.TCP三次握手是否正常?

         对于一些奇怪现象的跟踪与分析,数据抓包工具是不可缺少的。

         在服务器上将抓包工具运行起来,然后在其他的电脑上telnet该服务器的目标端口,通过抓包工具观察目标端口上TCP三次握手的过程是否正常:

(1)目标端口是否收到了来自客户端的SYN请求?

(2)目标端口有回复SYN_ACK给客户端?

(3)目标端口有收到来自客户端的第三次握手?

         只有当TCP三次握手顺利完成后,windows底层才会将建立好的TCP连接放入队列中,提交给上层的应用程序。

6.服务器网络拓扑结构、防火墙、路由器、网络安全监控等相关软硬件

        在抓包分析的同时,结合服务器的网络拓扑接口进行考虑是很有必要的。很可能来自客户端的三次握手请求被防火墙、路由器、或某些网络完全监控的相关软硬件给挡住了。

        此时,需要专业的运维人员或网管人员参与进来,协助排查问题,比如:

(1)在服务器上执行netstat命令,查看目标端口的相关状态信息。

(2)在服务器上执行抓包工具,监测目标端口上是否有数据从客户端过来。

(3)分析服务器的网络拓扑结构,并以服务器为中心,依次向外检查防火墙、路由器、网络安全监控等相关软硬件等的设定,并进行针对性的排查测试。

 

       经过以上的排查分析,应该都可以找到问题的根源所在,如果还是没有结果,可以给我留言,我们一起讨论下啊。

 


本文链接: 故障排查:是什么 导致了服务器端口telnet失败?,转载请注明。

相关 [服务器 端口 telnet] 推荐:

故障排查:是什么 导致了服务器端口telnet失败? - zhuweisky

- - 博客园_首页
      telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手).       当服务端启动后,但是telnet其监听的端口,却失败了. 或者,当服务端运行了一段时间后,突然其监听的端口telnet不通了. 当类似这样的telnet失败的情况出现时,都可以按照如下方面进行排查:.

dubbo服务telnet命令 - 秦鹏飞

- - 博客园_首页
dubbo服务发布之后,我们可以利用telnet命令进行调试、管理. Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我以 Windows为例抛砖引玉一下:.     测试对应IP和端口下的dubbo服务是否连通,cmd命令如下.     正常情况下,进入telnet窗口,键入回车进入dubbo命令模式.

怎麼用 Telnet 指令連線溝通 IMAP (143 port)

- - SSORC.tw
登入 (01 要連同輸入). 進入 INBOX 這信件夾. 列出 INBOX 裡的信件. 列出信件表示為1 的信件表頭(header). 列出信件表示為1 的信件內容(body). 參考 : http://wiki.mediatemple.net/w/Email_via_IMAP_using_Telnet.

Shell 脚本自动Telnet 并执行远端机器的脚本

- - CSDN博客编程语言推荐文章
这里只是连接到远端机器,查看一下当前所在的目录. username/password 是telnet 到远端机器的用户名,密码. sleep 是一个等待时间,根据具体的机器状况或是执行命令的需要的时间来设置. 作者:oscar999 发表于2013-3-26 9:58:32 原文链接. 阅读:0 评论:0 查看评论.

Java Mail(一):telnet实现发送收取邮件

- - CSDN博客推荐文章
       最近要做一个解析邮件的东东,就顺便系统的搞一下Java Mail的API吧,以前搞过,现在都忘到十万八千里了,要说技术就得学以致用,要不全扔了.        说起邮箱,工作中挺常用的工具,上学的时候都没怎么用. 国内的邮箱系统相当多了,163、sina、sohu、qq,这些是耳熟能详针对普通用户的邮箱,还有很多针对企业用户的.

kernel.org服务器遭入侵

- Lamo - Solidot
kernel.org网站首页发布公告,声称多台服务器在本月初(8月12日前)遭黑客攻击,他们在8月28日发现了入侵. 入侵者利用一位用户凭证获得了服务器根访问权限,他们正在调查黑客是如何提升权限的;系统启动脚本被加入了一个木马启动文件;ssh相关文件被修改. kernel.org声称,他们相信Linux kernel源代码库未受影响,因为git分布式版本控制系统的特性决定了它可以很容易注意到代码变化.

Ubuntu下赌ARM服务器

- Tim - Solidot
今日无数手机平板使用的低能耗处理器能否撑起未来的服务器市场. Canonical计划推出支持ARM架构的Ubuntu服务器版本. Ubuntu Linux并不是x86服务器市场的重量级选手,Red Hat才是. 但通过与ARM合作打造ARM服务器,Canonical正努力赢得更多市场份额. 计划于2011年10月发布的Ubuntu Server 11.10,将同步推出支持x86、x86-64和ARM架构的版本.

Windows 搭建VPN服务器

- 洋白菜 - iGFW
Windows XP搭建PPTP VPN. 普通用户,在家里也可以搭建自己的VPN. 需要将服务器端的电脑直接放置于外网访问下,若是ADSL拨号的话,可以用此电脑直接拨号,中间不接路由器. 若是接路由器的话,可以启用NAT(网络地址转换)中的DMZ,将该服务器IP地址填入此处,那么外网访问到本路由Wan口时,就会直接转到该服务器上.

浅谈web服务器—Nginx

- - CSDN博客推荐文章
常见的web服务器有apache,Nginx,lighttpd等. 但Nginx作为一款高性能的Http和反向代理服务器,由于其高效率、简配置等优势在业内被广泛使用. 目前Taobao、新浪、赶集网、金山、豆瓣网、网易新闻等众多知名互联网企业的服务器都是采用Nginx. 根据url的不同,将HTTP请求转发到后端的应用服务器集群.

centos linux 服务器安全

- - 操作系统 - ITeye博客
我们必须明白:最小的权限+最少的服务=最大的安全. 所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小话,这样才能保证服务器最大的安全. 下面是CentOS服务器安全设置,供大家参考. 一、注释掉系统不需要的用户和用户组. 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦.