netstat


netstat使用

   命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態,masquerade 連接,多播成員等, 文本演示

輸出格式

jarvis@Jarvis:~$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 10.141.31.209:http      223.104.188.182:52153   ESTABLISHED
tcp        0      0 10.141.31.209:43140     10.174.231.167:5574     ESTABLISHED
tcp        0      0 10.141.31.209:http      117.136.94.169:27249    ESTABLISHED
tcp        0      0 10.141.31.209:http      223.104.190.12:51091    ESTABLISHED
tcp        0      0 10.141.31.209:http      223.104.190.12:29270    ESTABLISHED
tcp        0      0 localhost.localdo:mysql localhost.localdo:44134 ESTABLISHED
...
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    17397    /run/user/500/systemd/notify
unix  3      [ ]         DGRAM                    9700     /run/systemd/notify
unix  10     [ ]         DGRAM                    9716     /run/systemd/journal/dev-log
unix  2      [ ]         DGRAM                    9719     /run/systemd/journal/syslog

  輸出結果主要分為兩部分

  1. Active Internet connections, 即有源TCP連接, 其中 Recv-QSend-Q 指%0A的是接收隊列和發送隊列. 這些數字一般都應該是0. 如果不是則表示軟件包正在隊列中堆積.
  2. Active UNIX domain sockets, 稱為有源Unix域套接口(用於本地的進程/線程間socket連接信息), Proto為連接使用的協議, RefCnt表示連接到本套接口上的進程號, Types顯示套接口的類型(流式套接字SOCK_STREAM、數據包套接字SOCK_DGRAMSOCK_SEQPACKET和原始套接字), State顯示套接口當前的狀態,Path表示連接到套接口的其他進程使用的路徑名.

常見參數

  1. {-a|--all} 顯示所有選項, 默認不顯示udp協議和State值為LISTEN信息而State值為ESTABLISHED是顯示的已連接到改端口的信息
  2. {-c|--continuous} 每隔一個固定時間,執行該netstat命令。
  3. {-e|--expansion} 顯示擴展信息,例如uid等
  4. {-l|--listen} 僅列出有在 Listen (監聽) 的服務狀態
  5. {-n|--numeric} 拒絕顯示別名,能顯示數字的全部轉化成數字。
  6. {-p|--program} 顯示建立相關鏈接的程序名
  7. {-r|--router} 顯示路由信息,路由表
  8. {-s|--statistic} 按各個協議進行統計
  9. {-t|--tcp} 僅顯示tcp相關選項
  10. {-u|--udp} 僅顯示udp相關選項
  11. {-x|--unix} 僅顯示unix相關選項 提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

Useful

  1. {-r|--route}: Display the kernel routing tables

    jarvis@Jarvis:~$ netstat -r
    Kernel IP routing table
    Destination Gateway Genmask Flags MSS Window irtt Iface
    default 10.141.0.1 0.0.0.0 UG 0 0 0 eth0
    10.141.0.0 * 255.255.192.0 U 0 0 0 eth0
    • Destination 目的網絡或主機
    • Gateway 經過網關
    • Genmask 目標網絡的網絡掩碼
    • Flags 路由flag

      • A 被addrconf安裝
      • C 緩存記錄
      • D 路由表的條目是由ICMP重定向消息生成的
      • H 目標是一台主機
      • G 路由使用網關
      • M 路由表條目已被ICMP重定向消息修改
      • R 動態路由復原
      • S 此路由為手動添加
      • U 路由可用
      • W 由一個條目Clone而來
      • ! 拒絕路由
    • MSS(Maximum Segment Size) 最大分段尺寸, 也是內核所構建以通過該路由發送的數據報的最大尺寸

    • Window 系統一次從遠程主機接收突發的最大量數據

    • irtt(initial round trip tim) 初始往返時間

    • Iface 網絡接口名稱

  2. {-g|--groups} Display multicast group membership information for IPv4 and IPv6.

    jarvis@Jarvis:~$ netstat -g
    IPv6/IPv4 Group Memberships
    Interface RefCnt Group
    #------------------------------------------
    lo 1 all-systems.mcast.net
    eth0 1 all-systems.mcast.net
    lo 1 ip6-allnodes
    lo 1 ff01::1
    eth0 1 ip6-allnodes
    eth0 1 ff01::1
  3. {-i|--interfaces} Display a table of all network interfaces.

    jarvis@Jarvis:~$ netstat -i
    Kernel Interface table
    Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth1 1500 0 0 0 0 0 0 0 0 BMRU
    eth2 1500 0 0 0 0 0 0 0 0 BMRU
    eth3 1500 0 0 0 0 0 0 0 0 BMRU
    lo 1500 0 0 0 0 0 0 0 0 LRU
    wifi0 1500 0 0 0 0 0 0 0 0 BMRU
    • Iface 網絡接口名稱
    • MTU(Maximum Trasmission Unit) 最大傳輸單元
    • RX-OK 接收時, 正確的數據包數
    • RX-ERR 接收時, 產生錯誤的數據包數
    • RX-DRP 接收時, 丟棄的數據包數
    • RX-OVR 接收時, 由於過速而丟失的數據包數
    • TX-OK 發送時,正確的數據包數
    • TX-ERR 發送時,產生錯誤的數據包數
    • TX-DRP 發送時,丟棄的數據包數
    • TX-OVR 發送時,由於過速而丟失的數據包數
    • Flg 標志
      • B 已經設置了一個廣播地址
      • L 該接口是一個回送設備
      • M 接收所有數據包(混亂模式)
      • N 避免跟蹤
      • O 在該接口上,禁用ARP
      • P 這是一個點到點鏈接
      • R 接口正在運行
      • U 接口處於“活動”狀態

參考資料

  1. Linux netstat命令詳解
  2. Linux學習:netstat命令
  3. Socket 的功能 和 套接字的三種類型
  4. [TCPIP] IP路由表及選路 Note
  5. “genmask”和“netmask”之間的區別
  6. netstat -i FLG含義
  7. netstat -i 和ifconfig -s的輸出解釋


免責聲明!

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



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