如何測試埠通不通(四種方法)
阿新 • • 發佈:2020-11-19
一般情況下使用"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.