如何抓包定位問題?

淅淅瀝瀝的小雨1


網絡層抓包用wireshark,http抓包用burpsuite,二者所有界面化的操作系統都有,windows,linux,mac。下面幾個回答網上抄的一模一樣,也是醉了,一看就沒真正用過,把我氣出來了。burp雖然在win下可以被fiddler代替,但是ui設計我更欣賞burp,純屬個人愛好。linux和mac下的fiddler安裝和使用上都不好,畢竟.net開發,相比較java開發的burp更具有跨平臺優勢。

使用具體方法細節就不說了,玩抓包都是搞技術的,谷歌上搜索教程到處都是。題主說的定位問題範圍太大,不好回答,直接說說心得吧。

1、wireshark其實也能看到http的數據,有時候簡單的問題排查,用wireshark足夠。比如三次握手有沒有建立起來,是否存在丟包,比如http內容是否符合預期,中間有沒有被篡改。有個比較常用的篩選規則可以模糊匹配到http裡面的內容:

tcp contains "toutiao.com"

2、當然很多時候用wireshark不是看http,主要看ISO四層的數據包是怎麼通信的。還有一個常用操作,追蹤一個數據包的流,甭管TCP,UDP,都能自動化篩選出來

3、https在wireshark下就無能為力,而現在不管是web還是app抓包,基本都是https,輪到burp上場了。burp能看https的原理類似於中間人攻擊,只不過是咱主動設置的,技術沒有好壞,關鍵是使用技術的人。瀏覽器或者手機導入並且信任burp公鑰,讓客戶端相信burp就是目標站點,正常點擊後,burp代理攔截到https加密的數據,解密展示到burp前端,然後burp充當客戶端,與服務端交互,再加密發送給真實的目標站點。

4、burp支持對抓取的http/https請求報文修改進行重放,也支持攔截修改後進行發送,看需求,驗證那種圖片或者短信驗證碼一次性接口還是用攔截模式吧。下面是repeater修改請求看響應的地方,很方便:

5、burp甚至還能用作api接口的壓測工具,可以設置發送線程進行,併發的payload可以是原始的,也可以用字典規則進行fuzz。功能反正很強大,有些我都沒用過。下面的圖設置線程的:

以上都是一個字一個字手機打出來的,電腦截了幾張圖,說這些主要還是要給看的人有個直觀感受。解決bug最關鍵當然是復現bug,而且網絡問題又特別複雜,有時候能復現有時候不能復現,搞技術的都是無神論者,出問題必有原因。曾經出現過只有很少的客戶會出現問題,絕大多數客戶一切正常,我在海量抓包文件中找了三天三夜的bug,定位出問題的心情還是很激動的。


SuperBean


fiddler的使用:抓包定位、模擬弱網

一、fiddler抓包定位

Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,設置斷點,查看所有的“進出”Fiddler的數據(cookie,html,js,css等)。

下面這張圖準確的描述了fiddler的工作

那怎麼抓包呢?

打開fiddler便已經開始抓包了,先介紹一下工具:看下圖

如果需要抓取https的請求需要安裝證書、如果需要抓取手機App的請求需要設置代理,這裡我不細說自行百度

抓包定位bug:

1、因為fiddler抓取的內容會有很多,所以我們抓包前需要先清空所有會話內容(清除按鈕在快捷鍵的黑色的X按鈕)或者直接過濾操作過濾在這裡不細說(下次會專門寫個fiddler過濾);

2、客戶端開始重現bug操作,fiddler就會抓取到操作過程中發送的所有請求。回到fiddler,可以看到回話列表Result會有4xx或5xx狀態的請求,這是就可以根據判斷雙擊報錯的請求,在右側查看請求參數和返回內容,判斷前後端問題(如果不會判斷,可以直接截圖給開發)

二、模擬弱網

可以直接運用fiddler配置好的弱網進行測試:快捷鍵欄----> Rules ---> Performance ---->simulate Modem Speeds

勾選了simulate Modem Speeds 按鈕就開始模擬弱網了,當然我們肯定希望自己來配置網絡來實現不同網絡狀態下的模擬操作,所以請繼續往下看:

1、在請求欄上找到FiddlerScript按鈕並點擊搜索m_SimulateModem

2、找到

第一個是上行速率,第二個是下行速率(看不懂自行翻譯)

這裡就可以自己改網速了,若是不知道網速該怎麼改參照下圖(借了一張圖):


Echa攻城獅


fiddler的使用:抓包定位、模擬弱網

一、fiddler抓包定位

Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,設置斷點,查看所有的“進出”Fiddler的數據(cookie,html,js,css等)。

下面這張圖準確的描述了fiddler的工作

那怎麼抓包呢?

打開fiddler便已經開始抓包了,先介紹一下工具:看下圖

如果需要抓取https的請求需要安裝證書、如果需要抓取手機App的請求需要設置代理,這裡我不細說自行百度

抓包定位bug:

1、因為fiddler抓取的內容會有很多,所以我們抓包前需要先清空所有會話內容(清除按鈕在快捷鍵的黑色的X按鈕)或者直接過濾操作過濾在這裡不細說(下次會專門寫個fiddler過濾);

2、客戶端開始重現bug操作,fiddler就會抓取到操作過程中發送的所有請求。回到fiddler,可以看到回話列表Result會有4xx或5xx狀態的請求,這是就可以根據判斷雙擊報錯的請求,在右側查看請求參數和返回內容,判斷前後端問題(如果不會判斷,可以直接截圖給開發)

二、模擬弱網

可以直接運用fiddler配置好的弱網進行測試:快捷鍵欄----> Rules ---> Performance ---->simulate Modem Speeds

勾選了simulate Modem Speeds 按鈕就開始模擬弱網了,當然我們肯定希望自己來配置網絡來實現不同網絡狀態下的模擬操作,所以請繼續往下看:

1、在請求欄上找到FiddlerScript按鈕並點擊搜索m_SimulateModem

2、找到

第一個是上行速率,第二個是下行速率(看不懂自行翻譯)

這裡就可以自己改網速了,若是不知道網速該怎麼改參照下圖(借了一張圖):







分享到:


相關文章: