fiddler是一個很好的抓包工具,默認(rèn)是抓http請求的,對于pc上的https請求,會提示網(wǎng)頁不安全,這時候需要在瀏覽器上安裝證書。
創(chuàng)新互聯(lián)公司致力于網(wǎng)站設(shè)計、成都做網(wǎng)站,成都網(wǎng)站設(shè)計,集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
一、網(wǎng)頁不安全
1.用fiddler抓包時候,打開百度網(wǎng)頁:
2.提示:網(wǎng)頁不安全
二、fiddler設(shè)置(抓取所有https請求)
1.打開菜單欄:ToolsFiddler OptionsHTTPS
2.勾選Decrypt HTTPS traffic,里面的兩個子菜單也一起勾選了
Fiddler抓包2-只抓APP的請求
fiddler抓手機(jī)app的請求,估計大部分都會,但是如何只抓來自app的請求呢?
把來自pc的請求過濾掉,因為請求太多,這樣會找不到重要的信息了。
1.電腦上已裝fiddler
2.手機(jī)和電腦在同一局域網(wǎng)
一、設(shè)置
1.fiddlerToolsFiddler OptionsConnections 勾選Allow remote computers to connect。
2.記住這里的端口號:8888,后面會用到。
一、get請求 [圖片上傳中...(get請求.png-2ac7c-1529389857624-0)]
1.打開fiddler工具,然后瀏覽器輸入博客首頁地址:
2.點開右側(cè)Inspectors下的Headers區(qū)域,查看Request Headers
3.Request Headers區(qū)域里面的就是請求頭信息,可以看到打開博客園首頁的是get請求
四、get和post請求參數(shù)區(qū)別
1.關(guān)于get和post的功能上區(qū)別就不說了,大家自己查資料,這里主要從fiddler抓包的層面查看請求參數(shù)上的區(qū)別
2.get請求的Raw參數(shù)查看,主要分三部分:
--第1部分是請求url地址
--第2部分是host地址
--第3部分是請求頭部信息header
Fiddler抓包4-工具介紹(request和response)
本篇簡單的介紹下fiddler界面的幾塊區(qū)域,以及各自區(qū)域到底是干什么用的,以便于更好的掌握這個工具
一、工具簡介
1.第一塊區(qū)域是設(shè)置菜單,這個前面2篇都有介紹
2.第二塊區(qū)域是一些快捷菜單,可以點下快捷功能鍵
3.第三塊左邊是抓捕的請求會話列表,每一個請求就是一個會話
4.第四塊右邊上方區(qū)域是request請求的詳細(xì)信息,可以查看headerd、cookies、raw、json等
5.第五塊右邊下方區(qū)域就是response信息,可以查看服務(wù)端返回的json數(shù)據(jù)或其它信息
6.第六塊區(qū)域左下角黑色的那塊小地方,雖然很不起眼,容易被忽略掉,這地方是命令行模式,可以輸入簡單的指令如:cls,執(zhí)行清屏的作用等
三、Request 和Response
1.Request是客戶端發(fā)出去的數(shù)據(jù),Response是服務(wù)端返回過來的數(shù)據(jù),這兩塊區(qū)域功能差不多
No Authorization Header is present.
5.cookies:查看cookie詳情
6.raw:查看一個完整請求的內(nèi)容,可以直接復(fù)制
7.json:查看json數(shù)據(jù)
8.xml:查看xml文件的信息
四、decode解碼
1.如果response的TextView區(qū)域出現(xiàn)亂碼情況,可以直接點下方黃色區(qū)域解碼
一、Composer簡介
點開右側(cè)Composer區(qū)域,可以看到如下界面,就是測試接口的界面了
二、模擬get請求
1.在Composer區(qū)域地址欄輸入博客首頁:
2.選擇get請求,點Execute執(zhí)行,請求就可以發(fā)送成功啦
3.請求發(fā)送成功后,左邊會話框會生成一個會話記錄,可以查看抓包詳情
4.右側(cè)history區(qū)域會多一個歷史請求記錄
一、url詳解
1.url就是我們平常打開百度在地址欄輸入的: https: ,如下圖,這個是最簡單的url地址,打開的是百度的主頁
二、url解析
1.以" 上海悠悠博客園"這個url請求的抓包為例
三、請求參數(shù)(params)
1.在url里面請求參數(shù)一般叫params,但是我們在fiddler抓包工具看到的參數(shù)是:QueryString
2.QueryString是像服務(wù)端提交的參數(shù),其實跟params是一個意思,每個參數(shù)對應(yīng)的都有name和value值
3.多個參數(shù)情況如下
一、body數(shù)據(jù)類型
常見的post提交數(shù)據(jù)類型有四種:
1.第一種:application/json:這是最常見的json格式,也是非常友好的深受小伙伴喜歡的一種,如下
{"input1":"xxx","input2":"ooo","remember":false}
2.第二種:application/x-www-form-urlencoded:瀏覽器的原生 form 表單,如果不設(shè)置 enctype 屬性,那么最終就會以 application/x-www-form-urlencoded 方式提交數(shù)
input1=xxxinput2=oooremember=false
3.第三種:multipart/form-data:這一種是表單格式的,數(shù)據(jù)類型如下
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"
title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png
PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA-
4.第四種:text/xml:這種直接傳的xml格式
methodcall
methodnameexamples.getStateName/methodname
params
param
valuei441/i4/value
/params
/methodcall
二、json格式
1.打開博客園的登錄頁面,輸入賬號密碼后抓包,查看post提交數(shù)據(jù),點開Raw查看整個請求的原始數(shù)據(jù)
三、x-www-form-urlencoded
1.登錄博客園后,打開新隨筆,隨便寫一個標(biāo)題和一個正文后保存,抓包數(shù)據(jù)如下
四、WebFrom
1.為什么登錄請求的WebFrom的body部分為空呢?
五、xml
1.如果遇到text/xml這種格式的body,那就如下圖這樣的了
一、斷點
1.為什么要打斷點呢?
比如一個購買的金額輸入框,輸入框前端做了限制100-1000,那么我們測試的時候,需要測試小于100的情況下。很顯然前端只能輸入大于100的。這是我們可以先抓到接口,修改請求參數(shù),繞過前端,傳一個小于100的數(shù),檢查服務(wù)端的功能是否OK。
也就是說接口測試其實是不需要管前端的,主要測后端的功能。Fiddler作為代理服務(wù)器的作用其實就相當(dāng)于上面故事里面的小王,傳紙條的作用,F(xiàn)iddler(小王)修改了請求參數(shù)(小紙條),是為了驗證服務(wù)端功能(女神C)。
2.Fiddler可以修改以下請求
--Fiddler設(shè)置斷點,可以修改HTTP請求頭信息,如修改Cookie,User-Agent等
--可以修改請求數(shù)據(jù),突破表單限制,提交任意數(shù)字,如充值最大100,可以修改成10000
--攔截響應(yīng)數(shù)據(jù),修改響應(yīng)體,如修改服務(wù)端返回的頁面數(shù)據(jù)
二、斷點的兩種方式
1.before response:這個是打在request請求的時候,未到達(dá)服務(wù)器之前
--屌絲A傳給小王的時候,小王在這個時候攔截了小紙條,未傳給女神C
3.打完斷點后,會發(fā)現(xiàn)所有的請求都無法發(fā)出去了,這時候,點下Go按鈕,就能走下一步了
4.找到需要修改的請求后,選中該條會話,右側(cè)打開WebFroms,這時候里面的參數(shù)都是可以修改的了
四、單個斷點
已經(jīng)知道了某個接口的請求地址,這時候只需要針對這一條請求打斷點調(diào)試,在命令行中輸入指令就可以了
請求前斷點(before response): bpu
4.取消斷點,在命令行輸入: bpu 回車就可以了
響應(yīng)后斷點(after requests): bpafter
3.登錄博客園,會發(fā)現(xiàn)已經(jīng)攔截到登錄后服務(wù)器返回的數(shù)據(jù)了,此時可以修改任意返回數(shù)據(jù)
4.取消斷點,在命令行輸入: bpafter 回車就可以了
五、攔截來自某個網(wǎng)站所有請求
1.在命令行輸入:bpu
2.打開博客園任意網(wǎng)頁,發(fā)現(xiàn)都被攔截到了
3.打開博客園其他網(wǎng)站,其它網(wǎng)站可以正常請求
4.說明只攔截了來自部落論壇( )的請求
5.清除輸入bpu回車即可
六、命令行其它相關(guān)指令
Bpafter, Bps, bpv, bpm, bpu
這幾個命令主要用于批量設(shè)置斷點
Bpafter xxx: 中斷 URL 包含指定字符的全部 session 響應(yīng)
Bps xxx: 中斷 HTTP 響應(yīng)狀態(tài)為指定字符的全部 session 響應(yīng)
Bpv xxx: 中斷指定請求方式的全部 session 響應(yīng)
Bpm xxx: 中斷指定請求方式的全部 session 響應(yīng) 、、同于 bpv xxx
Bpu xxx:與bpafter類似
當(dāng)這些命令沒有加參數(shù)時,會清空所有設(shè)置了斷點的HTTP請求。
更多的其他命令可以參考Fiddler官網(wǎng)手冊
一、保存為文本
1.以博客園登錄為例,抓到登錄的請求會話
2.點左上角FileSaveSelected Sessionsas Text,保存到電腦上就是文本格式的
三、亂碼問題(decode)
1.打開博客園首頁: ,保存之后查看,會發(fā)現(xiàn)返回的是亂碼
前言
Fiddler最大的優(yōu)勢在于抓包,我們大部分使用的功能也在抓包的功能上,fiddler做接口測試也是非常方便的。
對應(yīng)沒有接口測試文檔的時候,可以直接抓完包后,copy請求參數(shù),修改下就可以了。
Composer簡介
點開右側(cè)Composer區(qū)域,可以看到如下界面,就是測試接口的界面了
1.請求方式:點開可以勾選請求協(xié)議是get、post等
2.url地址欄:輸入請求的url地址
3.請求頭:第三塊區(qū)域可以輸入請求頭信息
4.請求body:post請求在此區(qū)域輸入body信息
5.執(zhí)行:Execute按鈕點擊后就可以執(zhí)行請求了
6.http版本:可以勾選http版本
7.請求歷史:執(zhí)行完成后會在右側(cè)History區(qū)域生成歷史記錄
模擬get請求
1.在Composer區(qū)域地址欄輸入博客首頁:
2.選擇get請求,點Execute執(zhí)行,請求就可以發(fā)送成功啦
3.請求發(fā)送成功后,左邊會話框會生成一個會話記錄,可以查看抓包詳情
4.右側(cè)history區(qū)域會多一個歷史請求記錄
5.會話框選中該記錄,查看測試結(jié)果:
選中該會話,點開Inspectors
response區(qū)域點開Raw區(qū)域
Raw查看的是HTML源碼的數(shù)據(jù)
也可以點WebView,查看返回的web頁面數(shù)據(jù)
Json數(shù)據(jù)
1.有些post的請求參數(shù)和返回參數(shù)是Json格式的,如博客園的登錄請求:
2.在登錄頁面手動輸入賬號和密碼,登錄成功。
3.找到這個登錄成功的會話,查看json數(shù)據(jù)如下圖:
模擬post請求
1.請求類型勾選post
2.url地址欄輸入對應(yīng)的請求地址
3.body區(qū)域?qū)懙卿浀膉son參數(shù),json參數(shù)直接copy上一步抓包的數(shù)據(jù),如下圖紅色區(qū)域
4.header請求頭區(qū)域,可以把前面登錄成功后的頭部抓包的數(shù)據(jù)copy過來
(注意,有些請求如果請求頭為空的話,會請求失敗的)
5.執(zhí)行成功后查看測試結(jié)果:
–執(zhí)行成功如第三所示的圖,顯示success=True
–執(zhí)行失敗如下圖所示,顯示
message=Invalid length for a Base-64 char array or string.
success=False
get請求(url詳解)
前言
上一篇介紹了Composer的功能,可以模擬get和post請求,get請求有些是不帶參數(shù)的,這種比較容易,直接放到url地址欄就行。有些get請求會帶有參數(shù),本篇詳細(xì)介紹url地址格式。
url詳解
1.url就是我們平常打開百度在地址欄輸入的: ,如下圖,這個是最簡單的url地址,打開的是百度的主頁
2.再看一個稍微復(fù)雜一點的url,在百度輸入框輸入:上海悠悠博客園
3.查看url地址欄,對比之前的百度首頁url地址,后面多了很多參數(shù)。當(dāng)然最主要的參數(shù)是:wd=上海悠悠博客園(后面的一大串可以暫時忽略)。
4.那么問題來了,這些參數(shù)有什么作用呢?
可以做個簡單的對比,在地址欄分別輸入:
上海悠悠博客園
對比打開的頁面有什么不一樣,現(xiàn)在知道作用了吧,也就是說這個多的”/s?wd=上海悠悠博客園”就是搜索的結(jié)果頁面
url解析
1.以” 上海悠悠博客園”這個url請求的抓包為例
2.那么一個完整的url地址,基本格式如下:
:port/path?xxx=aaaooo=bbb
http/https:這個是協(xié)議類型,如圖中所示
host:服務(wù)器的IP地址或者域名,如圖中2所示
port:HTTP服務(wù)器的默認(rèn)端口是80,這種情況下端口號可以省略。
如果使用了別的端口,必須指明,例如:192.168.3.111:8080,這里的8080就是端口
path:訪問資源的路徑,如圖中3所示/s (圖中3是把path和請求參數(shù)放一起了)
?:url里面的?這個符號是個分割線,用來區(qū)分問號前面的是path,問號后面的是參數(shù)
url-params:問號后面的是請求參數(shù),格式:xxx=aaa,如圖4區(qū)域就是請求參數(shù)
:多個參數(shù)用符號連接
請求參數(shù)(params)
1.在url里面請求參數(shù)一般叫params,但是我們在fiddler抓包工具看到的參數(shù)是:QueryString
2.QueryString是像服務(wù)端提交的參數(shù),其實跟params是一個意思,每個參數(shù)對應(yīng)的都有name和value值
3.多個參數(shù)情況如下:
UrlEncode編碼
1.如果url地址的參數(shù)帶有中文的,一般在url里面會是這樣的,如第二點里的wd=%E4%B8%8A%E6%B5%B7%E6%…
像看到%E4這種編碼的就是經(jīng)過url編碼過的,需要解碼就能看到是什么中文了
2.用urlencode在線編碼/解碼工具,地址:
post請求(body)
前言上一篇講過get請求的參數(shù)都在url里,post的請求相對于get請求多了個body部分,本篇就詳細(xì)講解下body部分參數(shù)的幾種形式。
注意:post請求的參數(shù)可以放在url,也可以放在body,也可以同時放在url和body,當(dāng)然post請求也可以不帶參數(shù)。
只是一般來說,post請求的參數(shù)習(xí)慣放到body部分
body數(shù)據(jù)類型
常見的post提交數(shù)據(jù)類型有四種:
1.第一種:application/json:這是最常見的json格式,也是非常友好的深受小伙伴喜歡的一種,如下
2.第二種:application/x-www-form-urlencoded:瀏覽器的原生 form 表單,如果不設(shè)置 enctype 屬性,那么最終就會以 application/x-www-form-urlencoded 方式提交數(shù)
3.第三種:multipart/form-data:這一種是表單格式的,數(shù)據(jù)類型如下:
4.第四種:text/xml:這種直接傳的xml格式
json格式
1.打開博客園的登錄頁面,輸入賬號密碼后抓包,查看post提交數(shù)據(jù),點開Raw查看整個請求的原始數(shù)據(jù)
2.前面講過post的請求多一個body部分,上圖紅色區(qū)域就是博客園登錄接口的body部分,很明顯這種格式是前面講到的第一種json格式
3.查看json格式的樹狀結(jié)構(gòu),更友好,可以點開JSON菜單項
4.查看這里的json數(shù)據(jù),很明顯傳了三個參數(shù):
input1:這個是登錄的賬號參數(shù)(加密過)
input2:這個是登錄的密碼參數(shù)(加密過)
remember:這個是登錄頁面的勾選是否記住密碼的選項,F(xiàn)alse是不記住,True是記住
x-www-form-urlencoded
1.登錄博客園后,打開新隨筆,隨便寫一個標(biāo)題和一個正文后保存,抓包數(shù)據(jù)如下
2.如上圖的這種格式,很明顯就屬于第二種了,這種類型的數(shù)據(jù)查看,在WebFrom里面查看了
3.上面紅色框框的Query String是url里面的參數(shù),下面紅色框框的body部分就是這次post提交的body參數(shù)部分了。
WebFrom
1.為什么登錄請求的WebFrom的body部分為空呢?
2.看上圖紅色框框的顯示:這里只支持application/x-www-form-urlencoded這種格式的body參數(shù),也就是說json格式的,需要在JOSN這一欄查看了。
問題一:抓包抓到的數(shù)據(jù),怎么分析啊 5分 1, 取決于你抓包的層級。一般來說都是與網(wǎng)站之間交換的,未經(jīng)格式化的較為數(shù)據(jù)。
2, 可以從網(wǎng)卡抓取本機(jī)收發(fā)的數(shù)據(jù),也有人把從瀏覽器或其它工作在頂層的軟件獲得的數(shù)據(jù),成為抓包。
3, 如果你所在的局域網(wǎng)比較原始,你還是可以嘗試從網(wǎng)卡中獲得廣播的數(shù)據(jù)。
4, 分析有現(xiàn)成的軟件,主要針對無法加密的部分展開,即發(fā)送、接受方地址、時間、路徑、內(nèi)容體積等進(jìn)行。不涉及內(nèi)容的情況下是典型的被動數(shù)據(jù)分析。
問題二:如何解析抓包的數(shù)據(jù)wireshark 首先我們打開wireshark軟件的主界面,在主界面上選擇網(wǎng)卡,然后點擊start。wireshark即進(jìn)入抓包分析過程。在本篇我們選擇以太網(wǎng),進(jìn)行抓包。
接下來再界面我們可以看到wireshark抓到的實時數(shù)據(jù)包。我們對數(shù)據(jù)包的各個字段進(jìn)行解釋。
1.No:代表數(shù)據(jù)包標(biāo)號。
2.Time:在軟件啟動的多長時間內(nèi)抓到。
3.Source:來源ip。
4.Destination: 目的ip。
5.Protocol:協(xié)議。
6.Length:數(shù)據(jù)包長度。
7.info:數(shù)據(jù)包信息。
接下來我們點擊解析后的某一條數(shù)據(jù)可以查看數(shù)據(jù)包的詳細(xì)信息。
在抓包過程中,我們可以點擊圖標(biāo)啟動或者停止。來啟動或者停止抓取數(shù)據(jù)包。
接下來我們將簡單介紹Filter處,對來源Ip以及目的Ip的過濾表達(dá)式的寫法。
首先我們在Filter處填寫ip.addr eq 192.168.2.101。表示獲取來源ip以及目的ip都是192.168.2.101的數(shù)據(jù)包。(此處解釋 eq 換成==同樣的效果)
在Filter處填寫:ip.src == 192.168.2.101。表示獲取來源地址為192.168.2.101的數(shù)據(jù)包。
在Filter處填寫:ip.dst == 119.167.140.103。表示獲取目的地址為119.167.140.103的數(shù)據(jù)包。
在Filter處填寫:ip.dst == 119.167.140.103 or ip.dst == 192.168.2.45。表示獲取目的地址為119.167.140.103或者192.168.2.45的數(shù)據(jù)包。(此方法舉例主要說明or的用法。在or前后可以跟不同的表達(dá)式。)
在Filter處填寫:ip.dst == 119.167.140.103 and ip.src == 192.168.2.101。表示獲取目的地址為119.167.140.103且來源地址為192.168.2.101的數(shù)據(jù)包。(此方法舉例主要說明and 的用法)
問題三:怎樣看wireshark抓包的數(shù)據(jù) 啟動wireshark后,選擇工具欄中的快捷鍵(紅色標(biāo)記的按鈕)即可Start a new live capture。
主界面上也有一個interface list(如下圖紅色標(biāo)記1),列出了系統(tǒng)中安裝的網(wǎng)卡,選擇其中一個可以接收數(shù)據(jù)的的網(wǎng)卡也可以開始抓包。
在啟動時候也許會遇到這樣的問題:彈出一個對話框說 NPF driver 沒有啟動,無法抓包。在win7或Vista下找到C: \system\system32下的cmd.exe 以管理員身份運行,然后輸入 net start npf,啟動NPf服務(wù)。
重新啟動wireshark就可以抓包了。
抓包之前也可以做一些設(shè)置,如上紅色圖標(biāo)記2,點擊后進(jìn)入設(shè)置對話框,具體設(shè)置如下:
Interface:指定在哪個接口(網(wǎng)卡)上抓包(系統(tǒng)會自動選擇一塊網(wǎng)卡)。
Limit each packet:限制每個包的大小,缺省情況不限制。
Capture packets in promiscuous mode:是否打開混雜模式。如果打開,抓 取所有的數(shù)據(jù)包。一般情況下只需要監(jiān)聽本機(jī)收到或者發(fā)出的包,因此應(yīng)該關(guān)閉這個選項。
Filter:過濾器。只抓取滿足過濾規(guī)則的包。
File:可輸入文件名稱將抓到的包寫到指定的文件中。
Use ring buffer: 是否使用循環(huán)緩沖。缺省情況下不使用,即一直抓包。循環(huán)緩沖只有在寫文件的時候才有效。如果使用了循環(huán)緩沖,還需要設(shè)置文件的數(shù)目,文件多大時回卷。
Update list of packets in real time:如果復(fù)選框被選中,可以使每個數(shù)據(jù)包在被截獲時就實時顯示出來,而不是在嗅探過程結(jié)束之后才顯示所有截獲的數(shù)據(jù)包。
單擊“OK”按鈕開始抓包,系統(tǒng)顯示出接收的不同數(shù)據(jù)包的統(tǒng)計信息,單擊“Stop”按鈕停止抓包后,所抓包的分析結(jié)果顯示在面板中,如下圖所示:
為了使抓取的包更有針對性,在抓包之前,開啟了QQ的視頻聊天,因為QQ視頻所使用的是UDP協(xié)議,所以抓取的包大部分是采用UDP協(xié)議的包。
3、對抓包結(jié)果的說明
wireshark的抓包結(jié)果整個窗口被分成三部分:最上面為數(shù)據(jù)包列表,用來顯示截獲的每個數(shù)據(jù)包的總結(jié)性信息;中間為協(xié)議樹,用來顯示選定的數(shù)據(jù)包所屬的協(xié)議信息;最下邊是以十六進(jìn)制形式表示的數(shù)據(jù)包內(nèi)容,用來顯示數(shù)據(jù)包在物理層上傳輸時的最終形式。
使用wireshark可以很方便地對截獲的數(shù)據(jù)包進(jìn)行分析,包括該數(shù)據(jù)包的源地址、目的地址、所屬協(xié)議等。
上圖的數(shù)據(jù)包列表中,第一列是編號(如第1個包),第二列是截取時間(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是這個包使用的協(xié)議(這里是UDP協(xié)議),第六列info是一些其它的信息,包括源端口號和目的端口號(源端口:58459,目的端口:54062)。
中間的是協(xié)議樹,如下圖:
通過此協(xié)議樹可以得到被截獲數(shù)據(jù)包的更多信息,如主機(jī)的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口號(user datagram protocol)以及UDP協(xié)議的具體內(nèi)容(data)。
最下面是以十六進(jìn)制顯示的數(shù)據(jù)包的具體內(nèi)容,如圖:
這是被截獲的數(shù)據(jù)包在物理媒體上傳輸時的最終形式,當(dāng)在協(xié)議樹中選中某行時,與其對應(yīng)的十六進(jìn)制代碼同樣會被選中,這樣就可以很方便的對各種協(xié)議的數(shù)據(jù)包進(jìn)行分析。
4、......
問題四:如何分析數(shù)據(jù)包判斷網(wǎng)絡(luò)故障 從網(wǎng)絡(luò)抓包是可以分析出很多東西,其中一項就是用來做排錯。
根據(jù)個人的實際經(jīng)驗,用抓包來排錯有分為幾種情況:
1、通過數(shù)據(jù)包的有無來判斷故障,一般用于防火墻策略調(diào)試等場景,在防火墻上進(jìn)行抓包,或交換機(jī)上鏡像抓包,或者這交換機(jī)內(nèi)嵌抓包功能。這種抓包無需進(jìn)行過多分析。
2、網(wǎng)絡(luò)故障,已經(jīng)明確網(wǎng)絡(luò)設(shè)備配置不存在問題的情況下,通過抓包來判斷問題,我把這主要分為行為判斷和協(xié)議判斷。
1)最常見的是通過抓包數(shù)量來判定網(wǎng)絡(luò)行為的是否正常,比如ARP病毒爆發(fā)一定會收到大量ARP數(shù)據(jù)包;攻擊行為也很多時候體現(xiàn)為大量數(shù)據(jù)包(但是一般判斷這種攻擊行為抓包不會放在第一步,只是在確定攻擊特征時需要抓包);當(dāng)然還有其他很多情況,適用于通過抓包數(shù)量來分析的。
2)通信質(zhì)量判斷,抓包存在大量的重傳,此時通信質(zhì)量一般都不太好。另外有視頻和語音的應(yīng)用場景中,有時需要通過時間統(tǒng)計來判斷通信毛刺,來分析定位視頻和語音通信質(zhì)量問題。
3)協(xié)議判斷,比如win2008和win2003通信時因為window
scale不兼容,導(dǎo)致窗口過小,而程序設(shè)計適當(dāng)時,通信變動極其緩慢。這些判斷都是建立在抓包協(xié)議分析的基礎(chǔ)上的;另外不同廠商SIP通信對接也有可能會用到協(xié)議分析,其中一種方式就是抓包分析。
綜合而言,協(xié)議分析時要求比較高,很多人都可以說把基礎(chǔ)學(xué)好,但是對應(yīng)實際工作多年的人,TCP/IP的協(xié)議學(xué)習(xí)一般都是多年前的事情,而且不同操作系統(tǒng),對于協(xié)議棧的實現(xiàn)是有區(qū)別的,這部分析的工作一般都是出現(xiàn)問題后有針對性查資料來解決的。
說了這么多,針對抓包分析我個人的意見是:排查問題關(guān)鍵是思路,真的用到協(xié)議層判斷的場景相對而言還是比較少,初學(xué)這不必過分糾結(jié)。但是從另外一個方面來看,能深入?yún)f(xié)議層進(jìn)行排錯的網(wǎng)工,都是具備鉆研精神的,屬于高級排錯的一部分。
問題五:怎么通過wireshark分析 Wireshark 一般在抓包的時候無需過濾,直接在數(shù)據(jù)分析時候過濾出來你想要的數(shù)據(jù)就成了。
1.具體為Capture-Interface-(選擇你的網(wǎng)卡)start
這時候數(shù)據(jù)界面就顯示了當(dāng)前網(wǎng)卡的所有數(shù)據(jù)和協(xié)議了。
2.下來就是找到我們想要的數(shù)據(jù)
教你一些技巧,比如我們要找ip地址為192.168.2.110的交互數(shù)據(jù)
可以在 Filter:里面填寫 ip.addr == 192.168.2.110 (回車或者點Apply就OK)
如果我們只想抓TCP的 ip.addr == 192.168.2.110 tcp (注意要小寫)
如果不想看到ACK ip.addr == 192.168.2.110 tcp tcp.len != 0
如果要看數(shù)據(jù)包中含有5252的值的數(shù)據(jù)(注意此處為16進(jìn)制)
ip.addr == 192.168.2.110 tcp tcp.len != 0 (data.data contains 5252)
3. 含有很多過濾方法可以點擊Express,里面有一些選項,自己多試試。
用好一個工具很重要,但要長期的積累才行,自己多使用,多看點教程就OK。
問題六:wireshark軟件抓包數(shù)據(jù)怎么查看 下載wireshark軟件,目前有中文版,為了方便演示,就用中文版的。當(dāng)然,英文版本的是主流。
打開wireshark軟件,運行該軟件,進(jìn)入其界面。wireshark軟件的界面布局合理,很精簡。
接下來,要選擇wireshark的抓包接口。雙擊接口列表項,于是進(jìn)入了抓包接口的設(shè)置界面。
選擇你的電腦現(xiàn)在所使用的網(wǎng)卡。比如,現(xiàn)在這里是使用無線網(wǎng)卡,接口列表上有數(shù)字在跳動就是。
點擊開始,就進(jìn)入到抓包的界面,于是開始進(jìn)行抓包。該界面顯示了抓包的動態(tài),記錄了抓包的過程。
抓包完成后,就點擊停止抓包的按鈕,就是紅色打叉的那個。
最后選擇保存按鈕,選擇保存的位置。保存的文件以后都可以用wireshark打開,來進(jìn)行歷史性的分析。
問題七:如何查看抓包數(shù)據(jù) 對于標(biāo)準(zhǔn)的Http返回,如果標(biāo)明了Content-Encoding:Gzip的返回,在wireshark中能夠直接查看原文。由于在移動網(wǎng)絡(luò)開發(fā)中,一些移動網(wǎng)關(guān)會解壓顯式標(biāo)明Gzip的數(shù)據(jù),以防止手機(jī)瀏覽器得到不能夠解壓的Gzip內(nèi)容,所以,很多移動開發(fā)者選擇了不標(biāo)準(zhǔn)的Http頭部。也就是說,Http返回頭部并沒有按標(biāo)準(zhǔn)標(biāo)Content-Encoding:Gzip屬性。這樣就導(dǎo)致在wireshark中無法直接查看。
這時,將抓包得到的數(shù)據(jù)以raw形式存為文件,再使用UE以16進(jìn)制查看,去掉文件中非Gzip壓縮的數(shù)據(jù),就可以將文件用Gzip解壓工具解壓后查看原文了。Gzip數(shù)據(jù)以1F8B開頭,可以以此來劃分文件中的Gzip和非Gzip數(shù)據(jù)。
問題八:如何利用網(wǎng)絡(luò)抓包工具得到的數(shù)據(jù)怎么解析tcp/ip Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務(wù)器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務(wù)器上運行,就像直接在服務(wù)器的控制臺上輸入一樣??梢栽诒镜鼐湍芸刂品?wù)器。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務(wù)器。Telnet是常用的遠(yuǎn)程控制Web服務(wù)器的方法。
一. 準(zhǔn)備工作
虛擬機(jī)Virtual Box(Telnet服務(wù)端)
--安裝Windows XP SP3操作系統(tǒng)
------開啟了Telnet服務(wù)
------添加了一個賬戶用于遠(yuǎn)程登錄,用戶名和密碼都是micooz
宿主機(jī)Windows 8.1 Pro(Telnet客戶端)
--安裝了分析工具Wireshark1.11.2
--安裝了Telnet客戶端程序
PS:虛擬機(jī)網(wǎng)卡選用橋接模式
問題九:wireshark軟件抓包數(shù)據(jù)怎么查看 wireshark是捕獲機(jī)器上的某一塊網(wǎng)卡的網(wǎng)絡(luò)包,當(dāng)你的機(jī)器上有多塊網(wǎng)卡的時候,你需要選擇一個網(wǎng)卡。
點擊Caputre-Interfaces.. 出現(xiàn)下面對話框,選擇正確的網(wǎng)卡。然后點擊Start按鈕, 開始抓包
WireShark 主要分為這幾個界面
1. Display Filter(顯示過濾器), 用于過濾
2. Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標(biāo)地址,端口號。 顏色不同,代表
3. Packet Details Pane(封包詳細(xì)信息), 顯示封包中的字段
4. Dissector Pane(16進(jìn)制數(shù)據(jù))
5. Miscellanous(地址欄,雜項)
問題十:wireshark完成抓包后,怎么分析 你直接抓會有大量大量無用的干擾包(比如你的ARP請求,你電腦的其他軟件的后臺更新等等),建議你做個過濾器,只抓取你本機(jī)到新浪的會話(或者只抓取HTTP協(xié)議),然后所得的數(shù)據(jù)包都是你想要的,這整個包就是從你發(fā)起訪問到新浪服務(wù)器回復(fù)給你的數(shù)據(jù)包