Linux命令之netstat


netstat [address_family_options]  [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [-all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-ports] [--symbolic|-N] [--extend|-e[ --extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c] [delay]

netstat {--route|-r} [address_family_options] [--extend|-e[ --extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-ports] [--continuous|-c] [delay]

netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--verbose|-v] [--program|-p] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-ports] [--continuous|-c] [delay]

netstat {--groups|-g} [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-ports] [--continuous|-c] [delay]

netstat {--masquerade|-M} [--extend|-e] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-ports] [--continuous|-c] [delay]

netstat {--statistics|-s}  [--tcp|-t] [--udp|-u] [--raw|-w] [delay]

netstat {--version|-V}

netstat {--help|-h}

address_family_option(地址族,協議族選項)

[--protocol={inet,inet6,unix,ipx,ax25,netrom,ddp,…}] [--unix|-x] [--inet|-ip] [--ax25] [--ipx] [--netrom] [--ddp]

    netstat打印有關Linux網絡子系統的信息,打印信息類型有第一個參數控制,如下:

none 默認情況下netstat顯示打開的套接字列表。如果未指定任何地址族,則打印所有已配置的地址族的有效套接字。
--route,-r 顯示內核路由表
--groups,-g 顯示IPv4和IPv6的ICMP組播成員關系信息
--interfaces=iface,-I=iface,-i 顯示所有網絡接口或指定iface的表
-masquerade,-M 顯示偽裝連接列表
--statistics,-s 顯示每個協議的摘要統計信息

注意:這個程序已經過時了。netstat的替代是ss。netstat –r的替代是ip route。netstat –i的提到是ip –s link。netstat –g的替代是ip maddr。

(1).選項

--verbose,-v 詳細模式運行。特別是打印一些有關未配置地址族的有用信息。
--numeric,-n 顯示數字形式地址,而不是試圖解析主機、端口或用戶名
--numeric-hosts 顯示數字形式的主機但不影響端口或用戶名的解析
--numeric-ports 顯示數字端口號但不影響主機或用戶名的解析
--numeric-users 顯示數字用戶ID但不影響主機或端口名稱
注意:--numeric的四個選項是決定主機、端口名稱和用戶名是否使用數字形式,對應的是IP地址、端口號和用戶ID。
--protocol=family,-A 指定要顯示連接的地址族(可能描述為底層協議更好)。family以逗號(’,’)分隔的地址族列表,如inet,inet6,unix,ipx,ax25,netrom和ddp。這與使用—inet,--inet6,--unix(-x),--ipx,--ax25,--netrom和—ddp選項具有相同的效果。地址族inet包括raw,udp和tcp協議套接字
-c,--continuous 連續打印所選信息
-e,--extend 顯示附加信息。使用此選項兩次獲得所有細節
-o,--timers 包含與網絡計時器相關的信息
-p,--program 顯示每個套接字所屬程序的PID和名稱
-l,--listening 僅顯示監聽套接字(默認)
-a,-all 顯示監聽和非監聽(對於TCP意味着已經建立連接)的套接字。和--interface選項一起使用,顯示未標記的端口
-F 打印來自FIB的路由信息(默認)。
-C 從路由緩存中打印路由信息
-Z,--context 如果SELinux啟用了,打印SELinux上下文
-T,--notrim 停止修剪長地址
delay netstat每過delay秒循環打印一次。

(2).實例

 1)netstat無參數使用

[xf@xuexi ~]$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    11048    /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    9559     /run/systemd/notify
unix  2      [ ]         DGRAM                    9561     /run/systemd/cgroups-agent
unix  5      [ ]         DGRAM                    9578     /run/systemd/journal/socket
unix  24     [ ]         DGRAM                    9580     /dev/log
unix  2      [ ]         DGRAM                    17135    /var/run/chrony/chronyd.sock

2)顯示所有已監聽和未監聽的端口

 netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 xuexi:domain            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:53762           0.0.0.0:*                          
udp        0      0 0.0.0.0:856             0.0.0.0:*                          
udp        0      0 xuexi:domain            0.0.0.0:*                          
udp        0      0 0.0.0.0:bootps          0.0.0.0:*                          
udp        0      0 0.0.0.0:sunrpc          0.0.0.0:*                          
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:856                [::]:*                             
udp6       0      0 [::]:sunrpc             [::]:*                             
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     41923    @/tmp/dbus-sNY2JwlC
unix  2      [ ACC ]     STREAM     LISTENING     30567    @/tmp/.ICE-unix/1913
unix  2      [ ACC ]     STREAM     LISTENING     27850    /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     27849    @/tmp/.X11-unix/X0

說明:

1、Active Internet connections (servers and established)/活動的Internet網絡連接(TCP,UDP,raw):

Proto 套接字使用的協議

Recv-Q 連接此套接字的用戶程序未拷貝的字節數

Send-Q 遠程主機未確認的字節數

Local Address 套接字的本地地址(本地主機名)和端口號。除非給定-n,--numeric選項,否則套接字地址按標准主機名(FQDN)進行解析,而端口到則轉換到相應的服務名。

Foreign Address 套接字的遠程地址(遠程主機名)和端口號。

State 套接字的狀態。因為在RAW協議中沒有狀態,而且UDP也不用狀態信息,所以此行留空。通常為以下幾個值之一:

    ESTABLISHED 套接字有一個有效連接

    SYN_SENT 套接字嘗試建立一個連接

    SYN_RECV 從網絡上收到一個連接請求

    FIN_WAIT1 套接字已關閉,連接正在斷開

    FIN_WAIT2 連接已關閉,套接字等待遠程方中止。

 TIME_WAIT 在關閉之后,套接字等待處理仍然在網絡中的分組

 CLOSED 套接字未用

 CLOSE_WAIT 遠程方已關閉,等待套接字關閉

 LAST_ACK 遠程方中止,套接字已關閉。等待確認

 LISTEN 套接字監聽進來的連接。如果不設置—listening(-l)或者—all(-a)選項,將不顯示出來這些連接。

 CLOSING 套接字都已關閉,而還未把所有輸出發出

 UNKNOWN 套接字狀態未知

User 套接字屬主的名稱或UID

PID/Program name 以斜線分隔的處理套接字程序的PID及進程名。--program使此欄目被顯示.你需要superuser權限來查看不是你擁有的套接字的信息。對於IPX套接字還無法獲得此信息。

2、Active UNIX domain sockets (servers and established)/活動的Unix域套接字:

Proto 套接字使用的協議(通常是unix)

RefCnt 使用數量(也就是通過此套接字連接的進程數)

Flags 顯示的標志為SO_ACCEPTON(顯示為ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。如果相應的進程等待一個連接請求,那么SO_ACCECPTON用於未連接的套接字。其他標志通常並不重要

Type 套接字使用的一些類型:

    SOCK_DGRAM 此套接字用於數據報(無連接)模式

    SOCK_STREAM 流模式(連接)套接字
    SOCK_RAW 此套接字用於RAW模式

 SOCK_RDM 一種服務可靠性傳遞信息

 SOCK_SEQPACKET 連續分組套接字

 SOCK_PACKET RAW接口使用套接字

 UNKNOWN 未知

State 此字段包含以下關鍵字之一:

    FREE 套接字未分配

 LISTENING 套接字正在監聽一個連接請求。除非設置--listening(-l)或者--all(-a)選項,否則不顯示。

 CONNECTING 套接字正要建立連接

 CONNECTED套接字已連接

 DISCONNECTING 套接字已斷開

 (empty) 套接字未連。

 UNKNOWN !不應當出現這種狀態

PID/Program name 處理此套接字的程序進程名和PID。

Path 當相應進程連入套接字時顯示路徑名

3)顯示已建立的UDP連接

[xf@xuexi ~]$ netstat -nu  //-n顯示數字形式的主機地址,端口號和用戶ID;-u是UDP
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
[xf@xuexi ~]$ netstat -anu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:53762           0.0.0.0:*                          
udp        0      0 0.0.0.0:856             0.0.0.0:*                          
udp        0      0 192.168.122.1:53        0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp        0      0 0.0.0.0:111             0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*                               
udp6       0      0 :::856                  :::*                               
udp6       0      0 :::111                  :::*  

4)顯示已建立的TCP連接

[xf@xuexi ~]$ netstat -nt  //-t是TCP
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
[xf@xuexi ~]$ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN  

5)顯示UDP端口使用情況

[xf@xuexi ~]$ netstat -nupa   //沒有root權限
(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    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -                   
udp        0      0 127.0.0.1:323           0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:53762           0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:856             0.0.0.0:*                           -                   
udp        0      0 192.168.122.1:53        0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:67              0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           -                   
udp6       0      0 ::1:323                 :::*                                -                   
udp6       0      0 :::856                  :::*                                -                   
udp6       0      0 :::111                  :::*                                -                 
[xf@xuexi ~]$ su root
密碼:
[root@xuexi xf]# netstat -nupa  //有root權限
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           727/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           708/chronyd         
udp        0      0 0.0.0.0:53762           0.0.0.0:*                           727/avahi-daemon: r 
udp        0      0 0.0.0.0:856             0.0.0.0:*                           689/rpcbind         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1441/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1441/dnsmasq        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           689/rpcbind         
udp6       0      0 ::1:323                 :::*                                708/chronyd         
udp6       0      0 :::856                  :::*                                689/rpcbind         
udp6       0      0 :::111                  :::*                                689/rpcbind     

6)顯示網卡列表

[xf@xuexi ~]$ 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   330372      0      0 0         41459      0      0      0 BMRU
lo       65536       32      0      0 0            32      0      0      0 LRU
virbr0    1500        0      0      0 0             0      0      0      0 BMU

注意:從linux2.2內核開始netstat -i不再顯示別名接口的統計信息。要獲得每個別名接口的計數器,則需要使用ipchains命令。

7)顯示路由表信息

[xf@xuexi ~]$ 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.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
192.168.128.0   0.0.0.0         255.255.255.0   U         0 0          0 ens33
[xf@xuexi ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.128.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

8)顯示網絡統計信息

[xf@xuexi ~]$ netstat -s
Ip:
    78191 total packets received
    0 forwarded
    0 incoming packets discarded
    69729 incoming packets delivered
    41276 requests sent out
    7 outgoing packets dropped
    130 dropped because of missing route
Icmp:
    21 ICMP messages received
    2 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 16
        echo requests: 5
    65 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 62
        echo replies: 3
IcmpMsg:
        InType3: 16
        InType8: 5
        OutType0: 3
        OutType3: 62
Tcp:
    16 active connections openings
    0 passive connection openings
    0 failed connection attempts
    0 connection resets received
    0 connections established
    69351 segments received
    40743 segments send out
    17 segments retransmited
    0 bad segments received.
    0 resets sent
Udp:
    341 packets received
    16 packets to unknown port received.
    0 packet receive errors
    444 packets sent
    0 receive buffer errors
    0 send buffer errors
UdpLite:
TcpExt:
    11 TCP sockets finished time wait in fast timer
    43 delayed acks sent
    1 delayed acks further delayed because of locked socket
    Quick ack mode was activated 3 times
    59462 packet headers predicted
    15 acknowledgments not containing data payload received
    5 predicted acknowledgments
    2 other TCP timeouts
    TCPLossProbes: 2
    3 DSACKs sent for old packets
    1 DSACKs sent for out of order packets
    2 connections aborted due to timeout
    TCPRcvCoalesce: 12110
    TCPOFOQueue: 8637
    TCPOFOMerge: 1
    TCPAutoCorking: 1
    TCPOrigDataSent: 46
IpExt:
    InMcastPkts: 1130
    OutMcastPkts: 61
    InBcastPkts: 7252
    InOctets: 108288305
    OutOctets: 2372940
    InMcastOctets: 176024
    OutMcastOctets: 9051
    InBcastOctets: 789592
    InNoECTPkts: 80551

(3).相關文件

 /etc/services 服務解釋文件

/proc proc文件系統的掛載點。proc文件系統通過下列文件給出了內核狀態信息。

/proc/net/dev 設備信息

/proc/net/raw RAW套接字信息

/proc/net/tcp TCP套接字信息

/proc/net/udp UDP套接字信息

/proc/net/igmp IGMP組播信息

/proc/net/unix Unix域套接字信息

/proc/net/ipx IPX套接字信息

/proc/net/ax25 AX25套接字信息

/proc/net/appletalk DDP(appletalk)套接字信息

/proc/net/nr NET/ROM套接字信息

/proc/net/route IP路由信息

/proc/net/ax25_route AX25路由信息

/proc/net/ipx_route IPX路由信息

/proc/net/nr_nodes NET/ROM節點列表

/proc/net/nr_neigh NET/ROM鄰站

/proc/net/ip_masquerade 偽裝連接

/proc/net/snmp 統計


免責聲明!

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



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