1. 程式人生 > >如何測試服務器端口通不通

如何測試服務器端口通不通

not show match imp tcp esp aci open bind strong

經常會遇到測試服務器端口通不通的情況,在window上常用的是Telnet,不過Linux下Telnet是需要安裝的.

一般情況下使用"telnet ip port"判斷端口通不通,其實不止這一種,還有很多種方法:

準備環境

啟動一個web服務器,提供端口.

?
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 ssh 比較方便些.

轉自 https://www.jb51.net/article/78082.htm

如何測試服務器端口通不通