日常工作中,我们经常会碰到这种问题,某个系统管理员问你,防火墙里端口是不是没给我开啊?为什么我的系统还是访问不了啊?最后,一查发现是自己系统端口没起来。今天,我们站在系统管理员的角度,讲一讲业务系统端口无法正常访问的排查步骤。
一、检查业务系统端口是否正常启用
首先,作为业务系统管理员,你得确认自己的系统端口是不是正常启用了。
1)在windows系统里,可以单击“开始→程序→附件→命令提示符”,或者快捷键“WINDOWS+R”,进入DOS窗口,输入命令 netstat -na 回车,就会显示本机连接情况及打开的端口。
C:\Documents andSettings\administrator>netstat –na
2)在linux系统中,使用netstat -aptn命令行,查看所有开启的端口号。
有人可能会问,如果端口没启用,怎么启用了?
每个端口都对应一个应用程序,如果端口没启用,肯定是你的应用没起来。这个时候检查下你的应用是不是正常吧,只要你的应用正常启用了,端口自然就会起来的。
但是,需要注意一种特殊情况,此端口被其他应用程序占用了,这时你需要停掉其他应用,或者更换你自己应用的端口号。
二、检查端口开放申请的需求是否报错
如果系统端口已经正常启用了。那第二步,检查你提交的端口开放申请是否有问题,比如源地址、目的地址、端口号是否写错,TPC和UDP协议是否弄错了。
三、TELNET测试
前面如果没有问题,那你可以在有权限访问系统的终端上,执行telnet命令,测试端口是否正常,当然,此方法仅限于TCP协议的端口。具体方法如下:
在windows系统里,可以单击“开始→程序→附件→命令提示符”,或者快捷键“WINDOWS+R”,进入DOS窗口,输入命令“telnet 系统IP地址 端口号”,然后回车,例如。
测试端口是否开放:
C:\Documents and Settings\administrator>telnet 10.0.0.247 8383
如上图所示,8383端口没有开放。
再测试8080端口:
C:\Documents andSettings\administrator>telnet 10.0.0.247 8080
如上图所示,8080端口是开放的。
这里注意一种特殊情况,telnet端口通过后,过几秒钟,提示端口连接失败,系统自动踢出telnet用户。一般正常情况,是系统自带防火墙配置问题,可以关闭防火墙后再测试。
四、找防火墙管理员
如果一和二测试通过,但是telnet测试系统端口不好使,那你可以找防火墙管理员,让他们帮忙排查是不是防火墙策略问题。