這些工具提供的功能非常強(qiáng)大,我們平時(shí)使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。本文不會(huì)深入研究這些命令的強(qiáng)大用法,因?yàn)槊總€(gè)命令都足以寫一篇文章,本文只是簡單地介紹并輔以幾個(gè)簡單實(shí)例,旨在大腦中留個(gè)印象,平時(shí)遇到問題時(shí)能夠快速搜索出這些工具,利用強(qiáng)大的工具,提供一定的思路解決問題。
1 表層面的嗅探器
在這個(gè)類別下, 監(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和分析的過程.
編號(hào)工具描述
1dhcpdump
一個(gè)命令行式的DHCP流量嗅探工具, 捕捉DHCP的請(qǐng)求/回復(fù)流量, 并以用戶友好的方式顯示解碼的DHCP協(xié)議消息. 這是一款排查DHCP相關(guān)故障的實(shí)用工具.
2dsniff
一個(gè)基于命令行的嗅探、偽造和劫持的工具合集,被設(shè)計(jì)用于網(wǎng)絡(luò)審查和滲透測試. 它可以嗅探多種信息, 比如密碼、NSF流量(LCTT 譯注:此處疑為 NFS 流量)、email消息、網(wǎng)絡(luò)地址等
3httpry
一個(gè)HTTP報(bào)文嗅探器, 用于捕獲、解碼HTTP請(qǐng)求和回復(fù)報(bào)文, 并以用戶友好的方式顯示這些信息. (LCTT 譯注:延伸閱讀.)
4IPTraf
基于命令行的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)查看器. 它實(shí)時(shí)顯示包層面、連接層面、接口層面、協(xié)議層面的報(bào)文/字節(jié)數(shù). 抓包過程由協(xié)議過濾器控制, 且操作過程全部是菜單驅(qū)動(dòng)的
5MySQL-sniffer
一個(gè)用于抓取、解碼MySQL請(qǐng)求相關(guān)的數(shù)據(jù)包的工具。它以可讀的方式顯示最頻繁或全部的請(qǐng)求
6ngrep
在網(wǎng)絡(luò)報(bào)文中執(zhí)行g(shù)rep。它能實(shí)時(shí)抓取報(bào)文,并用正則表達(dá)式或十六進(jìn)制表達(dá)式的方式匹配(過濾)報(bào)文。它是一個(gè)可以對(duì)異常流量進(jìn)行檢測、存儲(chǔ)或者對(duì)實(shí)時(shí)流中特定模式報(bào)文進(jìn)行抓取的實(shí)用工具
7p0f
一個(gè)被動(dòng)的基于包嗅探的指紋采集工具,可以可靠地識(shí)別操作系統(tǒng)、NAT或者代理設(shè)置、網(wǎng)絡(luò)鏈路類型以及許多其它與活動(dòng)的TCP連接相關(guān)的屬性
8pktstat
一個(gè)命令行式的工具, 通過實(shí)時(shí)分析報(bào)文, 顯示連接帶寬使用情況以及相關(guān)的協(xié)議(例如,HTTP GET/POST、FTP、X11)等描述信息
9Snort
一個(gè)入侵檢測和預(yù)防工具,通過規(guī)則驅(qū)動(dòng)的協(xié)議分析和內(nèi)容匹配,來檢測/預(yù)防活躍流量中各種各樣的后門、僵尸網(wǎng)絡(luò)、網(wǎng)絡(luò)釣魚、間諜軟件攻擊
10tcpdump
一個(gè)命令行的嗅探工具, 可以基于過濾表達(dá)式抓取網(wǎng)絡(luò)中的報(bào)文, 分析報(bào)文, 并且在包層面輸出報(bào)文內(nèi)容以便于包層面的分析. 它在許多網(wǎng)絡(luò)相關(guān)的錯(cuò)誤排查、網(wǎng)絡(luò)程序debug、或安全監(jiān)測方面應(yīng)用廣泛
11tshark
一個(gè)與Wireshark窗口程序一起使用的命令行式的嗅探工具. 它能捕捉、解碼網(wǎng)絡(luò)上的實(shí)時(shí)報(bào)文, 并能以用戶友好的方式顯示其內(nèi)容.
2 流/進(jìn)程/接口層面的監(jiān)控
、相關(guān)進(jìn)程或接口分類, 收集每個(gè)流、每個(gè)進(jìn)程、每個(gè)接口的統(tǒng)計(jì)數(shù)據(jù). 其信息的來源可以是libpcap抓包庫或者sysfs內(nèi)核虛擬文件系統(tǒng). 這些工具的監(jiān)控成本很低, 但是缺乏表層面的檢視能力
編號(hào)工具描述
1bmon
一個(gè)基于命令行的帶寬監(jiān)測工具, 可以顯示各種接口相關(guān)的信息, 不但包括接收/發(fā)送的總量/平均值統(tǒng)計(jì)數(shù)據(jù), 而且擁有歷史帶寬使用視圖
2iftop
一個(gè)帶寬使用監(jiān)測工具,可以實(shí)時(shí)顯示某個(gè)網(wǎng)絡(luò)連接的帶寬使用情況。它對(duì)所有帶寬使用情況排序并通過ncurses的接口來進(jìn)行可視化。他可以方便的監(jiān)控哪個(gè)連接消耗了最多的帶寬. (LCTT 譯注:延伸閱讀)
3nethogs
一個(gè)基于ncurses顯示的進(jìn)程監(jiān)控工具,提供進(jìn)程相關(guān)的實(shí)時(shí)的上行/下行帶寬使用信息。它對(duì)檢測占用大量帶寬的進(jìn)程很有用.
4netstat
一個(gè)顯示許多TCP/UDP的網(wǎng)絡(luò)堆棧的統(tǒng)計(jì)信息的工具。諸如打開的TCP/UDP連接書、網(wǎng)絡(luò)接口發(fā)送/接收、路由表、協(xié)議/套接字的統(tǒng)計(jì)信息和屬性. 當(dāng)您診斷與網(wǎng)絡(luò)堆棧相關(guān)的性能、資源使用時(shí)它很有用
5speedometer
一個(gè)可視化某個(gè)接口發(fā)送/接收的帶寬使用的歷史趨勢,并且基于ncurses的條狀圖進(jìn)行顯示的終端工具
6sysdig
一個(gè)可以通過統(tǒng)一的界面對(duì)各個(gè)linux子系統(tǒng)進(jìn)行系統(tǒng)級(jí)綜合性調(diào)試的工具。它的網(wǎng)絡(luò)監(jiān)控模塊可以監(jiān)控在線或離線、許多進(jìn)程/主機(jī)相關(guān)的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù),例如帶寬、連接/請(qǐng)求數(shù)等. (LCTT 譯注:延伸閱讀.)
7tcptrack
一個(gè)TCP連接監(jiān)控工具,可以顯示活動(dòng)的TCP連接,包括源/目的IP地址/端口、TCP狀態(tài)、帶寬使用等.
8vnStat
一個(gè)存儲(chǔ)并顯示每個(gè)接口的歷史接收/發(fā)送帶寬視圖(例如,當(dāng)前、每日、每月)的流量監(jiān)控器。作為一個(gè)后臺(tái)守護(hù)進(jìn)程,它收集并存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù),包括接口帶寬使用率和傳輸字節(jié)總數(shù). (LCTT 譯注:延伸閱讀.)
9nloadnload
默認(rèn)分為上下兩塊, 上半部分是 : Incoming也就是進(jìn)入網(wǎng)卡的流量, 下半部分是 : Outgoing,也就是從這塊網(wǎng)卡出去的流量, 每部分都有當(dāng)前流量(Curr), 平均流量(Avg), 最小流量(Min), 最大流量(Max)
3 主動(dòng)網(wǎng)絡(luò)監(jiān)控器
不同于前面提到的被動(dòng)的監(jiān)聽工具,這個(gè)類別的工具們在監(jiān)聽時(shí)會(huì)主動(dòng)的“注入”探測內(nèi)容到網(wǎng)絡(luò)中,并且會(huì)收集相應(yīng)的反應(yīng)。監(jiān)聽目標(biāo)包括路由路徑、可供使用的帶寬、丟包率、延時(shí)、抖動(dòng)(jitter)、系統(tǒng)設(shè)置或者缺陷等。
編號(hào)工具描述
1DNSyo一個(gè)DNS
檢測工具, 能夠管理跨越多達(dá)1500個(gè)不同網(wǎng)絡(luò)的開放解析器的DNS查詢. 它在您檢查DNS傳播或排查DNS設(shè)置的時(shí)候很有用
2iperf一個(gè)TCP/UDP
它通過在兩個(gè)主機(jī)間單向或雙向的輸出TCP/UDP探測流量來測量可用的帶寬. 它在監(jiān)測網(wǎng)絡(luò)容量、調(diào)諧網(wǎng)絡(luò)協(xié)議棧參數(shù)時(shí)很有用. 一個(gè)叫做netperf的變種擁有更多的功能及更好的統(tǒng)計(jì)數(shù)據(jù).
3netcat/socat
通用的網(wǎng)絡(luò)調(diào)試工具,可以對(duì)TCP/UDP套接字進(jìn)行讀、寫或監(jiān)聽。 它通常和其他的程序或腳本結(jié)合起來在后端對(duì)網(wǎng)絡(luò)傳輸或端口進(jìn)行監(jiān)聽. (LCTT 譯注:延伸閱讀.)
4nmap
。它依賴于若干基于TCP/UDP的掃描技術(shù)來查找開放的端口、活動(dòng)的主機(jī)或者在本地網(wǎng)絡(luò)存在的操作系統(tǒng)。它在你審查本地主機(jī)漏洞或者建立維護(hù)所用的主機(jī)映射時(shí)很有用. zmap是一個(gè)類似的替代品,是一個(gè)用于互聯(lián)網(wǎng)范圍的掃描工具. (LCTT 譯注:延伸閱讀.)
5ping
通過交換ICMP的echo和reply報(bào)文來實(shí)現(xiàn)其功能。它在測量路由的RTT、丟包率以及檢測遠(yuǎn)端系統(tǒng)防火墻規(guī)則時(shí)很有用。ping的變種有更漂亮的界面
6sprobe
一個(gè)啟發(fā)式推斷本地主機(jī)和任意遠(yuǎn)端IP地址之間的網(wǎng)絡(luò)帶寬瓶頸的命令行工具. 它使用TCP三次握手機(jī)制來評(píng)估帶寬的瓶頸。它在檢測大范圍網(wǎng)絡(luò)性能和路由相關(guān)的問題時(shí)很有用.
7traceroute
一個(gè)能發(fā)現(xiàn)從本地到遠(yuǎn)端主機(jī)的第三層路由/轉(zhuǎn)發(fā)路徑的網(wǎng)絡(luò)發(fā)現(xiàn)工具. 它發(fā)送限制了TTL的探測報(bào)文,收集中間路由的ICMP反饋信息. 它在排查低速網(wǎng)絡(luò)連接或者路由相關(guān)的問題時(shí)很有用. traceroute的變種有更好的RTT統(tǒng)計(jì)功能(例如,mtr).
4 應(yīng)用日志解析器
在這個(gè)類別下的網(wǎng)絡(luò)監(jiān)測器把特定的服務(wù)器應(yīng)用程序作為目標(biāo)(例如,web服務(wù)器或者數(shù)據(jù)庫服務(wù)器). 由服務(wù)器程序產(chǎn)生或消耗的網(wǎng)絡(luò)流量通過它的日志被分析和監(jiān)測。不像前面提到的網(wǎng)絡(luò)層的監(jiān)控器,這個(gè)類別的工具能夠在應(yīng)用層面分析和監(jiān)控網(wǎng)絡(luò)流量.
編號(hào)工具描述
1GoAccess
Apache和Nginx服務(wù)器流量的交互式查看器。基于對(duì)獲取到的日志的分析,它能展示包括日訪問量、最多請(qǐng)求、客戶端操作系統(tǒng)、客戶端位置、客戶端瀏覽器等在內(nèi)的多個(gè)實(shí)時(shí)的統(tǒng)計(jì)信息,
2mtop
一個(gè)面向MySQL/MariaDB服務(wù)器的命令行監(jiān)控器,它可以將成本最大的查詢和當(dāng)前數(shù)據(jù)庫服務(wù)器負(fù)載以可視化的方式顯示出來。它在您優(yōu)化MySQL服務(wù)器性能、調(diào)諧服務(wù)器參數(shù)時(shí)很有用.
3ngxtop
一個(gè)面向Nginx和Apache服務(wù)器的流量監(jiān)測工具,能夠以類似top指令的方式可視化的顯示W(wǎng)eb服務(wù)器的流量. 它解析web服務(wù)器的查詢?nèi)罩疚募⑹占硞€(gè)目的地或請(qǐng)求的流量統(tǒng)計(jì)信息
5 圖形界面工具
編號(hào)工具描述
1MonitMonit
是一個(gè)Linux/UNIX系統(tǒng)上開源的進(jìn)程、文件、目錄和文件系統(tǒng)監(jiān)控和管理工具,可自動(dòng)維護(hù)和修復(fù)一些錯(cuò)誤的情況.
2GangliaGanglia
它使用廣泛的技術(shù),如XML數(shù)據(jù)代表,便攜數(shù)據(jù)傳輸,RRDtool用于數(shù)據(jù)存儲(chǔ)和可 視化。它利用精心設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)和算法實(shí)現(xiàn)每節(jié)點(diǎn)間并發(fā)非常低的。它已移植到廣泛的操作系統(tǒng)和處理器架構(gòu)上,
3MuninMunin
是一個(gè)非常好用安裝和設(shè)置方便的監(jiān)測軟件在英文中的意思是仙人掌的意思,Cacti是一套基于php,MySQL,SNMP及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測圖形分析工具。
5NagIOSNagios
Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等, Nagios可運(yùn)行在Linux/Unix平臺(tái)之上,同時(shí)提供一個(gè)可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),
6zabbixzabbix
是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開源解決方案.
7ObserviumObservium
Linux系統(tǒng)的網(wǎng)絡(luò)監(jiān)控工具,而是包括了主要的網(wǎng)絡(luò)硬件和操作系統(tǒng)的廣泛支持。 Observium發(fā)展出來的一種輕松缺乏使用NMSes。
8ZenossZenoss Core
是開源企業(yè)級(jí)IT管理軟件-是智能監(jiān)控軟件,他允許IT管理員依靠單一的WEB控制臺(tái)來監(jiān)控網(wǎng)絡(luò)架構(gòu)的狀態(tài)和健康度。Zenoss Core同時(shí)也是開源的網(wǎng)絡(luò)與系統(tǒng)管理軟件.
9Collectdcollectd
是一個(gè)守護(hù)(daemon)進(jìn)程,用來收集系統(tǒng)性能和提供各種存儲(chǔ)方式來存儲(chǔ)不同值的機(jī)制。比如以RRD 文件形式
當(dāng)系統(tǒng)運(yùn)行和存儲(chǔ)信息的時(shí)候,Collectd會(huì)周期性統(tǒng)計(jì)系統(tǒng)的相關(guān)統(tǒng)計(jì)信息。那些信息可以用來找到當(dāng)前系統(tǒng)性能瓶頸. (如作為性能分析 performance analysis)和預(yù)測系統(tǒng)未來的load(如能力部署capacity planning).如果你需要美觀的圖形來顯示您的數(shù)據(jù),并且已經(jīng)厭煩了內(nèi)部解決方案,恭喜您,你找到了正確的地方.
10ArgusArgus
是一個(gè)網(wǎng)絡(luò)連接監(jiān)控器,可以利用它來定制監(jiān)控網(wǎng)絡(luò)中符合某種條件的計(jì)算機(jī),例如網(wǎng)絡(luò)空線、斷開等.