網(wǎng)絡層抓包用wireshark,http抓包用burpsuite,二者所有界面化的操作系統(tǒng)都有,windows,linux,mac。下面幾個回答網(wǎng)上抄的一模一樣,也是醉了,一看就沒真正用過,把我氣出來了。burp雖然在win下可以被fiddler代替,但是ui設計我更欣賞burp,純屬個人愛好。linux和mac下的fiddler安裝和使用上都不好,畢竟.net開發(fā),相比較java開發(fā)的burp更具有跨平臺優(yōu)勢。
使用具體方法細節(jié)就不說了,玩抓包都是搞技術的,谷歌上搜索教程到處都是。題主說的定位問題范圍太大,不好回答,直接說說心得吧。
1、wireshark其實也能看到http的數(shù)據(jù),有時候簡單的問題排查,用wireshark足夠。比如三次握手有沒有建立起來,是否存在丟包,比如http內(nèi)容是否符合預期,中間有沒有被篡改。有個比較常用的篩選規(guī)則可以模糊匹配到http里面的內(nèi)容:
tcp contains "toutiao.com"
2、當然很多時候用wireshark不是看http,主要看ISO四層的數(shù)據(jù)包是怎么通信的。還有一個常用操作,追蹤一個數(shù)據(jù)包的流,甭管TCP,UDP,都能自動化篩選出來
3、https在wireshark下就無能為力,而現(xiàn)在不管是web還是app抓包,基本都是https,輪到burp上場了。burp能看https的原理類似于中間人攻擊,只不過是咱主動設置的,技術沒有好壞,關鍵是使用技術的人。瀏覽器或者手機導入并且信任burp公鑰,讓客戶端相信burp就是目標站點,正常點擊后,burp代理攔截到https加密的數(shù)據(jù),解密展示到burp前端,然后burp充當客戶端,與服務端交互,再加密發(fā)送給真實的目標站點。
4、burp支持對抓取的http/https請求報文修改進行重放,也支持攔截修改后進行發(fā)送,看需求,驗證那種圖片或者短信驗證碼一次性接口還是用攔截模式吧。下面是repeater修改請求看響應的地方,很方便:
5、burp甚至還能用作api接口的壓測工具,可以設置發(fā)送線程進行,并發(fā)的payload可以是原始的,也可以用字典規(guī)則進行fuzz。功能反正很強大,有些我都沒用過。下面的圖設置線程的:
以上都是一個字一個字手機打出來的,電腦截了幾張圖,說這些主要還是要給看的人有個直觀感受。解決bug最關鍵當然是復現(xiàn)bug,而且網(wǎng)絡問題又特別復雜,有時候能復現(xiàn)有時候不能復現(xiàn),搞技術的都是無神論者,出問題必有原因。曾經(jīng)出現(xiàn)過只有很少的客戶會出現(xiàn)問題,絕大多數(shù)客戶一切正常,我在海量抓包文件中找了三天三夜的bug,定位出問題的心情還是很激動的。