轉自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html
html
對任何規模的業務來講,網絡監控工具都是一個重要的功能。網絡監控的目標可能千差萬別。好比,監控活動的目標能夠是保證長期的網絡服務、安全保護、對性能進行排查、網絡使用統計等。因爲它的目標不一樣,網絡監控器使用不少不一樣的方式來完成任務。好比對包層面的嗅探,對數據流層面的統計數據,向網絡中注入探測的流量,分析服務器日誌等。
儘管有許多專用的網絡監控系統能夠365天24小時監控,但您依舊能夠在特定的狀況下使用命令行式的網絡監控器,某些命令行式的網絡監控器在某方面頗有用。若是您是系統管理員,那您就應該有親身使用一些知名的命令行式網絡監控器的經歷。這裏有一份Linux上流行且實用的網絡監控器列表。
包層面的嗅探器
在這個類別下,監控工具在鏈路上捕捉獨立的包,分析它們的內容,展現解碼後的內容或者包層面的統計數據。這些工具在最底層對網絡進行監控、管理,一樣的也能進行最細粒度的監控,其代價是影響網絡I/O和分析的過程。
dhcpdump:一個命令行式的DHCP流量嗅探工具,捕捉DHCP的請求/回覆流量,並以用戶友好的方式顯示解碼的DHCP協議消息。這是一款排查DHCP相關故障的實用工具。
dsniff:一個基於命令行的嗅探、僞造和劫持的工具合集,被設計用於網絡審查和滲透測試。它能夠嗅探多種信息,好比密碼、NSF流量(LCTT 譯註:此處疑爲 NFS 流量)、email消息、網絡地址等。
httpry:一個HTTP報文嗅探器,用於捕獲、解碼HTTP請求和回覆報文,並以用戶友好的方式顯示這些信息。(LCTT 譯註:延伸閱讀。http://www.linuxidc.com/Linux/2014-11/108865.htm )
IPTraf:基於命令行的網絡統計數據查看器。它實時顯示包層面、鏈接層面、接口層面、協議層面的報文/字節數。抓包過程由協議過濾器控制,且操做過程所有是菜單驅動的。(LCTT 譯註:延伸閱讀。http://www.linuxidc.com/Linux/2015-05/117346.htm)
mysql-sniffer:一個用於抓取、解碼MySQL請求相關的數據包的工具。它以可讀的方式顯示最頻繁或所有的請求。
ngrep:在網絡報文中執行grep。它能實時抓取報文,並用正則表達式或十六進制表達式的方式匹配(過濾)報文。它是一個能夠對異常流量進行檢測、存儲或者對實時流中特定模式報文進行抓取的實用工具。
p0f:一個被動的基於包嗅探的指紋採集工具,能夠可靠地識別操做系統、NAT或者代理設置、網絡鏈路類型以及許多其它與活動的TCP鏈接相關的屬性。
pktstat:一個命令行式的工具,經過實時分析報文,顯示鏈接帶寬使用狀況以及相關的協議(例如,HTTP GET/POST、FTP、X11)等描述信息。
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
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
tshark:一個與Wireshark窗口程序一塊兒使用的命令行式的嗅探工具。它能捕捉、解碼網絡上的實時報文,並能以用戶友好的方式顯示其內容。
流/進程/接口層面的監控
在這個分類中,網絡監控器經過把流量按照流、相關進程或接口分類,收集每一個流、每一個進程、每一個接口的統計數據。其信息的來源能夠是libpcap抓包庫或者sysfs內核虛擬文件系統。這些工具的監控成本很低,可是缺少包層面的檢視能力。
bmon:一個基於命令行的帶寬監測工具,能夠顯示各類接口相關的信息,不但包括接收/發送的總量/平均值統計數據,並且擁有歷史帶寬使用視圖。
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
nethogs:一個基於ncurses顯示的進程監控工具,提供進程相關的實時的上行/下行帶寬使用信息。它對檢測佔用大量帶寬的進程頗有用。(LCTT 譯註:延伸閱讀。http://www.linuxidc.com/Linux/2014-04/99602.htm)
netstat:一個顯示許多TCP/UDP的網絡堆棧的統計信息的工具。諸如打開的TCP/UDP鏈接書、網絡接口發送/接收、路由表、協議/套接字的統計信息和屬性。當您診斷與網絡堆棧相關的性能、資源使用時它頗有用。
speedometer:一個可視化某個接口發送/接收的帶寬使用的歷史趨勢,而且基於ncurses的條狀圖進行顯示的終端工具。
sysdig:一個能夠經過統一的界面對各個Linux子系統進行系統級綜合性調試的工具。它的網絡監控模塊能夠監控在線或離線、許多進程/主機相關的網絡統計數據,例如帶寬、鏈接/請求數等。(LCTT 譯註:延伸閱讀。http://www.linuxidc.com/Linux/2014-12/110033.htm)
tcptrack:一個TCP鏈接監控工具,能夠顯示活動的TCP鏈接,包括源/目的IP地址/端口、TCP狀態、帶寬使用等。
vnStat:一個存儲並顯示每一個接口的歷史接收/發送帶寬視圖(例如,當前、每日、每個月)的流量監控器。做爲一個後臺守護進程,它收集並存儲統計數據,包括接口帶寬使用率和傳輸字節總數。
mysql