溫馨提示×

溫馨提示×

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

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

Linux之網絡管理(8)網絡監控工具

發布時間:2020-05-20 19:38:21 來源:網絡 閱讀:3780 作者:mzfiiooooii4455 欄目:網絡管理

Linux之網絡管理(8)網絡監控工具

linux中有很多查看網絡、進程通信狀態的查看工具,而網絡之間建立通信是通過soket套接字進行的,所謂套接字,就是相當于插座,而一臺主機上會產生多種套接字,就是相當于插頭向插座插入的過程,也就是主機中進程通信。而在網絡中建立通信,就是雙方各種插入對方。當然這些只是粗率的比喻,實際上,soket是用來將tcp/udp等協議發送的數據包進行封裝:也就是相當于食品包裝,把數據包加上port端口號、進程號等然后發送給對方,然后對方根據數據的包裝袋來放回特定需要的數據。這樣網絡之間各種進程直接通信之間互不干擾。就像送快遞和收快遞的一樣,誰的快遞,誰來收,路線就是到你家。

 

linux中提供的工具:

netstat  命令

man 文檔幫助的說明:

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

打印網絡連接、路由表、接口統計、偽裝連接、多播連接等信息。

選項介紹:

netstat  [option]...

          -r   : 顯示路由表

  -t   : 已經建立的tcp協議相關

  -u  :  已經建立的udp協議相關     

          -w  raw  sokect (未包裝處理的)

          -l   : 處于監聽狀態

  -a  : 所有狀態

  -n  : 及數字顯示IP和端口

  -e  : 擴展方式詳細更多狀態信息

  -p  : 顯示相關進程及PID

常用組合使用:

 查明網絡連接:

netstat  -tan    顯示所有tcp相關的連接狀態

netstat  -uan    顯示所有udp相關的連接狀態

netstat  -tnl     顯示所有監聽狀態的tcp連接

netstat  -unl     顯示所有監聽狀態的udp連接

 顯示路由表:

netstat  -rn      不做反向解析顯示內核路由表

 顯示接口統計數據:

 netstat  -i       #顯示所有網絡接口信息狀態

 netstat  -I=FACE_NAME  #顯示指定設備信息狀態

        例子:netstat  -I=eth0  #顯示eth0設備數據連接狀態信息

 

 

 

ss命令

ss - another utility to investigate sockets

這是另一種顯示套接字信息的工具,netstat命令通過遍歷proc 來獲取socket信息,以及是老舊的命令了,ss使用netlink與內核tcp_diga模塊通信獲取socket信息,更加準確。

格式及選項介紹:

ss[option]  [FILTER]

option:

   -t  tcp 協議相關

   -u  udp協議相關

   -w : 裸套接字符相關

   -x  unix sock系統內核相關

   -l  listen監聽狀態的連接

   -a  : 所有連接

   -n  : 數字格式

   -p  : 相關的程序及PID

   -e  : 擴展的信息

   -m  : 內存用量

   -o  : 計時器信息

 

FILTER :  =  [ state TCP-STATE ]  [ EXPRESSION ]

TCP的標準狀態:

       LISTEN :監聽

       ESTABLISHED:已建立的連接

       FIN_WAIT_1

       FIN_WAIT_2

       SYN_SENT

   SYN_RECV

   CLOSED關閉

EXPRESSION

dport =#目標端口

sport =              #源端口

例子:(  dport  =  :ssh  or  sport  = :ssh  )

     

 

常用組合:

ss  -tan#所有tcp連接狀態

ss  -tanl     #所有監聽的tcp狀態

ss  -tanlp    #所有監聽tcp的并顯示進程PID

ss  -uan     #所有udp狀態

 

額外用法:

ssh  -A  QUERY#查看對應類型或協議的狀態,QUERY參數為要指定的類型

QUERY

all,  inet,  tcp,  udp,  raw,  unix,  packet,  netlink,  unix_dgram,  unix_stream,

unix_seqpacket,  packet_raw,  packet_dgram.

 

TCP-STATE中可用的標示符參數:

  所有TCP標準狀態參數

   established,  syn-sent,   syn-recv,  fin-wait-1,  fin-wait-2,  time-wait,  closed,

   close-wait,   last-ack,  listen,  closing.

  復雜狀態參數:

      all              所有的狀態

      connection       所有連接的(除了監聽和關閉的)狀態

      synchronized      所有同步的,除了syn-sent所有連接的狀態

      bucket           所有維護scokectsyn-recv的狀態

      big              所有和bucket相反的狀態

 

案例展示:

顯示本地打開的所有端口  ss  -l

[root@localhost www]# ss -l | tail -n 10

Linux之網絡管理(8)網絡監控工具

解析:udp是沒有狀態的,所以打開的連接會顯示兩個協議所有處于監聽狀態連接

顯示每個進程具體打開的 socket。    

[root@localhost www]# ss -pl | tail -n 10

顯示所有tcp socket             

[root@localhost www]# ss -t -a

Linux之網絡管理(8)網絡監控工具 

顯示所有UDP Socekt

[root@localhost www]# ss -u -a

Linux之網絡管理(8)網絡監控工具

顯示所有已經建立的SMTP連接

[root@localhost www]# ss -o state established  '( dport = :smtp or sport = :smtp )'

顯示所有已經建立的HTTP連接

[root@localhost www]# ss -o state established  '( dport = :http or sport = :http )'

找出所有連接X服務器的進程

[root@localhost www]# ss -x src /tmp/.X11-unix/*

列出當前各協議的各套接字個數

[root@localhost www]# ss -s


向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女