首頁 > 軟體

你可能不知道的 Linux 命令列網路監控工具

2020-06-16 18:00:11

對任何規模的業務來說,網路監控工具都是一個重要的功能。網路監控的目標可能千差萬別。比如,監控活動的目標可以是保證長期的網路服務、安全保護、對效能進行排查、網路使用統計等。由於它的目標不同,網路監控器使用很多不同的方式來完成任務。比如對包層面的嗅探,對資料流層面的統計資料,向網路中注入探測的流量,分析伺服器紀錄檔等。

儘管有許多專用的網路監控系統可以365天24小時監控,但您依舊可以在特定的情況下使用命令列式的網路監控器,某些命令列式的網路監控器在某方面很有用。如果您是系統管理員,那您就應該有親身使用一些知名的命令列式網路監控器的經歷。這裡有一份Linux上流行且實用的網路監控器列表。

 

包層面的嗅探器

在這個類別下,監控工具在鏈路上捕捉獨立的包,分析它們的內容,展示解碼後的內容或者包層面的統計資料。這些工具在最底層對網路進行監控、管理,同樣的也能進行最細粒度的監控,其代價是影響網路I/O和分析的過程。

  1. dhcpdump:一個命令列式的DHCP流量嗅探工具,捕捉DHCP的請求/回復流量,並以使用者友好的方式顯示解碼的DHCP協定訊息。這是一款排查DHCP相關故障的實用工具。

  2. dsniff:一個基於命令列的嗅探、偽造和劫持的工具合集,被設計用於網路審查和滲透測試。它可以嗅探多種資訊,比如密碼、NSF流量(LCTT 譯註:此處疑為 NFS 流量)、email訊息、網路地址等。

  3. httpry:一個HTTP報文嗅探器,用於捕獲、解碼HTTP請求和回復報文,並以使用者友好的方式顯示這些資訊。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2014-11/108865.htm

  4. IPTraf:基於命令列的網路統計資料檢視器。它實時顯示包層面、連線層面、介面層面、協定層面的報文/位元組數。抓包過程由協定過濾器控制,且操作過程全部是選單驅動的。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2015-05/117346.htm

  5. mysql-sniffer:一個用於抓取、解碼MySQL請求相關的封包的工具。它以可讀的方式顯示最頻繁或全部的請求。

  6. ngrep:在網路報文中執行grep。它能實時抓取報文,並用正規表示式或十六進位制表示式的方式匹配(過濾)報文。它是一個可以對異常流量進行檢測、儲存或者對實時流中特定模式報文進行抓取的實用工具。

  7. p0f:一個被動的基於包嗅探的指紋採集工具,可以可靠地識別作業系統、NAT或者代理設定、網路鏈路型別以及許多其它與活動的TCP連線相關的屬性。

  8. pktstat:一個命令列式的工具,通過實時分析報文,顯示連線頻寬使用情況以及相關的協定(例如,HTTP GET/POST、FTP、X11)等描述資訊。

  9. Snort:一個入侵檢測和預防工具,通過規則驅動的協定分析和內容匹配,來檢測/預防活躍流量中各種各樣的後門、殭屍網路、網路釣魚、間諜軟體攻擊。

    Snort 中文手冊 http://www.linuxidc.com/Linux/2013-11/92265.htm

    Snort + Base 入侵檢測設定 http://www.linuxidc.com/Linux/2013-02/79805.htm

    Ubuntu 12.04下安裝Snort詳解 http://www.linuxidc.com/Linux/2013-01/78554.htm

    Snort企業部署實戰 http://www.linuxidc.com/Linux/2012-08/68946.htm

    Snort+base搭建IDS入侵檢測系統 http://www.linuxidc.com/Linux/2012-08/67865.htm

    Linux平台Snort入侵檢測系統實戰指南 http://www.linuxidc.com/Linux/2012-08/67048.htm

  10. tcpdump:一個命令列的嗅探工具,可以基於過濾表示式抓取網路中的報文,分析報文,並且在包層面輸出報文內容以便於包層面的分析。他在許多網路相關的錯誤排查、網路程式debug、或安全監測方面應用廣泛。

    Linux系統入門學習:如何使用tcpdump來捕獲TCP SYN,ACK和FIN包  http://www.linuxidc.com/Linux/2014-10/107722.htm

    Linux運維工程師利器:Nmap和tcpdump http://www.linuxidc.com/Linux/2014-02/96993.htm

  11. tshark:一個與Wireshark視窗程式一起使用的命令列式的嗅探工具。它能捕捉、解碼網路上的實時報文,並能以使用者友好的方式顯示其內容。

 

流/進程/介面層面的監控

在這個分類中,網路監控器通過把流量按照流、相關進程或介面分類,收集每個流、每個進程、每個介面的統計資料。其資訊的來源可以是libpcap抓包庫或者sysfs核心虛擬檔案系統。這些工具的監控成本很低,但是缺乏包層面的檢視能力。

  1. bmon:一個基於命令列的頻寬監測工具,可以顯示各種介面相關的資訊,不但包括接收/傳送的總量/平均值統計資料,而且擁有歷史頻寬使用檢視。

  2. iftop:一個頻寬使用監測工具,可以實時顯示某個網路連線的頻寬使用情況。它對所有頻寬使用情況排序並通過ncurses的介面來進行視覺化。他可以方便的監控哪個連線消耗了最多的頻寬。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2013-08/89102.htm

    CentOS-網絡卡實時監測工具-iftop  http://www.linuxidc.com/Linux/2013-05/84590.htm

    Linux下監控網絡卡流量的軟體iftop  http://www.linuxidc.com/Linux/2011-05/36348.htm

    CentOS流量檢視工具iftop介紹  http://www.linuxidc.com/Linux/2008-06/13492.htm

  3. nethogs:一個基於ncurses顯示的進程監控工具,提供進程相關的實時的上行/下行頻寬使用資訊。它對檢測占用大量頻寬的進程很有用。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2014-04/99602.htm

  4. netstat:一個顯示許多TCP/UDP的網路堆疊的統計資訊的工具。諸如開啟的TCP/UDP連線書、網路介面傳送/接收、路由表、協定/通訊端的統計資訊和屬性。當您診斷與網路堆疊相關的效能、資源使用時它很有用。

  5. speedometer:一個視覺化某個介面傳送/接收的頻寬使用的歷史趨勢,並且基於ncurses的條狀圖進行顯示的終端工具。

  6. sysdig:一個可以通過統一的介面對各個Linux子系統進行系統級綜合性偵錯的工具。它的網路監控模組可以監控線上或離線、許多進程/主機相關的網路統計資料,例如頻寬、連線/請求數等。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2014-12/110033.htm

  7. tcptrack:一個TCP連線監控工具,可以顯示活動的TCP連線,包括源/目的IP地址/埠、TCP狀態、頻寬使用等。

  8. vnStat:一個儲存並顯示每個介面的歷史接收/傳送頻寬檢視(例如,當前、每日、每月)的流量監控器。作為一個後台守護行程,它收集並儲存統計資料,包括介面頻寬使用率和傳輸位元組總數。(LCTT 譯註:延伸閱讀http://www.linuxidc.com/Linux/2015-04/116122.htm

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2015-05/117669p2.htm


IT145.com E-mail:sddin#qq.com