10.7 netstat:查看网络状态
netstat命令
用于顯示本機網絡的連接狀態、運行端口和路由表等信息。
netstat命令的參數選項及說明
-r 顯示路由表信息,該功能類似于前面學過的route 和ip route
-g 顯示多播功能群組成員,該功能類似于前面學過的ip maddr
-i 顯示網絡接口信息,該功能類似于前面學過的ip -s link
-s 顯示各類協議的統計信息
-n 顯示數字形式的地址而不是去解析主機、端口或用戶名。默認情況下,netstat命令會嘗試解析并顯示主機的主機名,這個過程通常比較長也是非必需的
-a 顯示處于監聽狀態和非監聽狀態的socket信息
-A 顯示指定網絡類型的網絡連接狀態
-c<秒數> 后面跟的秒數表示每隔幾秒就刷新顯示一次
-l 僅顯示連接狀態為“LISTEN”的服務的網絡狀態
-t 顯示所有的TCP連接情況
-u 顯示所有的UDP連接情況
-p 顯示socket所屬進程的PID和名稱
常用選項組合(一)
[root@cs6 ~]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 64 10.0.0.100:22 10.0.0.1:2827 ESTABLISHED tcp 0 0 10.0.0.100:22 10.0.0.1:6358 ESTABLISHED tcp 0 0 :::22 :::* LISTEN tcp 0 0 ::1:25 :::* LISTEN Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 8 [ ] DGRAM 12335 /dev/log unix 2 [ ACC ] STREAM LISTENING 12689 public/cleanup unix 2 [ ACC ] STREAM LISTENING 12697 private/tlsmgr unix 2 [ ACC ] STREAM LISTENING 12702 private/rewrite unix 2 [ ACC ] STREAM LISTENING 12706 private/bounce unix 2 [ ACC ] STREAM LISTENING 12710 private/defer unix 2 [ ACC ] STREAM LISTENING 12714 private/trace unix 2 [ ACC ] STREAM LISTENING 12718 private/verify unix 2 [ ACC ] STREAM LISTENING 12722 public/flush unix 2 [ ACC ] STREAM LISTENING 12726 private/proxymap?
針對該命令的第一行內容進行了說明。
第一行活動網絡連接說明
第一列 Proto socket使用的協議(TCP、UDP、RAW)
第二列 Recv-Q 接收到但是還未處理的字節數
第三列 Send-Q 已經發送但是未被遠程主機確認收到的字節數
第四列 Local Address 本地主機地址和端口
第五列 Foreign Address 遠程主機地址和端口
第六列 State socket的狀態,通常僅僅有TCP的狀態,狀態值可有ESTABLISHED、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT等
第6列 State狀態信息詳解
ESTABLISHED socket已經建立連接,表示處于連接的狀態,一般認為有一個ESTABLISHED 是一個服務的并發連接。
該連接狀態在生產場景中很重要,需要重點關注
SYN_SENT socket正在積極嘗試建立一個連接,即處于發送后連接前的一個等待但未匹配進入連接的狀態
SYN_RECV 已經從網絡上收到一個連接請求
FIN_WAIT1 socket已關閉,連接正在或正要關閉
FIN_WAIT2 連接已關閉,并且socket正在等待遠端結束
TIME_WAIT socket正在等待關閉處理仍在網絡上的教據包,這個連接狀態在生產場景中很重要,需要重點關注
CLOSED socket不再被占用了
CLOSE_WAIT 遠端已經結束,等待socket關閉
LAST_ACK 遠端已經結束,并且socket也已關閉,等待acknowledgement
LISTEN socket正在監聽連接請求
CLOSING socket關閉,但是我們仍舊沒有發送數據
UNKNOWN socket狀態未知
常用選項組合(二)
以上命令語句的作用為顯示所有TCP和UDP正在監聽的連接信息。
-l:顯示所有LISTEN狀態的網絡連接。
-n:顯示IP地址,不進行DNS解析成主機名、域名。
-t:顯示所有TCP連接。
-u:顯示所有UDP連接。
-p:顯示進程號和進程名。
顯示當前系統的路由表
[root@cs6 ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 10.1.0.0 10.0.0.253 255.255.255.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 eth0選項-i顯示網絡的接口狀況。
[root@cs6 ~]# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 5405 0 0 0 3518 0 0 0 BMRU eth1 1500 0 0 0 0 0 18 0 0 0 BMRU lo 65536 0 0 0 0 0 0 0 0 0 LRU以下是命令結果解釋。
lface:表示網絡設備的接口名稱。
MTU:表示最大傳輸單元,單位為字節。
RX-OK/TX-OK:表示已經準確無誤地接收/發送了多少數據包。
RX-ERR/TX-ERR:表示接收/發送數據包時產生了多少錯誤。
RX-DRP/TX-DRP:表示接收/發送數據包時丟棄了多少數據包。
RX-OVR/TX-OVR:表示由于誤差而遺失了多少數據包。
Flg:表示接口標記,其中各標記含義具體如下。
L:表示該接口是個回環設備。
B:表示設置了廣播地址。
M:表示接收所有數據包。
R:表示接口正在運行。
U:表示接口處于活動狀態。
o:表示在該接口上禁用arp。
P:表示一個點到點的連接。
正常情況下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都應該為0,如果這幾個選項的值不為0,并且很大,那么網絡質量肯定有問題,網絡傳輸性能也一定會下降。
[root@bzhl ~]# netstat -n|awk '/^tcp/ {++lewen[$NF]} END {for (a in lewen) print a ,lewen[a]}'
ESTABLISHED 5
TIME_WAIT 1
轉載于:https://www.cnblogs.com/fadewalk/p/10839152.html
總結
以上是生活随笔為你收集整理的10.7 netstat:查看网络状态的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: windows——celery
- 下一篇: 用variant的数据来推导基因表达 |