
運行環(huán)境及安裝
Sniffer Pro可運行在局域網(wǎng)的任何一臺機器上,如果是練習(xí)使用,網(wǎng)絡(luò)連接最好用Hub且在一個子網(wǎng),這樣能抓到連到Hub上每臺機器傳輸?shù)陌?br>本文用的版本是4.6,Sniffer Pro軟件的獲取可在www.baidu.com或www.google.com 中輸入Sniffer Pro 4.6,查找相應(yīng)的下載站點來下載。 該版本是不要序列號的。
安裝非常簡單,setup后一路確定即可,第一次運行時需要選擇你的網(wǎng)卡。
最好在win2000下運行,在win2003下運行網(wǎng)絡(luò)流量表有問題。
常用功能介紹
1、Dashboard (網(wǎng)絡(luò)流量表)
點擊圖1中①所指的圖標(biāo),出現(xiàn)三個表,第一個表顯示的是網(wǎng)絡(luò)的使用率(Utilization),第二個表顯示的是網(wǎng)絡(luò)的每秒鐘通過的包數(shù)量(Packets),第三個表顯示的是網(wǎng)絡(luò)的每秒錯誤率(Errors)。通過這三個表可以直觀的觀察到網(wǎng)絡(luò)的使用情況,紅色部分顯示的是根據(jù)網(wǎng)絡(luò)要求設(shè)置的上限。
選擇圖1中②所指的選項將顯示如圖2所示的更為詳細(xì)的網(wǎng)絡(luò)相關(guān)數(shù)據(jù)的曲線圖。每個子項的含義無需多言,下面介紹一下測試網(wǎng)絡(luò)速度中的幾個常用單位。
在TCP/IP協(xié)議中,數(shù)據(jù)被分成若干個包(Packets)進(jìn)行傳輸,包的大小跟操作系統(tǒng)和網(wǎng)絡(luò)帶寬都有關(guān)系,一般為64、128、256、512、1024、1460等,包的單位是字節(jié)。
很多初學(xué)者對Kbps、KB、Mbps 等單位不太明白,B 和 b 分別代表 Bytes(字節(jié)) 和 bits(比特),1比特就是0或1。1 Byte = 8 bits 。
1Mbps (megabits per second兆比特每秒),亦即 1 x 1024 / 8 = 128KB/sec(字節(jié)/秒),我們常用的ADSL下行512K指的是每秒 512K比特(Kb), 也就是每秒512/8=64K字節(jié)(KB)

2、Host table(主機列表)
如圖3所示,點擊圖3中①所指的圖標(biāo),出現(xiàn)圖中顯示的界面,選擇圖中②所指的IP選項,界面中出現(xiàn)的是所有在線的本網(wǎng)主機地址及連到外網(wǎng)的外網(wǎng)服務(wù)器地址,此時想看看192.168.113.88這臺機器的上網(wǎng)情況,只需如圖中③所示單擊該地址出現(xiàn)圖4界面。
圖4中清楚地顯示出該機器連接的地址。點擊左欄中其它的圖標(biāo)都會彈出該機器連接情況的相關(guān)數(shù)據(jù)的界面。

3、Detail(協(xié)議列表)
點擊圖5所示的“Detail”圖標(biāo),圖中顯示的是整個網(wǎng)絡(luò)中的協(xié)議分布情況,可清楚地看出哪臺機器運行了那些協(xié)議。注意,此時是在圖3的界面上點擊的,如果在圖4的界面上點擊顯示的是那臺機器的情況。

4、Bar(流量列表)
點擊圖6所示的“Bar”圖標(biāo),圖中顯示的是整個網(wǎng)絡(luò)中的機器所用帶寬前10名的情況。顯示方式是柱狀圖,圖7顯示的內(nèi)容與圖6相同,只是顯示方式是餅圖。
http://cache42.51.com/photo5/32/cf/kvw51/27f6851ca4de4224fc67d9e03d44af4c.jpg
http://cache42.51.com/photo5/32/cf/kvw51/2e09bd0f3f54bfa407730ea2f5ef72b0.jpg
5、Matrix (網(wǎng)絡(luò)連接)
點擊圖8中箭頭所指的圖標(biāo),出現(xiàn)全網(wǎng)的連接示意圖,圖中綠線表示正在發(fā)生的網(wǎng)絡(luò)連接,藍(lán)線表示過去發(fā)生的連接。將鼠標(biāo)放到線上可以看出連接情況。鼠標(biāo)右鍵在彈出的菜單中可選擇放大(zoom)此圖。
http://cache42.51.com/photo5/32/cf/kvw51/0bbcf0fe1b02a527ce59e774713929db.jpg
抓包實例
1、抓某臺機器的所有數(shù)據(jù)包
如圖9所示,本例要抓192.168.113.208這臺機器的所有數(shù)據(jù)包,如圖中①選擇這臺機器。點擊②所指圖標(biāo),出現(xiàn)圖10界面,等到圖10中箭頭所指的望遠(yuǎn)鏡圖標(biāo)變紅時,表示已捕捉到數(shù)據(jù),點擊該圖標(biāo)出現(xiàn)圖11界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。

圖9

圖10

圖11
2、抓Telnet密碼
本例從192.168.113.208 這臺機器telnet到192.168.113.50,用Sniff Pro抓到用戶名和密碼。
步驟1:設(shè)置規(guī)則
如圖12所示,選擇Capture菜單中的Defind Filter,出現(xiàn)圖13界面,選擇圖13中的ADDress項,在station1和2中分別填寫兩臺機器的IP地址,如圖14所示選擇Advanced選項,選擇選IP/TCP/Telnet ,將 Packet Size設(shè)置為 Equal 55, Packet Type 設(shè)置為 Normal.。

圖12
圖13

圖14
步驟2:抓包
按F10鍵出現(xiàn)圖15界面,開始抓包。

圖15
步驟3:運行telnet命令
本例使telnet到一臺開有telnet服務(wù)的Linux機器上。
telnet 192.168.113.50
login: test
Password:
步驟4:察看結(jié)果
圖16中箭頭所指的望遠(yuǎn)鏡圖標(biāo)變紅時,表示已捕捉到數(shù)據(jù),點擊該圖標(biāo)出現(xiàn)圖17界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。可以清楚地看出用戶名為test密碼為123456。

圖16

圖17
解釋:
雖然把密碼抓到了,但大家也許對包大?。≒acket Size)設(shè)為55不理解,網(wǎng)上的數(shù)據(jù)傳送是把數(shù)據(jù)分成若干個包來傳送,根據(jù)協(xié)議的不同包的大小也不相同,從圖18可以看出當(dāng)客戶端telnet到服務(wù)端時一次只傳送一個字節(jié)的數(shù)據(jù),由于協(xié)議的頭長度是一定的,所以telnet的數(shù)據(jù)包大小=DLC(14字節(jié))+IP(20字節(jié))+TCP(20字節(jié))+數(shù)據(jù)(一個字節(jié))=55字節(jié),這樣將Packet Size設(shè)為55正好能抓到用戶名和密碼,否則將抓到許多不相關(guān)的包。

圖18
3、抓FTP密碼
本例從192.168.113.208 這臺機器ftp到192.168.113.50,用Sniff Pro抓到用戶名和密碼。
步驟1:設(shè)置規(guī)則
如圖12所示,選擇Capture菜單中的Defind Filter出現(xiàn)圖19界面,選擇圖19中的ADDress項,在station1和2中分別填寫兩臺機器的IP地址,選擇Advanced選項,選擇選IP/TCP/FTP ,將 Packet Size設(shè)置為 In Between 63 -71, Packet Type 設(shè)置為 Normal。如圖20所示,選擇Data Pattern項,點擊箭頭所指的Add Pattern按鈕,出現(xiàn)圖21界面,按圖設(shè)置OFFset為2F,方格內(nèi)填入18,name可任意起。確定后如圖22點擊Add NOT按鈕,再點擊Add Pattern按鈕增加第二條規(guī)則,按圖23所示設(shè)置好規(guī)則,確定后如圖24所示。

圖19

圖20

圖21

圖22

圖23

圖24
步驟2:抓包
按F10鍵出現(xiàn)圖15界面,開始抓包。
步驟3:運行FTP命令
本例使FTP到一臺開有FTP服務(wù)的Linux機器上
D:/>ftp 192.168.113.50
Connected to 192.168.113.50.
220 test1 FTP server (Version wu-2.6.1(1) Wed Aug 9 05:54:50 EDT 2000) ready.
User (192.168.113.50:(none)): test
331 Password required for test.
Password:
步驟4:察看結(jié)果
圖16中箭頭所指的望遠(yuǎn)鏡圖標(biāo)變紅時,表示已捕捉到數(shù)據(jù),點擊該圖標(biāo)出現(xiàn)圖25界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包??梢郧宄乜闯鲇脩裘麨閠est密碼為123456789。

圖25
解釋:
雖然把密碼抓到了,但大家也許設(shè)不理解,將圖19中Packet Size設(shè)置為 63 -71是根據(jù)用戶名和口令的包大小來設(shè)置的,圖25可以看出口令的數(shù)據(jù)包長度為70字節(jié),其中協(xié)議頭長度為:14+20+20=54,與telnet的頭長度相同。Ftp的數(shù)據(jù)長度為16,其中關(guān)鍵字PASS占4個字節(jié),空格占1個字節(jié),密碼占9個字節(jié),Od 0a(回車 換行)占2個字節(jié),包長度=54+16=70。如果用戶名和密碼比較長那么Packet Size的值也要相應(yīng)的增長。
Data Pattern中的設(shè)置是根據(jù)用戶名和密碼中包的特有規(guī)則設(shè)定的,為了更好的說明這個問題,請在開著圖15的情況下選擇Capture菜單中的Defind Filter,如圖20所示,選擇Data Pattern項,點擊箭頭所指的Add Pattern按鈕,出現(xiàn)圖26界面,選擇圖中1所指然后點擊2所指的Set Data按鈕。OFFset、方格內(nèi)、Name將填上相應(yīng)的值。
同理圖27中也是如此。
這些規(guī)則的設(shè)置都是根據(jù)你要抓的包的相應(yīng)特征來設(shè)置的,這些都需要對TCP/IP協(xié)議的深入了解,從圖28中可以看出網(wǎng)上傳輸?shù)亩际且晃灰晃坏谋忍亓鳎僮飨到y(tǒng)將比特流轉(zhuǎn)換為二進(jìn)制,Sniffer這類的軟件又把二進(jìn)制換算為16進(jìn)制,然后又為這些數(shù)賦予相應(yīng)的意思,圖中的18指的是TCP協(xié)議中的標(biāo)志位是18。OFFset指的是數(shù)據(jù)包中某位數(shù)據(jù)的位置,方格內(nèi)填的是值。

圖26

圖27

圖28
4、抓HTTP密碼
步驟1:設(shè)置規(guī)則
按照下圖29、30進(jìn)行設(shè)置規(guī)則,設(shè)置方法同上。

圖29

圖30
步驟2:抓包
按F10 鍵開始抓包。
步驟3:訪問www.ccidnet.com網(wǎng)站
步驟4:察看結(jié)果
圖16中箭頭所 指的望遠(yuǎn)鏡圖標(biāo)變紅時,表示已捕捉到數(shù)據(jù),點擊該圖標(biāo)出現(xiàn)圖31界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。在Summary中找到含有POST關(guān)鍵字的包,可以清楚地看出用戶名為qiangkn997,密碼為?,這可是我郵箱的真實密碼!當(dāng)然不能告訴你,不過歡迎來信進(jìn)行交流。

圖31
后記
本文中的例子是網(wǎng)內(nèi)試驗,若捕捉全網(wǎng)機器的有關(guān)數(shù)據(jù)請將圖13中的station設(shè)置為any<->any,作為學(xué)習(xí)研究可以,可別做壞事!如果要用好Sniff Pro必須有扎實的網(wǎng)絡(luò)基礎(chǔ)知識特別是TCP/IP協(xié)議的知識,其實Sniff Pro本身也是學(xué)習(xí)這些知識的好工具。
Sniffer Pro是個博大精深的工具,由于水平有限,本文這是介紹了其中的一小部分,希望能起到拋磚引玉的作用。