?
1
2
[wyq@localhost ~]$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 ...
用其它web服务器提供端口也一样,由于python比较方便,这里就用它
1、使用telnet判断
telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.
用法: telnet ip port
1)先用telnet连接不存在的端口
?
1
2
3
[root@localhost ~]# telnet 10.0.250.3 80
Trying 10.0.250.3...
telnet: connect to address 10.0.250.3: Connection refused #直接提示连接被拒绝
2)再连接存在的端口
?
1
2
3
4
5
6
7
8
[root@localhost ~]# telnet localhost 22
Trying ::1...
Connected to localhost. #看到Connected就连接成功了
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
a
Protocol mismatch.
Connection closed by foreign host.
2、使用ssh判断
ssh是linux的标准配置并且最常用,可以用来判断端口吗?
用法: ssh -v -p port username@ip
-v 调试模式(会打印日志).
-p 指定端口
username可以随意
1)连接不存在端口
?
1
2
3
4
5
6
7
8
9
[root@localhost ~]# ssh 10.0.250.3 -p 80
ssh: connect to host 10.0.250.3 port 80: Connection refused
[root@localhost ~]# ssh 10.0.250.3 -p 80 -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.0.250.3 [10.0.250.3] port 80.
debug1: connect to address 10.0.250.3 port 80: Connection refused
ssh: connect to host 10.0.250.3 port 80: Connection refused
2)连接存在的端口
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# ssh ... -p
a
^]
^C
[root@localhost ~]# ssh ... -p -v
OpenSSH_.p, OpenSSL ..e-fips Feb
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Connecting to ... [...] port .
debug: Connection established.
debug: permanently_set_uid: /
debug: identity file /root/.ssh/identity type -
debug: identity file /root/.ssh/identity-cert type -
debug: identity file /root/.ssh/id_rsa type -
debug: identity file /root/.ssh/id_rsa-cert type -
debug: identity file /root/.ssh/id_dsa type -
debug: identity file /root/.ssh/id_dsa-cert type -
a
^C
不用-v选项也可以咯
3、使用wget判断
wget是linux下的下载工具,需要先安装.
用法: wget ip:port
1)连接不存在的端口
?
1
2
3
[root@localhost ~]# wget ...:
---- ::-- http://.../
Connecting to ...:... failed: Connection refused.
2)连接存在的端口
?
1
2
3
4
[root@localhost ~]# wget ...:
---- ::-- http://...:/
Connecting to ...:... connected.
HTTP request sent, awaiting response...
4、使用端口扫描工具
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost ~]# nmap ... -p
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp closed http
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
[root@localhost ~]# nmap ... -p
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp open http-proxy
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
[root@localhost ~]# nmap ...
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
Not shown: closed ports
PORT STATE SERVICE
/tcp open ssh
/tcp open rpcbind
/tcp open http-proxy
/tcp open unknown
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
总结
提供端口服务,则使用了tcp协议,上面是以web服务器为例。如果服务器是更简单的tcp服务器,三个工具同样适用.
三个工具的共同点是:1.以tcp协议为基础;2.能访问指定端口. 遵循这两点可以找到很多工具.
一般在windows下使用telnet比较方便,linux下个人就比较喜欢用wget.
主要现象是在服务器本机上telnet某一个端口是正常的,但是在服务器外面telnet该端口却是不通的。一般情况下可以判断为防火墙问题。如果是dns软件的,可以通过nslookup在服务器上测试,及在服务器分别外测试一下来判断。如果服务器上测试有结果出来,服务器外没有响应,一般就是防火墙问题。
防火墙分为服务器本身的防火墙及机房的硬件防火墙。
一、服务器本身防火墙一般有三个地方需要检查:
1.控制面板上点开windows自带的防火墙,看是否启用,端口是否打开,是否有限制了IP链接
2.管理工具-本地安全策略-IP安全策略在本机算机,看是否设置了安全策略,如果有“策略已指派”的可以暂时不指派测试看。
3.检查本地链接中IP过虑设置。看是否已设置,注意IP过虑设置完了需要重启服务器才会生效。
本地防火墙都检查了,确认没有限制该端口,一般就是机房硬件防火墙限制了,需要通知机房处理。
二、如果进一步确认一定是机房防火墙的问题:
如果客户在同一个机房有两台机器的话,可以在另外一台机器上telnet这个机器的相关端口,或用nslookup测试udp端口。
如果在机房里的另一台机器上是通的,就可以确认不是服务器本身的防火墙引起的,一定是机房的防火墙引起的。
三、有一些机房防的硬件防火墙,会导致在服务器外telnet相关的端口,会也是通的。但是相关的服务却不能用。
这种情况可以通过两种方法来判断。
1.在服务器内及服务器外,分别telnet相关端口后,可以输入回车键,或其它键,观察cmd窗口的反应。如果被机房硬防隔开了,一般窗口的响应上会有差别。
如果是tcp端口,可以使用telnet命令登录到该端口来测试该端口是否打开:如果telnet能够连上,说明该端口已经打开,否则是关闭的。0①、先做好端口防火墙或者 路由的80 端口映射,要是这个步骤您已经完成,但是还是不行的话,那座第二步; ②、将您以前用作网站服务的80端口改为其他端口,如 81、8080、8088、8888等等,再重新做好 端口映射,因为据说现在很多运营商 都 把未备案的 网站的80端口“封杀”,据说需要“备案”才能使用80端口。 最后可能端口被封服务器通过路由器上网,则修改端口需要两步:1、请先在服务的设置界面修改http端口,并在局域网内尝试访问 “http://服务器局域网ip地址:新端口” ,以验证新端口是否已修改成功。2、再设置路由器端口映射,将新端口转发至服务器局域网ip地址上(协议选ALL),并尝试访问 “http://路由器wan口ip地址:新端口” ,以检验端口映射是否成功欢迎分享,转载请注明来源:夏雨云
评论列表(0条)