本帖最后由 undefined 于 2015-05-18 17:20 編輯
對(duì)任何規(guī)模的業(yè)務(wù)來(lái)說(shuō),網(wǎng)絡(luò)監(jiān)控工具都是一個(gè)重要的功能。網(wǎng)絡(luò)監(jiān)控的目標(biāo)可能千差萬(wàn)別。比如,監(jiān)控活動(dòng)的目標(biāo)可以是保證長(zhǎng)期的網(wǎng)絡(luò)服務(wù)、安全保護(hù)、對(duì)性能進(jìn)行排查、網(wǎng)絡(luò)使用統(tǒng)計(jì)等。由于它的目標(biāo)不同,網(wǎng)絡(luò)監(jiān)控器使用很多不同的方式來(lái)完成任務(wù)。比如對(duì)包層面的嗅探,對(duì)數(shù)據(jù)流層面的統(tǒng)計(jì)數(shù)據(jù),向網(wǎng)絡(luò)中注入探測(cè)的流量,分析服務(wù)器日志等。 盡管有許多專(zhuān)用的網(wǎng)絡(luò)監(jiān)控系統(tǒng)可以365天24小時(shí)監(jiān)控,但您依舊可以在特定的情況下使用命令行式的網(wǎng)絡(luò)監(jiān)控器,某些命令行式的網(wǎng)絡(luò)監(jiān)控器在某方面很有用。如果您是系統(tǒng)管理員,那您就應(yīng)該有親身使用一些知名的命令行式網(wǎng)絡(luò)監(jiān)控器的經(jīng)歷。這里有一份Linux上流行且實(shí)用的網(wǎng)絡(luò)監(jiān)控器列表。 包層面的嗅探器在這個(gè)類(lèi)別下,監(jiān)控工具在鏈路上捕捉獨(dú)立的包,分析它們的內(nèi)容,展示解碼后的內(nèi)容或者包層面的統(tǒng)計(jì)數(shù)據(jù)。這些工具在最底層對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)控、管理,同樣的也能進(jìn)行最細(xì)粒度的監(jiān)控,其代價(jià)是影響網(wǎng)絡(luò)I/O和分析的過(guò)程。 dhcpdump:一個(gè)命令行式的DHCP流量嗅探工具,捕捉DHCP的請(qǐng)求/回復(fù)流量,并以用戶(hù)友好的方式顯示解碼的DHCP協(xié)議消息。這是一款排查DHCP相關(guān)故障的實(shí)用工具。 dsniff:一個(gè)基于命令行的嗅探、偽造和劫持的工具合集,被設(shè)計(jì)用于網(wǎng)絡(luò)審查和滲透測(cè)試。它可以嗅探多種信息,比如密碼、NSF流量(LCTT 譯注:此處疑為 NFS 流量)、email消息、網(wǎng)絡(luò)地址等。 httpry:一個(gè)HTTP報(bào)文嗅探器,用于捕獲、解碼HTTP請(qǐng)求和回復(fù)報(bào)文,并以用戶(hù)友好的方式顯示這些信息。(LCTT 譯注: 延伸閱讀。 ) IPTraf:基于命令行的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)查看器。它實(shí)時(shí)顯示包層面、連接層面、接口層面、協(xié)議層面的報(bào)文/字節(jié)數(shù)。抓包過(guò)程由協(xié)議過(guò)濾器控制,且操作過(guò)程全部是菜單驅(qū)動(dòng)的。(LCTT 譯注: 延伸閱讀。) mysql-sniffer:一個(gè)用于抓取、解碼MySQL請(qǐng)求相關(guān)的數(shù)據(jù)包的工具。它以可讀的方式顯示最頻繁或全部的請(qǐng)求。 ngrep:在網(wǎng)絡(luò)報(bào)文中執(zhí)行g(shù)rep。它能實(shí)時(shí)抓取報(bào)文,并用正則表達(dá)式或十六進(jìn)制表達(dá)式的方式匹配(過(guò)濾)報(bào)文。它是一個(gè)可以對(duì)異常流量進(jìn)行檢測(cè)、存儲(chǔ)或者對(duì)實(shí)時(shí)流中特定模式報(bào)文進(jìn)行抓取的實(shí)用工具。 p0f:一個(gè)被動(dòng)的基于包嗅探的指紋采集工具,可以可靠地識(shí)別操作系統(tǒng)、NAT或者代理設(shè)置、網(wǎng)絡(luò)鏈路類(lèi)型以及許多其它與活動(dòng)的TCP連接相關(guān)的屬性。 pktstat:一個(gè)命令行式的工具,通過(guò)實(shí)時(shí)分析報(bào)文,顯示連接帶寬使用情況以及相關(guān)的協(xié)議(例如,HTTP GET/POST、FTP、X11)等描述信息。 Snort:一個(gè)入侵檢測(cè)和預(yù)防工具,通過(guò)規(guī)則驅(qū)動(dòng)的協(xié)議分析和內(nèi)容匹配,來(lái)檢測(cè)/預(yù)防活躍流量中各種各樣的后門(mén)、僵尸網(wǎng)絡(luò)、網(wǎng)絡(luò)釣魚(yú)、間諜軟件攻擊。 tcpdump:一個(gè)命令行的嗅探工具,可以基于過(guò)濾表達(dá)式抓取網(wǎng)絡(luò)中的報(bào)文,分析報(bào)文,并且在包層面輸出報(bào)文內(nèi)容以便于包層面的分析。他在許多網(wǎng)絡(luò)相關(guān)的錯(cuò)誤排查、網(wǎng)絡(luò)程序debug、或 安全監(jiān)測(cè)方面應(yīng)用廣泛。 tshark:一個(gè)與Wireshark窗口程序一起使用的命令行式的嗅探工具。它能捕捉、解碼網(wǎng)絡(luò)上的實(shí)時(shí)報(bào)文,并能以用戶(hù)友好的方式顯示其內(nèi)容。
流/進(jìn)程/接口層面的監(jiān)控在這個(gè)分類(lèi)中,網(wǎng)絡(luò)監(jiān)控器通過(guò)把流量按照流、相關(guān)進(jìn)程或接口分類(lèi),收集每個(gè)流、每個(gè)進(jìn)程、每個(gè)接口的統(tǒng)計(jì)數(shù)據(jù)。其信息的來(lái)源可以是libpcap抓包庫(kù)或者sysfs內(nèi)核虛擬文件系統(tǒng)。這些工具的監(jiān)控成本很低,但是缺乏包層面的檢視能力。 bmon:一個(gè)基于命令行的帶寬監(jiān)測(cè)工具,可以顯示各種接口相關(guān)的信息,不但包括接收/發(fā)送的總量/平均值統(tǒng)計(jì)數(shù)據(jù),而且擁有歷史帶寬使用視圖。 iftop:一個(gè)帶寬使用監(jiān)測(cè)工具,可以實(shí)時(shí)顯示某個(gè)網(wǎng)絡(luò)連接的帶寬使用情況。它對(duì)所有帶寬使用情況排序并通過(guò)ncurses的接口來(lái)進(jìn)行可視化。他可以方便的監(jiān)控哪個(gè)連接消耗了最多的帶寬。(LCTT 譯注: 延伸閱讀。) nethogs:一個(gè)基于ncurses顯示的進(jìn)程監(jiān)控工具,提供進(jìn)程相關(guān)的實(shí)時(shí)的上行/下行帶寬使用信息。它對(duì)檢測(cè)占用大量帶寬的進(jìn)程很有用。(LCTT 譯注: 延伸閱讀。) netstat:一個(gè)顯示許多TCP/UDP的網(wǎng)絡(luò)堆棧的統(tǒng)計(jì)信息的工具。諸如打開(kāi)的TCP/UDP連接書(shū)、網(wǎng)絡(luò)接口發(fā)送/接收、路由表、協(xié)議/套接字的統(tǒng)計(jì)信息和屬性。當(dāng)您診斷與網(wǎng)絡(luò)堆棧相關(guān)的性能、資源使用時(shí)它很有用。 speedometer:一個(gè)可視化某個(gè)接口發(fā)送/接收的帶寬使用的歷史趨勢(shì),并且基于ncurses的條狀圖進(jìn)行顯示的終端工具。 sysdig:一個(gè)可以通過(guò)統(tǒng)一的界面對(duì)各個(gè)Linux子系統(tǒng)進(jìn)行系統(tǒng)級(jí)綜合性調(diào)試的工具。它的網(wǎng)絡(luò)監(jiān)控模塊可以監(jiān)控在線(xiàn)或離線(xiàn)、許多進(jìn)程/主機(jī)相關(guān)的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù),例如帶寬、連接/請(qǐng)求數(shù)等。(LCTT 譯注: 延伸閱讀。) tcptrack:一個(gè)TCP連接監(jiān)控工具,可以顯示活動(dòng)的TCP連接,包括源/目的IP地址/端口、TCP狀態(tài)、帶寬使用等。 vnStat:一個(gè)存儲(chǔ)并顯示每個(gè)接口的歷史接收/發(fā)送帶寬視圖(例如,當(dāng)前、每日、每月)的流量監(jiān)控器。作為一個(gè)后臺(tái)守護(hù)進(jìn)程,它收集并存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù),包括接口帶寬使用率和傳輸字節(jié)總數(shù)。(LCTT 譯注: 延伸閱讀。)
主動(dòng)網(wǎng)絡(luò)監(jiān)控器不同于前面提到的被動(dòng)的監(jiān)聽(tīng)工具,這個(gè)類(lèi)別的工具們?cè)诒O(jiān)聽(tīng)時(shí)會(huì)主動(dòng)的“注入”探測(cè)內(nèi)容到網(wǎng)絡(luò)中,并且會(huì)收集相應(yīng)的反應(yīng)。監(jiān)聽(tīng)目標(biāo)包括路由路徑、可供使用的帶寬、丟包率、延時(shí)、抖動(dòng)(jitter)、系統(tǒng)設(shè)置或者缺陷等。 dnsyo:一個(gè)DNS檢測(cè)工具,能夠管理跨越多達(dá)1500個(gè)不同網(wǎng)絡(luò)的開(kāi)放解析器的DNS查詢(xún)。它在您檢查DNS傳播或排查DNS設(shè)置的時(shí)候很有用。 iperf:一個(gè)TCP/UDP帶寬測(cè)量工具,能夠測(cè)量?jī)蓚(gè)端點(diǎn)間最大可用帶寬。它通過(guò)在兩個(gè)主機(jī)間單向或雙向的輸出TCP/UDP探測(cè)流量來(lái)測(cè)量可用的帶寬。它在監(jiān)測(cè)網(wǎng)絡(luò)容量、調(diào)諧網(wǎng)絡(luò)協(xié)議棧參數(shù)時(shí)很有用。一個(gè)叫做 netperf的變種擁有更多的功能及更好的統(tǒng)計(jì)數(shù)據(jù)。 netcat/socat:通用的網(wǎng)絡(luò)調(diào)試工具,可以對(duì)TCP/UDP套接字進(jìn)行讀、寫(xiě)或監(jiān)聽(tīng)。它通常和其他的程序或腳本結(jié)合起來(lái)在后端對(duì)網(wǎng)絡(luò)傳輸或端口進(jìn)行監(jiān)聽(tīng)。(LCTT 譯注: 延伸閱讀。) nmap:一個(gè)命令行的端口掃描和網(wǎng)絡(luò)發(fā)現(xiàn)工具。它依賴(lài)于若干基于TCP/UDP的掃描技術(shù)來(lái)查找開(kāi)放的端口、活動(dòng)的主機(jī)或者在本地網(wǎng)絡(luò)存在的操作系統(tǒng)。它在你審查本地主機(jī)漏洞或者建立維護(hù)所用的主機(jī)映射時(shí)很有用。 zmap是一個(gè)類(lèi)似的替代品,是一個(gè)用于互聯(lián)網(wǎng)范圍的掃描工具。(LCTT 譯注: 延伸閱讀。) ping:一個(gè)常用的網(wǎng)絡(luò)測(cè)試工具。通過(guò)交換ICMP的echo和reply報(bào)文來(lái)實(shí)現(xiàn)其功能。它在測(cè)量路由的RTT、丟包率以及檢測(cè)遠(yuǎn)端系統(tǒng)防火墻規(guī)則時(shí)很有用。ping的變種有更漂亮的界面(例如, noping)、多協(xié)議支持(例如, hping)或者并行探測(cè)能力(例如, fping)。(LCTT 譯注: 延伸閱讀。) sprobe:一個(gè)啟發(fā)式推斷本地主機(jī)和任意遠(yuǎn)端IP地址之間的網(wǎng)絡(luò)帶寬瓶頸的命令行工具。它使用TCP三次握手機(jī)制來(lái)評(píng)估帶寬的瓶頸。它在檢測(cè)大范圍網(wǎng)絡(luò)性能和路由相關(guān)的問(wèn)題時(shí)很有用。 traceroute:一個(gè)能發(fā)現(xiàn)從本地到遠(yuǎn)端主機(jī)的第三層路由/轉(zhuǎn)發(fā)路徑的網(wǎng)絡(luò)發(fā)現(xiàn)工具。它發(fā)送限制了TTL的探測(cè)報(bào)文,收集中間路由的ICMP反饋信息。它在排查低速網(wǎng)絡(luò)連接或者路由相關(guān)的問(wèn)題時(shí)很有用。traceroute的變種有更好的RTT統(tǒng)計(jì)功能(例如, mtr)。
應(yīng)用日志解析器在這個(gè)類(lèi)別下的網(wǎng)絡(luò)監(jiān)測(cè)器把特定的服務(wù)器應(yīng)用程序作為目標(biāo)(例如,web服務(wù)器或者數(shù)據(jù)庫(kù)服務(wù)器)。由服務(wù)器程序產(chǎn)生或消耗的網(wǎng)絡(luò)流量通過(guò)它的日志被分析和監(jiān)測(cè)。不像前面提到的網(wǎng)絡(luò)層的監(jiān)控器,這個(gè)類(lèi)別的工具能夠在應(yīng)用層面分析和監(jiān)控網(wǎng)絡(luò)流量。 GoAccess:一個(gè)針對(duì)Apache和Nginx服務(wù)器流量的交互式查看器。基于對(duì)獲取到的日志的分析,它能展示包括日訪問(wèn)量、最多請(qǐng)求、客戶(hù)端操作系統(tǒng)、客戶(hù)端位置、客戶(hù)端瀏覽器等在內(nèi)的多個(gè)實(shí)時(shí)的統(tǒng)計(jì)信息,并以滾動(dòng)方式顯示。 mtop:一個(gè)面向MySQL/MariaDB服務(wù)器的命令行監(jiān)控器,它可以將成本最大的查詢(xún)和當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器負(fù)載以可視化的方式顯示出來(lái)。它在您優(yōu)化MySQL服務(wù)器性能、調(diào)諧服務(wù)器參數(shù)時(shí)很有用。 ngxtop:一個(gè)面向Nginx和Apache服務(wù)器的流量監(jiān)測(cè)工具,能夠以類(lèi)似top指令的方式可視化的顯示W(wǎng)eb服務(wù)器的流量。它解析web服務(wù)器的查詢(xún)?nèi)罩疚募⑹占硞(gè)目的地或請(qǐng)求的流量統(tǒng)計(jì)信息。
|