天天學一個 Linux 命令(65):netstat

推薦閱讀:天天學一個 Linux 命令(64):ifconfig服務器

命令簡介

netstat(network statistics) 是一個命令行工具,它用來顯示網絡鏈接(傳入和傳出),路由表和許多網絡接口(網絡接口控制器或軟件定義的網絡接口)和網絡協議統計信息。也可用於查找網絡中的問題,打印 Linux 中網絡系統的狀態信息,查看整個 Linux 系統的網絡狀況。網絡

netstat 的使用平很廣,包括 OS X、Linux、Solaris 和 BSD,以及基於 Windows NT 的操做系統,包括 Windows XP、Windows Vista、Windows 7/8/10。ssh

語法格式

netstat { xxx } [ OPTIONS ]

選項說明

-a或--all    #顯示全部的網絡鏈接信息
-A<網絡類型>  #顯示該網絡類型連線中的相關地址
-c或--continuous  #持續列出網絡狀態信息
-C或--cache  #顯示路由器配置的快取信息
-e或--extend  #顯示網絡其餘相關信息
-g或--groups  #顯示多播功能羣組信息
-h或--help    #打印在線幫助信息
-i或--interfaces  #顯示網絡界面信息表單
-l或--listening   #顯示監控中的服務器的Socket
-M或--masquerade  #顯示假裝的網絡連線
-n或--numeric     #直接使用ip地址
-N或--netlink    #顯示網絡硬件外圍設備的符號鏈接名稱
-o或--timers     #顯示計時器
-r或--route      #顯示Routing Table
-s或--statistice   #顯示全部端口的狀態統計信息
-t或--tcp   #顯示TCP傳輸協議的鏈接狀態
-u或--udp   #顯示UDP傳輸協議的鏈接狀態
-v或--verbose  #顯示指令執行過程信息
-V或--version  #顯示版本信息
-w或--raw      #顯示RAW傳輸協議的連線情況
-x或--unix    #此參數與"-A unix"參數結果相同
--ip或--inet  #此參數與"-A inet"參數結果 相同

應用舉例

列出端口socket

##列出全部端口
[root@CentOS7-1 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 localhost:8125          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:dnp-sec         0.0.0.0:*               LISTEN     
tcp        0     52 CentOS7-1:ssh           192.168.1.93:58049      ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
tcp6       0      0 localhost:8125          [::]:*                  LISTEN     
tcp6       0      0 [::]:dnp-sec            [::]:*                  LISTEN     
udp        0      0 localhost:8125          0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp6       0      0 localhost:8125          [::]:*                             
udp6       0      0 localhost:323           [::]:*                             
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7          
#列出全部tcp端口
[root@CentOS7-1 ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 localhost:8125          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:dnp-sec         0.0.0.0:*               LISTEN     
tcp        0     52 CentOS7-1:ssh           192.168.1.93:58049      ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
tcp6       0      0 localhost:8125          [::]:*                  LISTEN     
tcp6       0      0 [::]:dnp-sec            [::]:*                  LISTEN     
#列出全部UDP端口
[root@CentOS7-1 ~]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 localhost:8125          0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp6       0      0 localhost:8125          [::]:*                             
udp6       0      0 localhost:323           [::]:*                  
#列出全部處於監聽狀態的 Sockets
netstat -l        #只顯示監聽端口
netstat -lt       #只列出全部監聽 tcp 端口
netstat -lu       #只列出全部監聽 udp 端口
netstat -lx       #只列出全部監聽 UNIX 端口
 
#顯示每一個協議的統計信息
netstat -s    #顯示全部端口的統計信息
netstat -st   #顯示TCP端口的統計信息
netstat -su   #顯示UDP端口的統計信息

顯示路由表信息tcp

[root@CentOS7-1 ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 ens33
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 ens33
[root@CentOS7-1 ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 ens33
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 ens33

顯示接口列表工具

[root@CentOS7-1 ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    48619      0      5 0          7246      0      0      0 BMRU
lo              65536     1730      0      0 0          1730      0      0      0 LRU

分組查看各類鏈接狀態操作系統

[root@CentOS7-1 ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LAST_ACK 5 (正在等待處理的請求數) 
SYN_RECV 3  
ESTABLISHED 10 (正常數據傳輸狀態) 
FIN_WAIT2 5
TIME_WAIT 313 (處理完畢,等待超時結束的請求數)

顯示鏈接數.net

[root@CentOS7-1 ~]# netstat -an |grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0     52 192.168.1.100:22        192.168.1.93:58049      ESTABLISHED
tcp6       0      0 :::22 
[root@CentOS7-1 ~]# netstat -an |grep :22 |wc -l
3

經過端口找進程ID命令行

[root@CentOS7-1 ~]# netstat -anp | grep 58049
tcp        0     52 192.168.1.100:22        192.168.1.93:58049      ESTABLISHED 1350/sshd: root@pts 
[root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED
tcp        0     52 192.168.1.100:22        192.168.1.93:58049      ESTABLISHED 1350/sshd: root@pts 
[root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED |awk '{print $7}'
1350/sshd:
[root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED |awk '{print $7}' |cut -d/ -f1
1350

查看鏈接某個端口最多的IP地址unix

[root@CentOS7-1 ~]# netstat -ntu | grep :58049 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"t",i}' | sort -nr
1   192.168.1.93
[root@CentOS7-1 ~]# netstat -ntu | grep :22 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"t",i}' | sort -nr
1   192.168.1.93

顯示全部端口的狀態統計信息

[root@CentOS7-1 ~]# netstat -s
Ip:
    15146 total packets received
    0 forwarded
    0 incoming packets discarded
    15146 incoming packets delivered
    3885 requests sent out
    8 dropped because of missing route
Icmp:
    4 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 4
    44 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 44
IcmpMsg:
        InType3: 4
        OutType3: 44
Tcp:
    863 active connections openings
    1 passive connection openings
    858 failed connection attempts
    0 connection resets received
    1 connections established
    5021 segments received
    3772 segments send out
    0 segments retransmited
    0 bad segments received.
    858 resets sent
Udp:
    200 packets received
    44 packets to unknown port received.
    0 packet receive errors
    246 packets sent
    0 receive buffer errors
    0 send buffer errors
UdpLite:
TcpExt:
    1 TCP sockets finished time wait in fast timer
    35 delayed acks sent
    1 packets directly queued to recvmsg prequeue.
    1362 packet headers predicted
    438 acknowledgments not containing data payload received
    1160 predicted acknowledgments
    TCPRcvCoalesce: 9
    TCPOrigDataSent: 1719
IpExt:
    InBcastPkts: 10042
    InOctets: 4159848
    OutOctets: 329931
    InBcastOctets: 3778680
    InNoECTPkts: 15150

顯示多播組信息

[root@CentOS7-1 ~]# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      all-systems.mcast.net
ens33           1      all-systems.mcast.net
lo              1      ff02::1
lo              1      ff01::1
ens33           1      ff02::1:ff4e:26b0
ens33           1      ff02::1:ff01:b5bb
ens33           1      ff02::1
ens33           1      ff01::1

天天學一個 Linux 命令(62):ping

天天學一個 Linux 命令(63):route

相關文章
相關標籤/搜索