溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

工作之命令小總結(jié)(4):netstat命令

發(fā)布時間:2020-08-08 05:48:07 來源:網(wǎng)絡(luò) 閱讀:2559 作者:z永 欄目:系統(tǒng)運維

什么是netstat?

如果你手頭有l(wèi)inux系統(tǒng),你直接輸入man netstat,就可以得到幫助信息。man對于netstat的解釋非常言簡意賅,只有一句簡短的描述:

“netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships”

中文意思是:netstat可以用來顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計、偽連接和組播成員。

netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢查本機各端口的網(wǎng)絡(luò)連接情況。netstat是在內(nèi)核中訪問網(wǎng)絡(luò)及相關(guān)信息的程序,它能夠提供TCP連接,TCP和UDP監(jiān)聽,進程內(nèi)存管理的相關(guān)報告。

如果你的計算機有時候收到的數(shù)據(jù)報導(dǎo)致出錯數(shù)據(jù)或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發(fā)數(shù)據(jù)報。但如果累計的出錯情況數(shù)目占到所接受到的IP數(shù)據(jù)報相當大的百分比,或者它的數(shù)目正在迅速增長,那么你就應(yīng)該使用netstat查一查為什么會出現(xiàn)這種情況了。

【命令格式】

netstat [-cCeFghilMnNoprstuvVwx] [-A<網(wǎng)絡(luò)類型>][--ip]

【命令功能】

netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢驗本機各端口的連接情況。

【命令參數(shù)】

-a或-all                                     顯示所有連線中的socket

-A<網(wǎng)絡(luò)類型>或-<網(wǎng)絡(luò)類型>       列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。

-c或-continuous                      持續(xù)列出網(wǎng)絡(luò)狀態(tài)。

-C或-cache                              顯示路由器配置的快取信息。

-e或-extend                             顯示網(wǎng)絡(luò)其它相關(guān)信息。

-F或-fib                                     顯示FIB。

-g或-groups                             顯示多重廣播功能群組組員名單。

-h或-help                                  在線幫助。

-i或-interfaces                         顯示網(wǎng)絡(luò)界面信息表單。

-l或-listening                            顯示監(jiān)控中的服務(wù)器的socket。

-M或-masquerade                   顯示偽裝的網(wǎng)絡(luò)連接。

-n或-numeric                            直接使用IP地址,而不通過域名服務(wù)器。

-N或-netlink或-symbolic          顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號連接名稱。

-o或-timers                               顯示計時器。

-p或-programs                         顯示正在使用的socket的程序識別碼和程序名稱。

-r或-route                                 顯示Routing Table。

-s或-statistice                         顯示網(wǎng)絡(luò)工作信息統(tǒng)計表。

-t或-tcp                                    顯示tcp傳輸協(xié)議的連接狀況。

-u或-udp                                  顯示udp傳輸協(xié)議的連接狀況。

-v或-verbose                          顯示指令執(zhí)行過程。

-V或-version                          顯示版本信息。

-w或-raw                                顯示RAW傳輸協(xié)議的連接狀況。

-x或-unix                                此參數(shù)的效果和指定的“-A unix”參數(shù)相同。

-ip或-inet                                此參數(shù)的效果和指定“-A inet”參數(shù)相同。

【實例展示】

  • netstat

[root@node1 ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State   
tcp        0     52 node1.magedu.com:ssh        172.16.18.2:50297           ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  14     [ ]         DGRAM                    9828   /dev/log
unix  2      [ ]         DGRAM                    7786   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    10754  @/org/freedesktop/hal/udev_event

     本選項從整體上看,netstat的輸出結(jié)果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指的是接收隊列和發(fā)送隊列。這些數(shù)字一般都應(yīng)該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。

另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機通信,性能可以提高一倍)。

Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當前的狀態(tài),Path表示連接到套接口的其它進程使用的路徑名。

狀態(tài)說明:

LISTEN:                 偵聽來自遠方的TCP端口的連接請求

SYN-SENT:            再發(fā)送連接請求后等待匹配的連接請求(如果有大量這樣的狀態(tài)包,檢查是否中招了)

SYN-RECEIVED:    再收到和發(fā)送一個連接請求后等待對方對連接請求的確認(如有大量此狀態(tài),估計被flood***了)

ESTABLISHED:     代表一個打開的連接

FIN-WAIT-1:           等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認

FIN-WAIT-2:           從遠程TCP等待連接中斷請求

CLOSE-WAIT:        等待從本地用戶發(fā)來的連接中斷請求

CLOSING:              等待遠程TCP對連接中斷的確認

LAST-ACK:            等待原來的發(fā)向遠程TCP的連接中斷請求的確認(不是什么好東西,此項出現(xiàn),檢查是否被***)

TIME-WAIT:           等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認

CLOSED:               沒有任何連接狀態(tài)

  • netstat -s

[root@node1 ~]# netstat -s
Ip:
    125329 total packets received
    14383 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    97126 incoming packets delivered
    33554 requests sent out
    10 dropped because of missing route
Icmp:
    457 ICMP messages received
    72 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 457
    373 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 373
IcmpMsg:
        InType3: 457
        OutType3: 373
Tcp:
    139 active connections openings
    20 passive connection openings
    31 failed connection attempts
    23 connection resets received
    1 connections established
    91423 segments received
    32616 segments send out
    73 segments retransmited
    0 bad segments received.
    23 resets sent
Udp:
    56 packets received
    0 packets to unknown port received.
    0 packet receive errors
    492 packets sent
UdpLite:
TcpExt:
    145 packets pruned from receive queue because of socket buffer overrun
    8 ICMP packets dropped because they were out-of-window
    3 TCP sockets finished time wait in fast timer
    183 delayed acks sent
    5 delayed acks further delayed because of locked socket
    Quick ack mode was activated 8 times
    28 packets directly queued to recvmsg prequeue.
    4 packets directly received from prequeue
    81707 packets header predicted
    1925 acknowledgments not containing data received
    708 predicted acknowledgments
    TCPDSACKUndo: 10
    1 congestion windows recovered after partial ack
    0 TCP data loss events
    1 retransmits in slow start
    42 other TCP timeouts
    17054 packets collapsed in receive queue due to low socket buffer
    9 DSACKs sent for old packets
    12 DSACKs received
    1 connections reset due to unexpected data
    19 connections reset due to early user close
    3 connections aborted due to timeout
    TCPSackShiftFallback: 1
    TCPBacklogDrop: 16
IpExt:
    InMcastPkts: 35
    InBcastPkts: 5155
    InOctets: 135205393
    OutOctets: 2321147
    InMcastOctets: 1120
    InBcastOctets: 800085

    本選項能夠按照各個協(xié)議分別顯示其統(tǒng)計數(shù)據(jù)。如果我們的應(yīng)用程序(如web瀏覽器)運行速度比較慢,或者不能顯示web頁之類的數(shù)據(jù),那么我們就可以用本選項來查看一下所顯示的信息。我們需要認真仔細查看統(tǒng)計數(shù)據(jù)的各行,找到出錯的關(guān)鍵字,進而確定問題所在。

  • netstat -e

[root@node1 ~]# netstat -e
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode  
tcp        0     52 node1.magedu.com:ssh        172.16.18.2:50297           ESTABLISHED root       64806   
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  14     [ ]         DGRAM                    9828   /dev/log
unix  2      [ ]         DGRAM                    7786   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    10754  @/org/freedesktop/hal/udev_event
unix  2      [ ]         DGRAM                    64850
unix  2      [ ]         DGRAM                    64713
unix  3      [ ]         STREAM     CONNECTED     57258  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     57257
unix  2      [ ]         DGRAM                    41768
unix  3      [ ]         STREAM     CONNECTED     11830  /var/run/dbus/system_bus_socket

    本選項用于顯示關(guān)于以太網(wǎng)的統(tǒng)計數(shù)據(jù)。它列出來的項目包括傳送的數(shù)據(jù)包的總字節(jié)數(shù)、錯誤數(shù)、刪除數(shù)、數(shù)據(jù)包的數(shù)量和廣播的數(shù)量。這些統(tǒng)計數(shù)據(jù)既有發(fā)送的數(shù)據(jù)報數(shù)量,也有接收的數(shù)據(jù)報數(shù)量。這個選項可以用來統(tǒng)計一些基本的網(wǎng)絡(luò)流量。

  • netstat -r

[root@node1 ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.16.0.0      *               255.255.0.0     U         0 0          0 eth0

    本選項可以顯示關(guān)于路由表的信息,類似于后面所講使用route print命令時看到的信息。除了顯示有效路由外,還顯示當前有效的鏈接。

  • netstat -a

[root@node1 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State   
tcp        0      0 *:sunrpc                    *:*                         LISTEN   
tcp        0      0 *:56818                     *:*                         LISTEN   
tcp        0      0 *:ssh                       *:*                         LISTEN   
tcp        0      0 localhost:ipp               *:*                         LISTEN   
tcp        0      0 localhost:smtp              *:*                         LISTEN   
tcp        0      0 localhost:x11-ssh-offset    *:*                         LISTEN   
tcp        0      0 node1.magedu.com:ssh        172.16.18.2:50297           ESTABLISHED
tcp        0      0 *:sunrpc                    *:*                         LISTEN   
tcp        0      0 *:49906                     *:*                         LISTEN   
tcp        0      0 *:ssh                       *:*                         LISTEN   
tcp        0      0 localhost:ipp               *:*                         LISTEN   
tcp        0      0 localhost:smtp              *:*                         LISTEN   
tcp        0      0 localhost:x11-ssh-offset    *:*                         LISTEN   
udp        0      0 *:sunrpc                    *:*                                  
udp        0      0 *:ipp                       *:*                                  
udp        0      0 *:con                       *:*                                  
udp        0   1536 *:ntp                       *:*                                  
udp        0      0 *:817                       *:*                                  
udp        0      0 *:50398                     *:*                                  
udp        0      0 *:sunrpc                    *:*                                  
udp        0      0 *:con                       *:*                                  
udp        0      0 *:ntp                       *:*                                  
udp        0      0 *:33805                     *:*                                  
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     10732  @/var/run/hald/dbus-LUTxU382Gz
unix  2      [ ACC ]     STREAM     LISTENING     10727  @/var/run/hald/dbus-blwR0z9jUZ
unix  2      [ ACC ]     STREAM     LISTENING     10063  /var/run/rpcbind.sock
unix  2      [ ACC ]     STREAM     LISTENING     11336  public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     10163  /var/run/dbus/system_bus_socket

     本選項顯示一個所有的有效連接信息列表,包含已建立的連接(ESTABLISHED),也包含監(jiān)聽連接請求的哪些連接(LISTENING)。

  • netstat -n

[root@node1 ~]# netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State   
tcp        0     52 172.16.18.7:22              172.16.18.2:50297           ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  14     [ ]         DGRAM                    9828   /dev/log
unix  2      [ ]         DGRAM                    7786   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    10754  @/org/freedesktop/hal/udev_event
unix  2      [ ]         DGRAM                    64850
unix  2      [ ]         DGRAM                    64713
unix  3      [ ]         STREAM     CONNECTED     57258  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     57257
unix  2      [ ]         DGRAM                    41768
unix  3      [ ]         STREAM     CONNECTED     11830  /var/run/dbus/system_bus_socket

    本選項是顯示所有已建立的有效連接。

找出程序運行的端口

[root@node1 ~]# netstat -ap | grep ssh
tcp        0      0 *:ssh                       *:*                         LISTEN      1688/sshd        
tcp        0      0 localhost:x11-ssh-offset    *:*                         LISTEN      20222/sshd       
tcp        0     52 node1.magedu.com:ssh        172.16.18.2:50297           ESTABLISHED 20222/sshd       
tcp        0      0 *:ssh                       *:*                         LISTEN      1688/sshd        
tcp        0      0 localhost:x11-ssh-offset    *:*                         LISTEN      20222/sshd       
unix  2      [ ]         DGRAM                    64850  20222/sshd

查找運行在指定端口的進程

[root@node1 ~]# netstat -anpt | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      20841/httpd


更多的示例這里就不在一一舉出了,更多內(nèi)容將持續(xù)更新!!




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI