Sniffer Pro 教程
曾寫過《用協議分析工具學習TCP/IP》一文,有幸受到一些人的關注,該文中用的工具是Iris,其實Sniffer Pro是非常優秀的協議分析軟件,許多下載網站說它是最好的網絡協議分析軟件。做為一名合格的網管肯定需要有這么一套好的網絡協議分析軟件,它對分析網絡故障等極為有用。 Sniffer Pro同時又是非常優秀的嗅探器,也就是說它可以捕捉到網絡中其它機器的帳號和密碼。本文介紹它的基本功能和用幾個例子來演示捕捉密碼的過程,也算是對學習TCP/IP的一些補充。介紹嗅探(Sniffer)原理的文章非常多,本文就不啰嗦了。
二、運行環境及安裝
Sniffer Pro可運行在局域網的任何一臺機器上,如果是練習使用,網絡連接最好用Hub且在一個子網,這樣能抓到連到Hub上每臺機器傳輸的包。
本文用的版本是4.6,Sniffer Pro軟件的獲取可在http://www.baidu.com/或http://www.google.com中輸入sniffer%20pro%204.6/ 中輸入Sniffer Pro 4.6,查找相應的下載站點來下載。 該版本是不要序列號的。
安裝非常簡單,setup后一路確定即可,第一次運行時需要選擇你的網卡。
最好在win2000下運行,在win2003下運行網絡流量表有問題。
三、常用功能介紹
1、Dashboard (網絡流量表)
點擊圖1中①所指的圖標,出現三個表,第一個表顯示的是網絡的使用率(Utilization),第二個表顯示的是網絡的每秒鐘通過的包數量(Packets),第三個表顯示的是網絡的每秒錯誤率(Errors)。通過這三個表可以直觀的觀察到網絡的使用情況,紅色部分顯示的是根據網絡要求設置的上限。
選擇圖1中②所指的選項將顯示如圖2所示的更為詳細的網絡相關數據的曲線圖。每個子項的含義無需多言,下面介紹一下測試網絡速度中的幾個常用單位。
在TCP/IP協議中,數據被分成若干個包(Packets)進行傳輸,包的大小跟操作系統和網絡帶寬都有關系,一般為64、128、256、512、1024、1460等,包的單位是字節。
很多初學者對Kbps、KB、Mbps 等單位不太明白,B 和 b 分別代表 Bytes(字節) 和 bits(比特),1比特就是0或1。1 Byte = 8 bits 。
1Mbps (megabits per second兆比特每秒),亦即 1 x 1024 / 8 = 128KB/sec(字節/秒),我們常用的ADSL下行512K指的是每秒?512K比特(Kb), 也就是每秒512/8=64K字節(KB)
<img></img>
<img></img>
??????????????????????????????????????????? 圖2
2、Host table(主機列表)
如圖3所示,點擊圖3中①所指的圖標,出現圖中顯示的界面,選擇圖中②所指的IP選項,界面中出現的是所有在線的本網主機地址及連到外網的外網服務器(server網絡資源)地址,此時想看看192.168.113.88這臺機器的上網情況,只需如圖中③所示單擊該地址出現圖4界面。
<img></img>
圖3
圖4中清楚地顯示出該機器連接的地址。
點擊左欄中其它的圖標都會彈出該機器連接情況的相關數據的界面。
<img></img>
圖4
3、Detail(協議列表)
點擊圖5所示的“Detail”圖標,圖中顯示的是整個網絡中的協議分布情況,可清楚地看出哪臺機器運行了那些協議。注意,此時是在圖3的界面上點擊的,如果在圖4的界面上點擊顯示的是那臺機器的情況。
<img></img>
??????????????????????????????????????????? 圖5
4、Bar(流量列表)
點擊圖6所示的“Bar”圖標,圖中顯示的是整個網絡中的機器所用帶寬前10名的情況。顯示方式是柱狀圖,圖7顯示的內容與圖6相同,只是顯示方式是餅圖。
<img></img>
<img></img>
???????????????????????????????????????????? 圖7
5、Matrix (網絡連接)
點擊圖8中箭頭所指的圖標,出現全網的連接示意圖,圖中綠線表示正在發生的網絡連接,藍線表示過去發生的連接。將鼠標放到線上可以看出連接情況。鼠標右鍵在彈出的菜單中可選擇放大(zoom)此圖。
<img></img>
?????????????????????????????????????????? 圖8
四、抓包實例
1、抓某臺機器的所有數據包
如圖9所示,本例要抓192.168.113.208這臺機器的所有數據包,如圖中①選擇這臺機器。點擊②所指圖標,出現圖10界面,等到圖10中箭頭所指的望遠鏡圖標變紅時,表示已捕捉到數據,點擊該圖標出現圖11界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。
<img></img>
圖9
<img></img>
圖10
<img></img>
圖11
2、抓Telnet密碼
本例從192.168.113.208 這臺機器telnet到192.168.113.50,用Sniff Pro抓到用戶名和密碼。
步驟1:設置規則
如圖12所示,選擇Capture菜單中的Defind Filter,出現圖13界面,選擇圖13中的ADDress項,在station1和2中分別填寫兩臺機器的IP地址,如圖14所示選擇Advanced選項,選擇選IP/TCP/Telnet ,將 Packet Size設置為 Equal 55, Packet Type 設置為 Normal.。
<img></img>
圖12
<img></img>
?? 圖13
<img></img>
圖14
?????? 步驟2:抓包
按F10鍵出現圖15界面,開始抓包。
<img></img>
圖15
?????? 步驟3:運行telnet命令
本例使telnet到一臺開有telnet服務的Linux機器上。
telnet 192.168.113.50
login: test
Password:
步驟4:察看結果
圖16中箭頭所指的望遠鏡圖標變紅時,表示已捕捉到數據,點擊該圖標出現圖17界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。可以清楚地看出用戶名為test密碼為123456。
<img></img>
圖17
解釋:
雖然把密碼抓到了,但大家也許對包大小(Packet Size)設為55不理解,網上的數據傳送是把數據分成若干個包來傳送,根據協議的不同包的大小也不相同,從圖18可以看出當客戶端telnet到服務端時一次只傳送一個字節的數據,由于協議的頭長度是一定的,所以telnet的數據包大小=DLC(14字節)+IP(20字節)+TCP(20字節)+數據(一個字節)=55字節,這樣將Packet Size設為55正好能抓到用戶名和密碼,否則將抓到許多不相關的包。
<img></img>
?? 圖18
3、抓FTP密碼
本例從192.168.113.208 這臺機器ftp到192.168.113.50,用Sniff Pro抓到用戶名和密碼。
步驟1:設置規則
如圖12所示,選擇Capture菜單中的Defind Filter出現圖19界面,選擇圖19中的ADDress項,在station1和2中分別填寫兩臺機器的IP地址,選擇Advanced選項,選擇選IP/TCP/FTP ,將 Packet Size設置為 In Between 63 -71, Packet Type 設置為 Normal。如圖20所示,選擇Data Pattern項,點擊箭頭所指的Add Pattern按鈕,出現圖21界面,按圖設置OFFset為2F,方格內填入18,name可任意起。確定后如圖22點擊Add NOT按鈕,再點擊Add Pattern按鈕增加第二條規則,按圖23所示設置好規則,確定后如圖24所示。
<img></img>
圖19
<img></img>
圖20
<img></img>
圖21
<img></img>
圖22
<img></img>
圖23
<img></img>
圖24
?????? 步驟2:抓包
按F10鍵出現圖15界面,開始抓包。
步驟3:運行FTP命令
本例使FTP到一臺開有FTP服務的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.50none)): test
331 Password required for test.
Password:
步驟4:察看結果
圖16中箭頭所指的望遠鏡圖標變紅時,表示已捕捉到數據,點擊該圖標出現圖25界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。可以清楚地看出用戶名為test密碼為123456789。
<img></img>
??? 圖25
解釋:
雖然把密碼抓到了,但大家也許設不理解,將圖19中Packet Size設置為 63 -71是根據用戶名和口令的包大小來設置的,圖25可以看出口令的數據包長度為70字節,其中協議頭長度為:14+20+20=54,與telnet的頭長度相同。Ftp的數據長度為16,其中關鍵字PASS占4個字節,空格占1個字節,密碼占9個字節,Od 0a(回車 換行)占2個字節,包長度=54+16=70。如果用戶名和密碼比較長那么Packet Size的值也要相應的增長。
Data Pattern中的設置是根據用戶名和密碼中包的特有規則設定的,為了更好的說明這個問題,請在開著圖15的情況下選擇Capture菜單中的Defind Filter,如圖20所示,選擇Data Pattern項,點擊箭頭所指的Add Pattern按鈕,出現圖26界面,選擇圖中1所指然后點擊2所指的Set Data按鈕。OFFset、方格內、Name將填上相應的值。
同理圖27中也是如此。
這些規則的設置都是根據你要抓的包的相應特征來設置的,這些都需要對TCP/IP協議的深入了解,從圖28中可以看出網上傳輸的都是一位一位的比特流,操作系統將比特流轉換為二進制,Sniffer這類的軟件又把二進制換算為16進制,然后又為這些數賦予相應的意思,圖中的18指的是TCP協議中的標志位是18。OFFset指的是數據包中某位數據的位置,方格內填的是值。
<img></img>
???????? 圖26
<img></img>
?? 圖27
<img></img>
圖28
4、抓HTTP密碼
步驟1:設置規則
按照下圖29、30進行設置規則,設置方法同上。
<img></img>
?? 圖29
<img></img>
圖30
步驟2:抓包
按F10 鍵開始抓包。
步驟3:訪問http://www.ccidnet.com/網站
步驟4:察看結果
圖16中箭頭所 指的望遠鏡圖標變紅時,表示已捕捉到數據,點擊該圖標出現圖31界面,選擇箭頭所指的Decode選項即可看到捕捉到的所有包。在Summary中找到含有POST關鍵字的包,可以清楚地看出用戶名為qiangkn997,密碼為?,這可是我郵箱的真實密碼!當然不能告訴你,不過歡迎來信進行交流。
<img></img>
??? 圖31
五、后記
本文中的例子是網內試驗,若捕捉全網機器的有關數據請將圖13中的station設置為any<->any,作為學習研究可以,可別做壞事!如果要用好Sniff Pro必須有扎實的網絡基礎知識特別是TCP/IP協議的知識,其實Sniff Pro本身也是學習這些知識的好工具。Sniffer Pro是個博大精深的工具,由于水平有限,本文這是介紹了其中的一小部分,希望能起到拋磚引玉的作用。
總結
以上是生活随笔為你收集整理的Sniffer Pro 教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ISAPI简介
- 下一篇: Windows系统程序设计之结构化异常处