1、WireShark
WireShark是一個開源免費的高性能網絡協議分析軟件,它的前身就是非常著名的網絡分析軟 件Ethereal。你可以使用它來解決網絡疑難問題,進行網絡協議分析,以及作為軟件或通信協議的開發參考,同時也可以用來作為學習各種網絡協議的教學 工具等等。WireShark支持現在已經出現了絕大多數的以太網網卡,以及主流的無線網卡。
WireShark具有如下所示的特點:
(1) 支持多種操作系統平臺,可以運行于Windows、Linux、Mac OS X10.5.5、Solaris和FreeBSD等操作系統上;
(2) 支持超過上千種的網絡協議,并且還會不斷的增加對新協議的支持;
(3) 支持實時捕捉,然后可在離線狀態下進行分析;
(4) 支持對VOIP數據包進行分析;
(5) 支持對通過IPsec、ISAKMP、Kerberos、SNMPv3、SSL/TLS、WEP和
WPA/WPA2等協議加密了的數據包解密;
(6) 可以實時獲取來自以太網、IEEE 802.11、PPP/HDLC、ATM、藍牙、令牌環和FDDI(光纖)等網絡中的數據包;
(7) 支持讀取和分析許多其它網絡 嗅探 軟件保存的文件格式,包括Tcpdump、Sniffer pro、EtherPeek、Microsoft Network Monitor和CISCO Secure IDS 等軟件;
(8) 支持以各種過濾條件進行捕捉,支持通過設置顯示過濾來顯示指定的內容,并能以不同的顏色來顯示過濾后的報文;
(9) 具有網絡報文數據統計功能;
(10) 可以將它捕捉到的數據導出為XML、PostScript、CSV及普通文本文件的格式。
運行WireShark所需的文件:
現在WireShark的最終版本是1.0.5,我們可以到 www.wireshark.org/download/上下載它。如果WireShark要在Windows系統下運行時,還需要一個名為 Winpcap的驅動庫,現在它的穩定版本是WinPcap 4.0.2,最新的測試版本是WinPcap 4.1 beta3,我們可以從http://www.winpcap.org上下載。如果是在Linux系統下使用時,就應當使用Libpcap驅動庫,它現在 的版本是Libpcap1.0.0,我們可以從www.tcpdump.org上下載。
WireShark在Windows和Linux系統下安裝之前,首先你得保證系統上已經安裝了Winpcap或Linpcap。下圖1.1就是WireShark在Windows系統下運行時的主界面。
2、Tcpdump和Windump
Tcpdump是一個老牌的使用最頻繁的網絡協議分析軟件之一,它是一個基于命令行的工具。Tcpdump通過使用基本的命令表達式,來過濾網絡接口卡上要捕捉的流量。它支持現在已經出現了絕大多數的以太網適配器。
Tcpdump是一個工作在被動模式下的網絡 嗅探 器。 我們可以用它來在Linux系統下捕獲網絡中進出某臺主機接口卡中的數據包,或者整個網絡段中的數據包,然后對這些捕獲到的網絡協議(如TCP、ARP) 數據包進行分析和輸出,來發現網絡中正在發生的各種狀況。例如當出現網絡連通性故障時,通過對TCP三次握手過程進行分析,可以得出問題出現在哪個步驟。 而許多網絡或安全專家,都喜歡用它來發現網絡中是否存在ARP地址欺騙。我們也可以將它捕獲到的數據包先寫入到一個文件當中,然后用WireShark等 有圖形界面的 嗅探 器讀取和分析。
它的命令格式為:
tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ][ -i 網絡接口 ] [ -r 文件名]
[ -s snaplen] [ -T 類型 ] [ -w 文件名 ] [表達式 ]
我們可以使用-i參數來指定要捕捉的網絡接口卡,用-r來讀取已經存在的捕捉文件,用-w來將捕捉到的數據寫入到一個文件中。至于其它的參數,我們可以從它的man文檔中得到詳細的說明,或者通過輸入“tcpdump –-help”來到它的幫助信息。
Tcpdum有一個非常重要的特點就是可以使用正則表達式來作為過濾網絡報文的條件,這使得它的 使用變得非常靈活。我們可以通過它內建的各種關鍵字來指定想要過濾的條件,一旦一個網絡數據包滿足表達式的條件,則這個數據包就會被捕獲。如果我們沒有給 出任何條件,那么所有通過指定網絡接口卡中的網絡報文都會被捕獲。
Tcpdump使用以下三種類型的關鍵字:
(1)、用于表式類型的關鍵字,主要有Host、Net和Port。它們分別用來指定主機的IP地址、指定網絡地址和指定端口。如果你沒有指定關鍵字,它就會使用缺省的Host類型。
(2)、用于表式傳輸方向的關鍵字,主要有Src、Dst。分別用來指定要捕捉的源IP地址是什么或目的IP地址是什么的包。
(3)、用來表式捕捉什么協議的關鍵字,主要有ip,arp,tcp,udp等。
這些關鍵字之間可以使用邏輯運算關鍵字來連接,以便于我們指定某個范圍或排除某個主機等。這些邏 輯運算關鍵字也有三個,分別是取非運算“not”,或者可以用“!”符號表示;與運算“and”,可以用“&&” 符號表示;或運算“or”,可以用“||”符號表示。
Tcpdump的關鍵字還有很多,我就不在此全部列出。其它的可以通過它的幫助文檔來得到它們的詳細說明。
運行Tcpdump需要的文件:
Tcpdump可以很好地運行在UNIX、Linux和Mac OSX操作系統上,它現在的最新版本是TCPDUMP 4.0.0,我們可以從www.tcpdump.org上下載它的二進制包。同時,要運行它,也需要系統中安裝有Libpcap1.0.0這個驅動庫。
Tcpdump在Windows系統下的版本就是Windump,它也是一個免費的基于命令行方 式的網絡分析軟件。當然,我們在使用Windump之前,同樣要確保系統中已經安裝有WinPcap 4.0.2驅動庫。下圖2.1就是Tcpdump在Linux系統控制臺下運行時的界面。
3、 DSniff
DSniff是一個非常強大的網絡 嗅探 軟件套件,它是最先將傳統的被動 嗅探 方式向主動方式改進的網絡 嗅探 軟件之一。DSniff軟件套件中包含了許多具有特殊功能的網絡 嗅探 軟件,這些特殊的網絡 嗅探 軟件可以使用一系列的主動攻擊方法,將網絡流量重新定向到網絡 嗅探 器主機,使得網絡 嗅探 器有機會捕獲到網絡中某臺主機或整個網絡的流量。這樣一來,我們就可以將DSniff在交換或路由的網絡環境中,以及Cable modem拔號上網的環境中使用。甚至,當安裝有DSniff的網絡 嗅探 器不直接連接到目標網絡當中,它依然可以通過運程的方式捕獲到目標網絡中的網絡報文。DSniff支持Telnet 、Ftp、Smtp、P0P3、HTTP,以及其它的一些高層網絡應用協議。它的套件當中,有一些網絡 嗅探 軟件具有特殊的竊取密碼的方法,可以用來支持對SSL和SSH加密了的數據進行捕獲和解密。DSniff支持現在已經出現了的絕大多數的以太網網卡。
我們可以使用DSniff來驗證我們的安全防范設置是否可靠,以及用來監控使用交換機或路由器的網絡環境中網絡的運行情況。但我們在使用DSniff之前,最好先考慮清楚它本身可能會給我們帶來的新的安全風險,以防止造成不必要的損失。
DSniff套件當中,主要包含有以下幾個方面的網絡 嗅探 軟件:
(1)、arpspoof(arp欺騙):通過它來進行ARP地址欺騙,將網絡流量重定向到網絡 嗅探 主機,然后就機會捕捉到網絡數據包;
(2)、dnsspoof(dns欺騙):通過它來進行DNS欺騙。它有一個非常重要的功能就是webmitm,這種功能主要是用來捕獲SSL和SSH加密了的數據;
(3)、mailsnarf:它可以將SMTP方式發送的E-Mail信息,重新組裝成一種MBOX格式,然后就可以離線狀態下被一些郵件收發軟件讀取;
(4)、filesnart:它可以用來得到以NFS、SMB方式傳輸的文件的一個副本;
(5)、urlsnart:它可以 嗅探 到來自HTTP流量中所有發送的URLs 請求,并保存為通用日志文件(CLF)格式。這種日志文件可以被大多數的WEB服務器所使用,可以在離線的狀態下被WEB日志分析工具讀取;
(6)、webspy :它能將從客戶處 嗅探 到的URL地址,發送到攻擊者的WEB瀏覽器中顯示。并且實時更新,攻擊者就可以看到你到底瀏覽了哪些網站;
(7)、msgsnarf :用它可以對一些實時聊天軟件進行 嗅探 ;
(8)、screenspy :用進行屏幕監控;
(9)、macof:它使用MAC地址溢出攻擊方法來攻擊交換機。通過不斷向交換機
發送包含有冒充的MAC地址的數據包,以此來溢出交換機的MAC地址表。
此時,交換就會以廣播的方式發送所接收到的數據包。它一般在上述 嗅探 軟件
前使用;
(10)、tcpkill:一種拒絕服務攻擊(DoS)。主要用來切斷與合法主機的網絡連接,保證 嗅探 工作的正常進行。它一般在上述 嗅探 軟件前使用。
運行DSniff所需的文件:
DSniff可以Linux和Windows操作系統平臺下使用,它支持絕大多數的Linux
發行版本和Windows 2000以上的版本。DSniff現在在Linux中的版本是dsniff-2.4。我們可以從www.monkey.org上下載dsniff- 2.4b1.tar.gz這個包。當我們在Linux系統平臺中使用DSniff時,還需要以下的幾個文件:
(1)、dsniff-2.4-configure.in.diff補丁包;
(2)、dsniff-2.4-sshow.c.diff補丁包;
(3)、libnet-1.0.2a.tar.gz;
(4)、libnids-1.16-1.i386.rpm;
(5)、libpcap-0.4-39.i386.rpm;
如果安裝了上述文件還不能正常工作,我們還必需安裝db4.1.25和openssl。上述的這些文件可以在www.xfocus.net/tools/上下載。
如果要在Windows系統平臺下使用,我們就需要以下的這些文件:
(1)、dsniff-1.8-win32-static.tgz;
(2)、libnids-1.16-win32.zip;
(3)、libevent-0.6-win32.zip;
(4)、winpcap4.0及以上版本。
它們也可以從www.xfocus.net/tools/上下載。
4、 Ettercap
Ettercap也是一個高級網絡 嗅探 軟 件,它可以在使用交換機的網絡環境中使用。Ettercap能夠對大多數的網絡協議數據包進行解碼,不論這個數據包是不是加密過了的。它也支持現在已經出 現了的絕大多數以太網網卡。Ettercap還擁有一些獨特的方法,用來捕獲主機或整個網絡的流量,并對這些流量進行相應的分析。
Ettercap具有如下所示的特點:
(1)、判斷網絡中活動主機的操作系統類型;
(2)、得到網絡中所有活動主機的IP地址和MAC地址;
(3)、可以指定以靜態或被動模式進行工作;
(4)、可以從指定的過濾規則文件中加入過濾規則;
(5)、具有包過濾功能,在數據流量比較大的情況下讓你便于得到需要的信息。
(6)、可以用來收集網絡中以明文方式傳輸的用戶名和密碼;
(7)、可以將捕獲到的數據保存到指定位置的文件中;
(8)、可以用來檢測網絡中是否還有其它活動的 嗅探 器;
(9)、支持以插件的方式來擴展功能;
(10)、可以通過一些主動的攻擊,來得到加密了的數據;
(11)、它內建了許多攻擊方法,如ARP地址欺騙,以及字符注入攻擊等。
Ettercap的大部分特性與DSniff相似。它可以在字符模式下使用,也可以在使用 Ncurses based GUI和GTK2接口的圖形界面上使用。當我們安裝完Ettercap以后,就可以用“-T”選項指定它運行在字符模式下,以“-C”選項指定它運行在使 用Ncurses based GUI的圖形模式下,還可以“-G”選項指定它運行在使用GTK2接口的圖形模式下。Ettercap的命令格式如下:
Ettercap [選項] [host:port] [host:port] [mac] [mac]
它有許多選項,我們可以在字符模式下輸入“ettercap –help”命令來得到它們的說明。
運行Ettercap所需的文件:
Ettercap可以Linux、Windows、FreeBSD 、OpenBSD 、NetBSD 、Mac OS X 及Sloaris等操作系統平臺中運行。
當我們在Linux下使用Ettercap 嗅探 軟件時,就需要下列所有的這幾個文件:
(1)、ettercap-NG-0.7.3.tar.gz;
(2)、libpcap >= 0.8.1;
(3)、libnet >= 1.1.2.1;
(4)、libpthread;
(5)、zlib。
如果我們還要在圖形界面中使用或者還想得到SSH和SSL加密了的數據,還應當得
下列的文件:
(1)、libltdl,它是libtool的一部分;
(2)、libpcre;
(3)、openssl 0.9.7;
(4)、ncurses >= 5.3;
(5)、pkgconfig >= 0.15.0;
(6)、Glib >= 2.4.x、Pango >= 1.4.x。
如果我們要在Windows系統下使用它,就必需使用下列兩個文件:
(1)、Ettercap-NG-0.7.3-win32.exe;
(2)、winpcap4.0及以上版本。
上面所示的文件,我們都可以從http://ettercap.sourceforge.net/download.php網站下載。
5、NetStumbler
NetStumbler是一個用來尋找使用IEEE802.11a/b/g標準的無線局域網工具。它支持 包括PCMCIA 無線適配器在內的絕大多數主流無線適配器,同時,還加入了對全球 GPS 衛星定位系統的支持。
NetStumbler可以完成以下的工作:
(1)、用來進行“戰爭駕駛”;
(2)、用來驗證無線客戶和無線AP的配置是否存在弱點;
(3)、用來尋找一些可以接入的無線局域網所在的方位。
(4)、用來檢測干擾無線局域網信號的原因;
(5)、用來檢測一些沒有經過授權的無線接入點;
(6)、用來得到無線局域網的SSID值。
運行NetStumbler所需的文件:
NetStumbler可以在Windows98及以上的操作系統版本中運行,它還有一個精簡版本,用來在Windows CE系統下使用。
NetStumbler是一個免費的軟件,它現在的最新版本是 NetStumbler0.4.0,Windows CE下最新的版本是MiniStumbler0.4.0。這兩個安裝包你都可以從www.netstumbler.com/downloads/網站下 載。圖5.1是NetStumbler啟動后的主界面。
圖5.1 NetStumbler的主界面
6、Kismet
Kismet 一個基于IEEE802.11系統標準的無線網絡檢測、 嗅探 軟 件,以及入侵檢測系統,它是一個開源的、免費的軟件。Kismet能夠與絕大多數支持RF監控模式的無線適配器一起工作。例如PRISM2、2.5、3和 GT無線芯片,以及Orinoco Gold和Atheros a/b/g無線芯片的無線適配器。當無線適配器處于監控模式(monitoring mode)時,它可以 嗅探 到兼容IEEE802.11a/b/g標準的無線網絡中傳輸的網絡流量。Kismet主要以被動的方式對無線網絡進行 嗅探 ,來檢測出標準的無線網絡名稱,包括隱藏了SSID值的無線網絡也能夠被檢測到。
Kismet具有以下的特點:
(1)、能將 嗅探 到的文件保存為Tcpdump等軟件可以讀取的格式;
(2)、能檢測出無線網絡現在所使用的IP地址范圍;
(3)、能檢測出無線網絡中安裝有NetStumbler軟件的主機,以此來找到非法無線接入者;
(4)、能檢測出隱藏了的無線網絡SSID值;
(5)、與GPS合作,繪制無線訪問點和無線客戶所在位置的網絡地圖;
(6)、使用客戶/服務器體系結構;
(7)、可識別無線訪問點和無線客戶中無線適配器的制造商和工作模式;
(8)、能找出無線訪問點和無線客戶現在存在的弱點;
(9)、可以解碼通過WEP加密的數據包;
(10)、可以和其它軟件合作,來擴展這些軟件的應用范圍。例如可以與snort網絡入侵檢測系統合作;
運行Kismet所需的文件:
Kismet可以在Linux2.0及以上的發行版本中運行得很好。在剛開始時,它只支持Linux系統平臺,現在,它也有運行在Windows2000及以上系統下的版本。
當Kismet在 Linux發行版本中運行,我們可以從http://www.kismetwireless.net/download.shtml下載Kismet- 2008-05-R1文件。如果要在Windows2000及以上系統中運行,我們就需要從上述相同網站中下載 setup_kismet_2008-05-R1.exe安裝文件,還必需從www.cacetech.com/support /downloads.htm 下載AirPcap的setup_airpcap_3_2_1.exe文件。圖6.1就是Kismet在Linux系統字符終端下運行的界面。
圖6.1 Kismet在Linux系統字符終端下運行的界面
在以太網中,還有一些網絡 嗅探 軟件也是比較常用的。例如Sniffer Pro網絡協議分析軟件,它可以在多種平臺下運行,用來對網絡運行狀況進行實時分析,而且又有豐富的圖示功能。以及Analyzer,它是一個運行在Windows操作系統下的免費的網絡 嗅探 軟件。另外,還一些商業性質的網絡 嗅探 軟件,雖然它們需要支付一定的費用,但是,它們的功能也是沒得說的,其中比較著名的代表就是EtherPeek套件。
用網絡分析器來為我們工作
現在,你已經知道如何將你的網絡分析器連入到你的網絡結構中了,就可以著手使用網絡分析器來為自 己進行各種網絡管理或安全管理等工作的時候了。網絡分析器,主要用來幫助進行系統管理,解決網絡疑難問題,進行安全管理這三方面的工作。下面就對這三個方 面的具體內容進行詳細說明。
一、使用網絡分析器來進行系統管理
一臺處于網絡中的主機,對于出現的一些關于網絡連通性相關的問題,在通過一些常規的網絡命令工具(如ping命令)不能確定是系統還是網絡服務器出現問題時,就可以通過網絡分析器來分析某種網絡協議(如TCP協議)的工作方式,來確定問題所在。
現在通過一個解決TCP連接的例子來說明如何使用網絡協議來幫助系統管理的。
一般要完成一個成功的TCP連接,必需經過三層握手,我們可以通過使用網絡分析器來分析TCP連接過程中的三次握手時的響應標志,就以發現問題的所在。一共有以下三種情況:
1、有SYN標志,沒有SYN+ACK標志。
當網絡分析器捕獲的包中只有客戶機的SYN包,但沒有來自服務器響應的SYN+ACK標志包,那么,就可以說明服務器不能處理數據包,可能原因是被防火墻類設備阻止。
2、SYN后服務器立即響應RST。
這種方式說明目標服務器的所對應的服務沒有開放對應的正確端口。重新綁定商品對應的服務上就可以解決這個問題。
3、SYN SYN+ACK ACK 立即關閉。
如果TCP建立連接后立即關閉,可能是由于目標服務器拒絕使用包中源IP地址的客戶機連接服務器。檢查服務器中的防火墻及其它安全軟件中的訪問控制列表,將客戶機的IP地址添加到信任列表當中。
二、使用網絡分析器來解決網絡疑難問題
網絡管理的一個基本職能,就是應當盡量解決網絡中出現的各種故障,以確保網絡能夠正常運行。解決 網絡故障的關鍵,就是應當盡快找到故障出現的位置,然后確定故障產生的原因。有一種方法可以幫助我們能夠加快解決網絡故障的速度,就是在網絡的各個關鍵位 置布置網絡分析器。這樣,你就可以通過網絡分析器來了解現在網絡傳輸速度,網絡會話過程是否正常,檢測有哪些設備出現了故障,故障產生的原因是什么等等。
還有,為了快速正確地解決網絡問題,在事先制定一個解決問題的策略是一個很好的方法。這會最大限度地減少在處理故障過程中出現的人為失誤。一個好的處理網絡故障的步驟一般應包括以下幾個方面:
發現問題-認識問題-問題分類-隔離問題-驗證和測試問題的起因-解決問題-驗證問題是否真的被解決。
三、使用網絡分析器來進行安全管理
網絡分析器是一個非常好的網絡協議分析工具,用它不僅能找到一些網絡應用程序在數據傳輸過程中的 缺點,例如FTP和Telnet都是通過明文方式來傳輸數據的,因此,網絡分析器能輕而易舉地捕獲到這些數據包中的重要信息(如用戶名和密碼)。由此,也 可以使用網絡分析器來檢查其它需要在網絡中使用的網絡協議的傳輸是否安全。
同時,我們還可以使用網絡分析器來檢查存于系統中的蠕蟲病毒傳播的源頭,以及諸如拒絕服務攻擊產生的源頭等等。
因此,使用網絡分析器來分析網絡流量,可以幫助我們找到網絡安全弱點,強化我們的安全策略。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
