经常会遇到测试服务器端口通不通的情况,在window上常用的是Telnet,不过Linux下Telnet是需要安装的. 一般情况下使用"telnet ip port"判断端口通不通,其实不止这一种,还有很多种方法: 准备环境 启动一个web服务器,提供端口. [it.net.cn@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)再连接存在的端口 [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 ssh 比较方便些. (责任编辑:IT) |