[測(cè)試技術(shù)] ?Rain原創(chuàng)
1. 為什么要抓包(why)谍倦?
在我們做開(kāi)發(fā)與測(cè)試的過(guò)程中,總免不了碰到網(wǎng)絡(luò)問(wèn)題泪勒。特別是重后臺(tái)的產(chǎn)品昼蛀,這個(gè)時(shí)候往往我們的處理方法是抓個(gè)網(wǎng)絡(luò)包宴猾,看看到底應(yīng)用發(fā)送和接受了些什么鬼……。
比如在我們封面新聞APP上點(diǎn)擊某篇文章查看詳情時(shí)叼旋,APP通過(guò)網(wǎng)絡(luò)向后臺(tái)服務(wù)器發(fā)起查看文章詳情的請(qǐng)求仇哆,服務(wù)器收到請(qǐng)求后,將詳情頁(yè)的數(shù)據(jù)返回給APP夫植,此時(shí)我們才能在APP上完整的看到某新聞的詳情頁(yè)新聞內(nèi)容讹剔。這時(shí)我們就可以通過(guò)抓包來(lái)觀察客戶(hù)端(APP)和服務(wù)端的交互和數(shù)據(jù)傳輸過(guò)程。再比如我們?cè)贏PP上看新聞時(shí)某個(gè)頻道時(shí)新聞列表顯示不出來(lái)了详民,腫么辦……我們不知道服務(wù)器掛掉了還是網(wǎng)絡(luò)異常延欠,還是頻道沒(méi)有發(fā)布新聞,這時(shí)我們可以通過(guò)抓包來(lái)分析原因沈跨。
2. 抓包的原理是什么(what)由捎?
抓包一般通過(guò)網(wǎng)絡(luò)代理來(lái)截取網(wǎng)絡(luò)封包分析,使得所有的網(wǎng)絡(luò)請(qǐng)求都通過(guò)代理來(lái)完成谒出。
普通http請(qǐng)求過(guò)程:
加入代理的請(qǐng)求與響應(yīng)過(guò)程:
3. 用什么工具抓包(how)隅俘?
常用的抓包工具有Charles,F(xiàn)iddler等笤喳,通過(guò)將自己設(shè)置成代理服務(wù)器为居,使得所有的網(wǎng)絡(luò)請(qǐng)求都通過(guò)它來(lái)完成,從而實(shí)現(xiàn)網(wǎng)絡(luò)封包的截取和分析杀狡。功能主要包括:
-截取HTTP和HTTPS網(wǎng)絡(luò)封包
-支持重發(fā)網(wǎng)絡(luò)請(qǐng)求蒙畴,方便后端調(diào)試
-支持修改網(wǎng)絡(luò)請(qǐng)求參數(shù)
-支持網(wǎng)絡(luò)請(qǐng)求的截取和動(dòng)態(tài)修改返回?cái)?shù)據(jù)
總之,通過(guò)抓包可以讓客戶(hù)端和服務(wù)的交互透明化呜象,方便我們調(diào)試和問(wèn)題定位膳凝。