日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 监控命令之 netstat

發布時間:2023/12/20 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 监控命令之 netstat 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

netstat命令用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。

?

常用參數

  • -a (all)顯示所有選項,默認不顯示LISTEN相關
  • -t (tcp)僅顯示tcp相關選項
  • -u (udp)僅顯示udp相關選項
  • -n 拒絕顯示別名,直接使用ip地址,而不通過域名服務器。
  • -l 僅列出有在 Listen (監聽) 的服務狀態
  • -p 顯示建立相關鏈接的程序名
  • -r 顯示路由信息,路由表
  • -e 顯示擴展信息,例如uid等
  • -s 按各個協議進行統計
  • -c 每隔一個固定時間,執行該netstat命令。
  • 提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

命令展示

從整體上看,netstat的輸出結果可以分為兩個部分:

  • 一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。
  • 另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是只能用于本機通信,性能可以提高一倍)。
  • Proto顯示連接使用的協議,
  • RefCnt表示連接到本套接口上的進程號,
  • Types顯示套接口的類型,
  • State顯示套接口當前的狀態,
  • Path表示連接到套接口的其它進程使用的路徑名。
  • 套接口類型:

    • -t :TCP
    • -u :UDP
    • -raw :RAW類型
    • --unix :UNIX域類型
    • --ax25 :AX25類型
    • --ipx :ipx類型
    • --netrom :netrom類型

    狀態說明:

    • LISTEN:偵聽來自遠方的TCP端口的連接請求
    • SYN-SENT:再發送連接請求后等待匹配的連接請求(如果有大量這樣的狀態包,檢查是否中招了)
    • SYN-RECEIVED:再收到和發送一個連接請求后等待對方對連接請求的確認(如有大量此狀態,估計被flood攻擊了)
    • ESTABLISHED:代表一個打開的連接
    • FIN-WAIT-1:等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
    • FIN-WAIT-2:從遠程TCP等待連接中斷請求
    • CLOSE-WAIT:等待從本地用戶發來的連接中斷請求
    • CLOSING:等待遠程TCP對連接中斷的確認
    • LAST-ACK:等待原來的發向遠程TCP的連接中斷請求的確認(不是什么好東西,此項出現,檢查是否被攻擊)
    • TIME-WAIT:等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
    • CLOSED:沒有任何連接狀態

    實用命令實例

    1. 列出所有端口 (包括監聽和未監聽的)

    列出所有端口: netstat -a 列出所有tcp端口: netstat -at 列出所有udp端口: netstat -au

    2. 列出所有處于監聽狀態的 Sockets

    只顯示監聽端口: netstat -l 只列出所有監聽tcp端口: netstat -lt 只列出所有監聽udp端口: netstat -lu 只列出所有監聽UNIX端口: netstat -lx

    3. 顯示每個協議的統計信息

    顯示所有端口的統計信息 netstat -s

    顯示 TCP 或 UDP 端口的統計信息 netstat -st 或 -su

    4. 顯示 PID 和進程名稱

    netstat -p 可以與其它開關一起使用,就可以添加 “PID/進程名稱” 到 netstat 輸出中,這樣 debugging 的時候可以很方便的發現特定端口運行的程序。

    5. 不顯示主機,端口和用戶名 (host, port or user)

    當你不想讓主機,端口和用戶名顯示,使用 netstat -n。將會使用數字代替那些名稱。該參數可以加速output的輸出,因為不用進行比對查詢。

    6. 持續輸出 netstat 信息

    netstat 將每隔一秒輸出網絡信息。 netstat -t -c 2

    7. 顯示系統不支持的地址族 (Address Families)

    netstat --verbose

    8. 顯示核心路由信息

    netstat -rn # 注意: 使用 netstat -rn 顯示數字格式,不查詢主機名稱,效果等價于route -n

    9. 找出程序運行的端口

    并不是所有的進程都能找到,沒有權限的會不顯示,使用 root 權限查看所有的信息。

    [root@centos6 ~]# netstat -apn | grep ssh

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

    [root@centos6 ~]# netstat -an | grep ':22'

    10. 顯示網絡接口列表

    [root@centos6 ~]# netstat -i [root@centos6 ~]# netstat -ie

    總結

    以上是生活随笔為你收集整理的Linux 监控命令之 netstat的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。