天天看點

又一波你可能不知道的 Linux 指令行網絡監控工具

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

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

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

dhcpdump:一個指令行式的DHCP流量嗅探工具,捕捉DHCP的請求/回複流量,并以使用者友好的方式顯示解碼的DHCP協定消息。這是一款排查DHCP相關故障的實用工具。

pktstat:一個指令行式的工具,通過實時分析封包,顯示連接配接帶寬使用情況以及相關的協定(例如,HTTP GET/POST、FTP、X11)等描述資訊。

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

tshark:一個與Wireshark視窗程式一起使用的指令行式的嗅探工具。它能捕捉、解碼網絡上的實時封包,并能以使用者友好的方式顯示其内容。

<a href="http://s3.51cto.com/wyfs02/M02/83/B8/wKiom1d7PtLRGRXgAALfSDdvgYk686.png" target="_blank"></a>

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

bmon:一個基于指令行的帶寬監測工具,可以顯示各種接口相關的資訊,不但包括接收/發送的總量/平均值統計資料,而且擁有曆史帶寬使用視圖。

netstat:一個顯示許多TCP/UDP的網絡堆棧的統計資訊的工具。諸如打開的TCP/UDP連接配接書、網絡接口發送/接收、路由表、協定/套接字的統計資訊和屬性。當您診斷與網絡堆棧相關的性能、資源使用時它很有用。

tcptrack:一個TCP連接配接監控工具,可以顯示活動的TCP連接配接,包括源/目的IP位址/端口、TCP狀态、帶寬使用等。

<a></a>

不同于前面提到的被動的監聽工具,這個類别的工具們在監聽時會主動的“注入”探測内容到網絡中,并且會收集相應的反應。監聽目标包括路由路徑、可供使用的帶寬、丢包率、延時、抖動(jitter)、系統設定或者缺陷等。

在這個類别下的網絡監測器把特定的伺服器應用程式作為目标(例如,web伺服器或者資料庫伺服器)。由伺服器程式産生或消耗的網絡流量通過它的日志被分析和監測。不像前面提到的網絡層的監控器,這個類别的工具能夠在應用層面分析和監控網絡流量。

在這篇文章中,我展示了許多指令行式監測工具,從最底層的包層面的監控器到最高層應用程式層面的網絡監控器。了解那個工具的作用是一回事,選擇哪個工具使用又是另外一回事。單一的一個工具不能作為您每天使用的通用的解決方案。一個好的系統管理者應該能決定哪個工具更适合目前的環境。希望這個清單對此有所幫助。

歡迎您通過回複來改進這個清單的内容!

本文轉自 lirulei90 51CTO部落格,原文連結:http://blog.51cto.com/lee90/1795897,如需轉載請自行聯系原作者

繼續閱讀