Linux.Netstat


http://domain.yqjdcyy.com/post/linux.netstat/

1 Netstat

1.1 作用

  • 可於內核中訪問網絡連接狀態及其相關信息
  • 用於顯示網絡連接、路由表和每個網絡接口設備的狀態信息

1.2 格式

  • netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]

1.3 參數

參數 作用
-a/-all 顯示所有socket,不論是否正在監聽
-c/-continuous 持續每秒進行選中信息的輸出顯示
-i/-interfaces=iface 顯示所有的網絡接口
-n/-numeric 以數值地址形式進行展示
-r/-route 顯示內核路由表,同 route -e
-t/-tcp 顯示 TCP 協議的連接情況
-u/-udp 顯示 UDP 協議的連接情況
-v/-verbose 詳細顯示正在進行的工作
-p/-program 顯示套接字關聯的程序名稱和 PID
-e/-extend 顯示額外信息,如 uid 等
若連續兩次調用則顯示最大程度明細
-o/-timers 顯示與網絡計時器相關的信息
-s/-statistics 展示每個協議的摘要統計
-l/-listening 僅顯示監聽中的套接字

1.4 序列圖

  • TCP.jpg
  • TCP-2.jpg

1.5 輸出

1.5.1 State

State Desc
LISTENING 正在監聽端口
SYNC_SEND 已發送 SYN 報文等待連接請求建立
SYNC_RECEIVED 已接收 SYN 報文的連接請求后,發送 SYN 回包后的
ESTABLISHED 連接已建立,開始進行數據傳輸
CLOSE_WAIT 服務端等待關閉
回應客戶端的 FIN報文以 ACK報文,無后綴則關閉 Socket 並發送 FIN 報文
FIN_WAIT_1 客戶端請求斷開,發送 FIN 報文后的等待狀態
由於服務端響應及時,觀察頻率低
FIN_WAIT_2 客戶端等待數據傳輸完成后,服務端發送FIN報文確認的過程
半連接
LAST_ACK 被動關閉方等待最終 ACK 報文的確認
TIME_WAIT 接收 FIN 並返回 ACK 報文后,等待 2MSL 后返回 CLOSED 狀態
CLOSING 等待遠程 TCP 對連接的確認
CLOSED 無連接狀態鏈路

1.6 示例

1.6.1 過濾 TCP 連接統計

  • netstat -nat |awk '{print $6}'| sort | uniq -c

1.6.2 查詢指定端口的 TCP 連接數

  • netstat -ant | grep -i "80" | wc -l

1.6.3 已連接鏈路數

  • netstat -an | grep ESTABLISHED | wc -l

2 參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM