夫運維者、善假於物也、形如 sniffer(嗅探器)
sniffer 在網絡安全領域是一把雙刃劍、或被黑客作為網絡攻擊工具、或協助運維診斷網絡故障,本文以 Linux 平台下三個常用的網絡嗅探器 Tcpdump、Ethereal 和 EtherApe 為例。介紹如何借助 sniffer 來診斷網絡故障,從而保障網絡高效安全地運行。但由於 sniffer 實在太強大、本文也只是入門性的做些介紹、有興趣的朋友可進一步學習。
● Tcpdump是一個命令行方式的網絡流量監測工具。它誕生的時間較早,是許多圖形化嗅探器的雛形
● Ethereal是一個圖形化的網絡流量監測工具,比命令行方式的Tcpdump友好很多,可以實時地觀看捕獲過程
● EtherApe也是一個圖形化的網絡流量監測工具、與Ethereal不同,EtherApe可以通過對主機間的連接進行檢測
㈠ Tcpdump
在網絡性能急劇下降的時候,可以通過 Tcpdump 來分析原因,找出造成網絡阻塞的根源
Tcpdump 能截獲網卡上收到的數據包,並能夠協助網絡管理員對其中的內容進行相應的分析
對於運維人員、了解如何使用 Tcpdump 來捕獲感興趣的數據包是一項必須掌握的基本功
⑴ Tcpdump 安裝
GNU/Linux 發行版缺省都會安裝、如果沒有可到:http://www.tcpdump.org 下載
⑵ Tcpdump 命令行選項
Tcpdump是一個命令行方式的網絡嗅探器、如果不進行過濾,過多數量的包會使運維人員很難理清頭緒
Tcpdump 常用命令行選項:
-a : 將網絡地址和廣播地址轉變成容易識別的名字
-d : 將已截獲的數據包的代碼以人容易理解的格式輸出
-dd : 將已截獲的數據包的代碼以C程序的格式輸出
-ddd: 將已截獲的數據包的代碼以十進制格式輸出
-e : 輸出數據鏈路層的頭部信息
-f : 將internet地址以數字形式輸出
-l : 將標准輸出變為行緩沖方式
-n : 不將網絡地址轉換成易識別的主機名,只以數字形式列出主機地址(如IP地址),這樣可以避免DNS查詢
-t : 不輸出時間戳
-v : 輸出較詳細的信息,例如IP包中的TTL和服務類型信息
-vv : 輸出詳盡的報文信息
-c : 在捕獲指定個數的數據包後退出
-F : 從指定的文件中讀取過濾規則,忽略命令行中指定的其它過濾規則
-i : 指定監聽的網絡接口
-r : 從指定的文件中讀取數據包(該文件一般通過-w選項產生)
-w : 將截獲的數據包直接寫入指定的文件中,不對其進行分析和輸出
-T : 將截獲的數據包直接解釋為指定類型的報文