少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          如果你是一位網(wǎng)絡(luò)應(yīng)用開發(fā)者,你在開發(fā)過程中肯定會使用到網(wǎng)絡(luò)協(xié)議分析器(network protocol analyzer), 我們也可以稱之為“嗅探器”。eEye 公司有一款很不錯的網(wǎng)絡(luò)協(xié)議分析器產(chǎn)品 “Iris”, 我一直使用它的 4.07 版本,由于其功能完備,一直沒有太多的關(guān)注其他同類軟件,但此版本不能工作在 Windows Vista 上,也不能對無線網(wǎng)絡(luò)適配器進(jìn)行分析,而我恰好要在 Vista 上做很多開發(fā)工作,又經(jīng)常使用無線網(wǎng)絡(luò)連接的筆記本電腦,Iris 4.07 無法滿足我的工作需求了。

          幸運(yùn)的是,Wireshark(線鯊)一款基于 winpcap/tcpdump 的開源網(wǎng)絡(luò)協(xié)議分析軟件對vista和無線網(wǎng)絡(luò)的兼容都很好。他的前身就是Ethereal。他具備了和 Iris 同樣強(qiáng)大的 Decode 能力,甚至線性截包的能力超過 iris。要用好分析器很重要的一點(diǎn)就是設(shè)置好 Filter(過濾器),在這一點(diǎn)上 Wireshark 的過濾表達(dá)式更顯強(qiáng)大。

          我們來看個幾個簡單的過濾器例子:

          “ip.dst==211.244.254.1” (所有目標(biāo)地址是211.244.254.1的ip包)

          “tcp.port==80″ (所有tcp端口是80的包)

          你可以把上述表達(dá)式用 and 連接起來

          “(ip.dst==211.244.254.1) and (tcp.port==80)”

          或者再稍加變換

          “(ip.dst==211.244.254.1) and !(tcp.port==80)” (所有目的ip是211.244.254.1非 80 端口)

          使用表達(dá)式設(shè)置過濾器比之在界面上選擇/填空更加快捷靈活,如果你不熟悉這些表達(dá)式,Wireshark 也提供了設(shè)置界面,并且最終生成表達(dá)式,這樣也方便了使用者學(xué)習(xí)。

          Wireshark 還提供了更高級的表達(dá)式特性,請看如下表達(dá)式

          (tcp.port==80) and (ip.dst==211.244.254.1) and (http[5:2]==7075)

          對象 http 就是 wireshark 解碼以后的 http 數(shù)據(jù)部分 http[5:2] 就是指從 下標(biāo) 5 開始的兩個字節(jié),請思考一下這樣的http 請求

          GET /pu*****

          怎么樣,如果你在瀏覽器中訪問 http://www.google.com/pu 或者 http://www.google.com/put 或者 http://www.google.com/pub 都會被記錄下來,匹配 *****pu***… 了

          這樣我們就可以方便的將我們需要檢測的某個特別的網(wǎng)絡(luò)指令過濾出來。

          比如我在幫某硬件編寫上位機(jī)程序的時候,指令總是以固定格式發(fā)送的,很容易我們就能過濾掉煩人的無用的信息,大大的提升了工作效率。

          轉(zhuǎn)自cp62的專欄,http://blog.csdn.net/cp62/archive/2008/12/25/3603372.aspx

          posted on 2012-11-09 12:41 abin 閱讀(2156) 評論(0)  編輯  收藏 所屬分類: wireshark

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泰兴市| 林西县| 钟祥市| 哈尔滨市| 儋州市| 武宣县| 郎溪县| 尼木县| 米易县| 建德市| 湟中县| 乳山市| 襄城县| 佛山市| 九寨沟县| 互助| 白河县| 江川县| 博白县| 惠州市| 横峰县| 任丘市| 白河县| 恩平市| 宿州市| 孟村| 宜阳县| 临夏市| 灵宝市| 湟源县| 开鲁县| 随州市| 克什克腾旗| 金华市| 县级市| 礼泉县| 滦南县| 宿松县| 肥城市| 横峰县| 洪泽县|