檢視本機的網路狀態。使用netstat檢視網路狀態。顯示系統埠使用情況。UDP型別的埠。TCP型別的埠。只顯示所有監聽埠。只顯示所有監聽tcp埠。
命令使用舉例
命令 | 說明 |
---|---|
netstat -anp | 顯示系統埠使用情況 |
netstat -nupl | UDP型別的埠 |
netstat -ntpl | TCP型別的埠 |
netstat -l | 只顯示所有監聽埠 |
netstat -lt | 只顯示所有監聽tcp埠 |
輸入命令後,輸出裡包含著協定、本地地址、外部地址及狀態資訊
Proto | Local Address | Foreign Address | State |
---|---|---|---|
協定 | 本地地址 | 外部地址 | 狀態 |
各屬性將在後文介紹。
組合命令
netstat -na | grep ESTABLISHED | wc -l
統計已連線上的,狀態為"established"
擷取部分結果
$ netstat -anp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3478 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3478 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp 0 0 172.16.16.13:37432 169.254.0.55:5574 ESTABLISHED -
tcp 0 600 172.16.16.13:22 222.216.195.223:17351 ESTABLISHED -
tcp6 0 0 :::9010 :::* LISTEN 8708/main.js
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ] DGRAM 19037 1744/systemd /run/user/500/systemd/notify
unix 2 [ ACC ] STREAM LISTENING 13532 - /var/lib/lxd/unix.socket
unix 2 [ ACC ] STREAM LISTENING 19038 1744/systemd /run/user/500/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 9722 - /run/udev/control
unix 2 [ ] DGRAM 71848026 - /usr/local/qcloud/YunJing/conf/ydrpc_3
unix 3 [ ] DGRAM 9712 - /run/systemd/notify
$ netstat -nupl
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:3478 0.0.0.0:* -
udp 0 0 0.0.0.0:3478 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 172.16.16.13:123 0.0.0.0:* -
udp 0 0 127.0.0.1:123 0.0.0.0:* -
udp 0 0 0.0.0.0:123 0.0.0.0:* -
udp6 0 0 :::123 :::* -
擷取部分結果
$ netstat -ntpl
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp6 0 0 :::9010 :::* LISTEN 8708/main.js
tcp6 0 0 :::22 :::* LISTEN -
部分結果
$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:3478 *:* LISTEN
tcp 0 0 *:3478 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:https *:* LISTEN
tcp6 0 0 [::]:9010 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
udp 0 0 *:3478 *:*
udp 0 0 *:3478 *:*
udp 0 0 *:bootpc *:*
udp 0 0 172.16.16.13:ntp *:*
udp 0 0 localhost.localdoma:ntp *:*
udp 0 0 *:ntp *:*
udp6 0 0 [::]:ntp [::]:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 13532 /var/lib/lxd/unix.socket
unix 2 [ ACC ] STREAM LISTENING 19038 /run/user/500/systemd/private
部分結果
$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:3478 *:* LISTEN
tcp 0 0 *:3478 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:https *:* LISTEN
tcp6 0 0 [::]:9010 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
各個屬性(標題)含義是什麼?
比如tcp,udp
表示本地緩衝中的資料,這些資料還沒有被程序取走。
一般來說這裡的值是0
對方還沒收到資料,或者還沒ack的資料,還在本地緩衝區中。
如果這裡不能很快清零,可能是我方傳送過快,或者對方接收太慢。
一般來說這裡的值是0
0.0.0.0:80
表示監聽本地伺服器上所有ip的80埠(0.0.0.0表示所有ip)
:::9010
表示監聽本地伺服器上所有ip的9010埠。這裡是IPv6地址。
:::
有3個冒號。前2個是0:0:0:0:0:0:0:0
的縮寫。表示本地所有IPv6地址。
第三個冒號是IP和埠的分隔符號。
127.0.0.1:123
表示監聽本機的loopback(迴環地址)地址的123埠。
形如::1:9011
,表示監聽IPv6的迴環地址的9011埠。
與本地伺服器通訊的另外的地址,顯示規則和上面本地地址的相同。
網路鏈路的狀態。常見 LISTEN,ESTABLISHED 等等
程序id,表示使用這個連線的程序