当前位置: 移动技术网 > 网络运营>服务器>Linux > 如何测试端口通不通(四种方法)

如何测试端口通不通(四种方法)

2017年12月12日  | 移动技术网网络运营  | 我要评论

一般情况下使用"telnet ip port"判断端口通不通,其实测试方法不止这一种,还有很多种方法,下面小编给大家分享了几种方法,具体内容请往下看:

准备环境

启动一个web服务器,提供端口.

[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连接不存在的端口

[root@localhost ~]# telnet 10.0.250.3 80
trying 10.0.250.3...
telnet: connect to address 10.0.250.3: connection refused #直接提示连接被拒绝

2)再连接存在的端口

[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)连接不存在端口

[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)连接存在的端口

[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)连接不存在的端口

[root@localhost ~]# wget ...:
---- ::-- http://.../
connecting to ...:... failed: connection refused.

2)连接存在的端口

[root@localhost ~]# wget ...:
---- ::-- http://...:/
connecting to ...:... connected.
http request sent, awaiting response...

4、使用端口扫描工具

[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.

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网