歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下網絡監控工具總結

Linux下網絡監控工具總結

日期:2017/2/28 13:47:58   编辑:Linux教程

對任何規模的業務來說, 網絡監控工具都是一個重要的功能.

網絡監控的目標可能千差萬別. 比如, 監控活動的目標可以是保證長期的網絡服務、安全保護、對性能進行排查、網絡使用統計等. 由於它的目標不同, 網絡監控器使用很多不同的方式來完成任務. 比如對包層面的嗅探, 對數據流層面的統計數據, 向網絡中注入探測的流量, 分析服務器日志等.

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

1 包層面的嗅探器


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

編號工具描述 1 dhcpdump 一個命令行式的DHCP流量嗅探工具, 捕捉DHCP的請求/回復流量, 並以用戶友好的方式顯示解碼的DHCP協議消息. 這是一款排查DHCP相關故障的實用工具. 2 dsniff 一個基於命令行的嗅探、偽造和劫持的工具合集,被設計用於網絡審查和滲透測試. 它可以嗅探多種信息, 比如密碼、NSF流量(LCTT 譯注:此處疑為 NFS 流量)、email消息、網絡地址等 3 httpry 一個HTTP報文嗅探器, 用於捕獲、解碼HTTP請求和回復報文, 並以用戶友好的方式顯示這些信息. (LCTT 譯注:延伸閱讀.) 4 IPTraf 基於命令行的網絡統計數據查看器. 它實時顯示包層面、連接層面、接口層面、協議層面的報文/字節數. 抓包過程由協議過濾器控制, 且操作過程全部是菜單驅動的. (LCTT 譯注:延伸閱讀.) 5 mysql-sniffer 一個用於抓取、解碼MySQL請求相關的數據包的工具。它以可讀的方式顯示最頻繁或全部的請求 6 ngrep 在網絡報文中執行grep。它能實時抓取報文,並用正則表達式或十六進制表達式的方式匹配(過濾)報文。它是一個可以對異常流量進行檢測、存儲或者對實時流中特定模式報文進行抓取的實用工具 7 p0f 一個被動的基於包嗅探的指紋采集工具,可以可靠地識別操作系統、NAT或者代理設置、網絡鏈路類型以及許多其它與活動的TCP連接相關的屬性 8 pktstat 一個命令行式的工具, 通過實時分析報文, 顯示連接帶寬使用情況以及相關的協議(例如,HTTP GET/POST、FTP、X11)等描述信息 9 Snort 一個入侵檢測和預防工具,通過規則驅動的協議分析和內容匹配,來檢測/預防活躍流量中各種各樣的後門、僵屍網絡、網絡釣魚、間諜軟件攻擊 10 tcpdump 一個命令行的嗅探工具, 可以基於過濾表達式抓取網絡中的報文, 分析報文, 並且在包層面輸出報文內容以便於包層面的分析. 他在許多網絡相關的錯誤排查、網絡程序debug、或安全監測方面應用廣泛 11 tshark 一個與Wireshark窗口程序一起使用的命令行式的嗅探工具. 它能捕捉、解碼網絡上的實時報文, 並能以用戶友好的方式顯示其內容.

2 流/進程/接口層面的監控


在這個分類中, 網絡監控器通過把流量按照流、相關進程或接口分類, 收集每個流、每個進程、每個接口的統計數據. 其信息的來源可以是libpcap抓包庫或者sysfs內核虛擬文件系統. 這些工具的監控成本很低, 但是缺乏包層面的檢視能力.

編號工具描述 1 bmon 一個基於命令行的帶寬監測工具, 可以顯示各種接口相關的信息, 不但包括接收/發送的總量/平均值統計數據, 而且擁有歷史帶寬使用視圖 2 iftop 一個帶寬使用監測工具,可以實時顯示某個網絡連接的帶寬使用情況。它對所有帶寬使用情況排序並通過ncurses的接口來進行可視化。他可以方便的監控哪個連接消耗了最多的帶寬. (LCTT 譯注:延伸閱讀) 3 nethogs 一個基於ncurses顯示的進程監控工具,提供進程相關的實時的上行/下行帶寬使用信息。它對檢測占用大量帶寬的進程很有用. (LCTT 譯注:延伸閱讀.) 4 netstat 一個顯示許多TCP/UDP的網絡堆棧的統計信息的工具。諸如打開的TCP/UDP連接書、網絡接口發送/接收、路由表、協議/套接字的統計信息和屬性. 當您診斷與網絡堆棧相關的性能、資源使用時它很有用 5 speedometer 一個可視化某個接口發送/接收的帶寬使用的歷史趨勢,並且基於ncurses的條狀圖進行顯示的終端工具 6 sysdig 一個可以通過統一的界面對各個Linux子系統進行系統級綜合性調試的工具。它的網絡監控模塊可以監控在線或離線、許多進程/主機相關的網絡統計數據,例如帶寬、連接/請求數等. (LCTT 譯注:延伸閱讀.) 7 tcptrack 一個TCP連接監控工具,可以顯示活動的TCP連接,包括源/目的IP地址/端口、TCP狀態、帶寬使用等. 8 vnStat 一個存儲並顯示每個接口的歷史接收/發送帶寬視圖(例如,當前、每日、每月)的流量監控器。作為一個後台守護進程,它收集並存儲統計數據,包括接口帶寬使用率和傳輸字節總數. (LCTT 譯注:延伸閱讀.) 9 nload nload默認分為上下兩塊, 上半部分是 : Incoming也就是進入網卡的流量, 下半部分是 : Outgoing,也就是從這塊網卡出去的流量, 每部分都有當前流量(Curr), 平均流量(Avg), 最小流量(Min), 最大流量(Max)

3 主動網絡監控器


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

編號工具描述 1 dnsyo 一個DNS檢測工具, 能夠管理跨越多達1500個不同網絡的開放解析器的DNS查詢. 它在您檢查DNS傳播或排查DNS設置的時候很有用 2 iperf 一個TCP/UDP帶寬測量工具,能夠測量兩個端點間最大可用帶寬。它通過在兩個主機間單向或雙向的輸出TCP/UDP探測流量來測量可用的帶寬. 它在監測網絡容量、調諧網絡協議棧參數時很有用. 一個叫做netperf的變種擁有更多的功能及更好的統計數據. 3 netcat/socat 通用的網絡調試工具,可以對TCP/UDP套接字進行讀、寫或監聽。 它通常和其他的程序或腳本結合起來在後端對網絡傳輸或端口進行監聽. (LCTT 譯注:延伸閱讀.) 4 nmap 一個命令行的端口掃描和網絡發現工具。它依賴於若干基於TCP/UDP的掃描技術來查找開放的端口、活動的主機或者在本地網絡存在的操作系統。它在你審查本地主機漏洞或者建立維護所用的主機映射時很有用. zmap是一個類似的替代品,是一個用於互聯網范圍的掃描工具. (LCTT 譯注:延伸閱讀.) 5 ping 一個常用的網絡測試工具。通過交換ICMP的echo和reply報文來實現其功能。它在測量路由的RTT、丟包率以及檢測遠端系統防火牆規則時很有用。ping的變種有更漂亮的界面(例如,noping)、多協議支持(例如,hping)或者並行探測能力(例如,fping). (LCTT 譯注:延伸閱讀.) 6 sprobe 一個啟發式推斷本地主機和任意遠端IP地址之間的網絡帶寬瓶頸的命令行工具. 它使用TCP三次握手機制來評估帶寬的瓶頸。它在檢測大范圍網絡性能和路由相關的問題時很有用. 7 traceroute 一個能發現從本地到遠端主機的第三層路由/轉發路徑的網絡發現工具. 它發送限制了TTL的探測報文,收集中間路由的ICMP反饋信息. 它在排查低速網絡連接或者路由相關的問題時很有用. traceroute的變種有更好的RTT統計功能(例如,mtr).

4 應用日志解析器


在這個類別下的網絡監測器把特定的服務器應用程序作為目標(例如,web服務器或者數據庫服務器). 由服務器程序產生或消耗的網絡流量通過它的日志被分析和監測。不像前面提到的網絡層的監控器,這個類別的工具能夠在應用層面分析和監控網絡流量.

編號工具描述 1 GoAccess 一個針對Apache和Nginx服務器流量的交互式查看器。基於對獲取到的日志的分析,它能展示包括日訪問量、最多請求、客戶端操作系統、客戶端位置、客戶端浏覽器等在內的多個實時的統計信息,並以滾動方式顯示 2 mtop 一個面向MySQL/MariaDB服務器的命令行監控器,它可以將成本最大的查詢和當前數據庫服務器負載以可視化的方式顯示出來。它在您優化MySQL服務器性能、調諧服務器參數時很有用. 3 ngxtop 一個面向Nginx和Apache服務器的流量監測工具,能夠以類似top指令的方式可視化的顯示Web服務器的流量. 它解析web服務器的查詢日志文件並收集某個目的地或請求的流量統計信息

5 圖形界面工具


編號工具描述 1 Monit Monit 是一個Linux/UNIX系統上開源的進程、文件、目錄和文件系統監控和管理工具,可自動維護和修復一些錯誤的情況. 2 Ganglia Ganglia是一個跨平台可擴展的,高 性能計算系統下的分布式監控系統,如集群和網格。它是基於分層設計,它使用廣泛的技術,如XML數據代表,便攜數據傳輸,RRDtool用於數據存儲和可 視化。它利用精心設計的數據結構和算法實現每節點間並發非常低的。它已移植到廣泛的操作系統和處理器架構上,目前在世界各地成千上萬的集群正在使用。它已 被用來連結大學校園和世界各地,可以處理2000節點的規模. 3 Munin Munin 是一個非常好用安裝和設置方便的監測軟件 4 Cacti Cacti在英文中的意思是仙人掌的意思,Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。它通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結 構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善. 5 Nagios Nagios是一個監視系統運行狀態和網絡信息的監視系統。Nagios能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等, Nagios可運行在Linux/Unix平台之上,同時提供一個可選的基於浏覽器的WEB界面以方便系統管理人員查看網絡狀態,各種系統問題,以及日志等等. 6 zabbix zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案. 7 Observium Observium是一個可自動發現網絡中的思科設備和 Linux系統的網絡監控工具,而是包括了主要的網絡硬件和操作系統的廣泛支持。 Observium發展出來的一種輕松缺乏使用NMSes。其目的是提供一個更加通航接口的健康和你的網絡性能。它的設計目標包括收集盡可能就設備多的歷 史資料,是完全與很少或無需人工干預的自動發現,並有一個非常直觀的界面. 8 Zenoss Zenoss Core是開源企業級IT管理軟件-是智能監控軟件,他允許IT管理員依靠單一的WEB控制台來監控網絡架構的狀態和健康度。Zenoss Core同時也是開源的網絡與系統管理軟件. 9 Collectd collectd是一個守護(daemon)進程,用來收集系統性能和提供各種存儲方式來存儲不同值的機制。比如以RRD 文件形式
當系統運行和存儲信息的時候,Collectd會周期性統計系統的相關統計信息。那些信息可以用來找到當前系統性能瓶頸. (如作為性能分析 performance analysis)和預測系統未來的load(如能力部署capacity planning).如果你需要美觀的圖形來顯示您的數據,並且已經厭煩了內部解決方案,恭喜您,你找到了正確的地方. 10 Argus Argus是一個網絡連接監控器,可以利用它來定制監控網絡中符合某種條件的計算機,例如網絡空閒、斷開等.
Copyright © Linux教程網 All Rights Reserved