前言
相關命令詳解
具體的用法
telnet serverIP port
注意事項是 serverIP 和 port 之間需要用空格分開
具體的操作:
端口不通的時候:
ggd@ubuntu:~$ telnet 192.168.70.1 20
Trying 192.168.70.1...
telnet: Unable to connect to remote host: Connection refused
ggd@ubuntu:~$
端口開啟的時候:
ggd@ubuntu:~$ telnet 192.168.70.1 8080
Trying 192.168.70.1...
Connected to 192.168.70.1.
Escape character is '^]'.
需要注意的是 Connected to 192.168.70.1. 表示對應的端口是通的
telnet 測試端口連通之后, 還有驚喜
大家通過上圖可以了解, 當通過 telnet 命令連通對應的端口之后,可以通過終端給對應的服務器發送消息, 另外同時也可以接收服務器發送的消息
如何退出 telnet 命令
大家在測試端口的時候如果對應的端口連通之后, 此時該命令處于阻塞狀態, 不知道該怎么退出
第一種方法
先按 ctrl + ]
然后再按 ctrl + D
第二種方法
先按 ctrl + ]
然后再輸入quit
nc 命令
具體用法
nc -v serverIP port
-v 即為將命令執行信息詳細輸出
端口不通的時候:
ggd@ubuntu:~$ nc -v 192.168.70.1 20
nc: connect to 192.168.70.1 port 20 (tcp) failed: Connection refused
ggd@ubuntu:~$
端口開啟的時候:
ggd@ubuntu:~$ nc -v 192.168.70.1 8080
Connection to 192.168.70.1 8080 port [tcp/http-alt] succeeded!
nc 命令連通端口之后也是具備可以發送和接收信息的功能
如何退出 nc 命令
ctrl + D 或者 ctrl + C 都可以結束
nc 命令很強大
nc 命令 號稱 網絡工具中的瑞士軍刀 , 測試端口是否通斷只是牛刀小試
nc 命令 還可以 實現 端口掃描、文件傳輸、在線聊天、驗證 UDP 端口后續有機會再出文章詳細講解
命令很強大但是有可能受環境限制
為了適應環境, 功能簡配
大家看到上面針對 telnet 或者 nc 命令都是在虛擬機上執行的,但是有的時候,排查問題的時候是在開發板上進行的, 正因為在開發板上, 所以我們移植的 busybox 版本有所不同, 因此 telnet 和 nc 支持的命令參數有可能不全或者執行對應的命令之后沒有相關的信息可供參考
深處逆境, 總有辦法絕處逢生
雖然 telnet 和 nc 功能簡配, 但是最基礎的功能還是有的, 我們此時可以再結合 netstat 來實現我們的端口測試
話不多說直接上操作
端口不通的時候
telnet 和 nc 都有對應的提示信息, 有這樣的提醒我們感到很欣慰,因為這個信息能直觀的看到端口是不通的
端口正常的時候
通過上圖可以看出, 執行完命令之后處于阻塞狀態, 但是我們此時不能下結論說這個端口沒問題,我們需要用真實的證據來證明, 此時就用到了netstat -atpn 命令
注意看紅框和黃色箭頭的標注, 我們需要在 Foreign Address 和 PID/Program name 找到我們測試的 IP、端口 和對應的進程名稱, 然后查看 State 狀態是否是 ESTABLISHED狀態,如果是ESTABLISHED 表明端口正常如果不是該狀態表示端口不通
簡單介紹一下 netstat 命令
該命令是是一個監控 TCP/IP 網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息
netstat 命令參數介紹
-a: 顯示所有連接的 Socket
-t: 展示 TCP 連接相關的信息
-p: 就是顯示指定協議的信息
-n: 直接使用 IP, 不經過域名服務器 (優點: 程序響應快, 缺點: 只能看到 IP, 看不到域名信息)
netstat 狀態介紹
簡單介紹一下 state 幾種常見的狀態 ,描述的時候 TCP 在各個時期的狀態
服務器的監聽狀態:
LISTENING: 監聽來自客戶端的 TCP 的連接請求, 只有 TCP 服務器的時候才會有這樣的狀態
TCP 連接時候的三次握手狀態時候的
- 1.SYN-SENT: 發送連接請求后等待匹配的連接請求,客戶端發送連接請求
- 2.SYN-RECEIVED: 再收到和發送一個連接請求后等待對方對連接請求的確認,對方發送回來的確認連接信息
TCP 連接成功的狀態
ESTABLISHED: 一個完整的 TCP 連接建立成功
TCP 斷開連接四次揮手時候的狀態
- 1.FIN-WAIT-1: 等待 TCP 連接中斷請求
- 2.FIN-WAIT-2:TCP 等待連接中斷請求信息
- 3.CLOSE-WAIT: 等待從本地用戶發來的連接中斷請求信息
- 4.CLOSING: 等待 TCP 對連接中斷的確認信息
- 5.LAST-ACK: 等待原來的發向 TCP 的連接中斷請求的確認信息
- 6.TIME-WAIT: 等待一段時間用來確保 TCP 接收到連接中斷請求的確認信息
- 7.CLOSED: 沒有任何連接狀態
-
Linux
+關注
關注
87文章
11229瀏覽量
208927 -
端口
+關注
關注
4文章
955瀏覽量
32014 -
系統網絡
+關注
關注
0文章
3瀏覽量
14532
發布評論請先 登錄
相關推薦
評論