如果把Web通信從上到下分為許多層――XMLHttpRequest層,HTTP層,TCP層, 那么這些工具可以分別抓取每個(gè)層的通信數(shù)據(jù)進(jìn)行分析,結(jié)合使用極其強(qiáng)大。
2008/12/31:另外可以參考daniel同學(xué)的Web開發(fā)常用工具一文,相信會(huì)大有幫助哦。
適用范圍 | Ajax應(yīng)用程序 |
優(yōu)點(diǎn) | 使用方便,數(shù)據(jù)截取完整 |
缺點(diǎn) | 只能分析XMLHttpRequest請(qǐng)求,其他類型的請(qǐng)求無(wú)能為力 |
Firebug應(yīng)該是盡人皆知了。 它的控制臺(tái)能監(jiān)視XMLHttpRequest請(qǐng)求,能看到完整的請(qǐng)求和應(yīng)答的數(shù)據(jù)。 用它來(lái)調(diào)試Ajax程序是最好不過了。
適用范圍 | 普通網(wǎng)頁(yè),Ajax應(yīng)用程序,F(xiàn)lash |
優(yōu)點(diǎn) | 使用方便,適用范圍廣,任何HTTP請(qǐng)求都能截獲 |
缺點(diǎn) | 只能截獲請(qǐng)求頭、請(qǐng)求內(nèi)容、應(yīng)答頭,得不到應(yīng)答內(nèi)容;涉及文件下載時(shí)效率大幅度降低 |
Tamper Data比Firebug進(jìn)了一步, 只要是HTTP請(qǐng)求,它都能抓下來(lái),可惜的是看不到應(yīng)答內(nèi)容。 適用于分析請(qǐng)求流程、請(qǐng)求參數(shù)、請(qǐng)求數(shù)據(jù)、重定向URL。 對(duì)于非Ajax程序如普通網(wǎng)頁(yè)、Flash、ActiveX等程序,用Tamper Data來(lái)分析十分方便。
適用范圍 | 普通網(wǎng)頁(yè),Ajax應(yīng)用程序,F(xiàn)lash |
優(yōu)點(diǎn) | 適用范圍廣,截取數(shù)據(jù)完整,不挑網(wǎng)卡 |
缺點(diǎn) | 使用稍稍麻煩 |
burpsuite中的proxy功能用于分析Web通信十分好用。 它的原理是架設(shè)一個(gè)代理服務(wù)器,讓瀏覽器通過代理來(lái)發(fā)送請(qǐng)求,代理就可以截獲數(shù)據(jù)了。
適用范圍 | 任何網(wǎng)絡(luò)程序 |
優(yōu)點(diǎn) | 適用范圍廣,截取數(shù)據(jù)完整 |
缺點(diǎn) | 使用麻煩;不能使用loopback網(wǎng)卡 |
如果以上方法都不管用,就要祭出終極武器wireshark(原名ethereal)了。 它從網(wǎng)絡(luò)的最底層入手,可以截獲任何類型的網(wǎng)絡(luò)通信,而不僅僅是HTTP協(xié)議。 比如要開發(fā)一個(gè)郵件程序,需要分析服務(wù)器端腳本與POP3服務(wù)器之間的通信, 那就非得wireshark出馬不可了。
這個(gè)工具的不足之處是它不能抓取loopback的網(wǎng)卡,也就是說(shuō), 如果你的程序連接的是位于localhost或127.0.0.1的服務(wù)器, 那wireshark是抓不到的。解決方法是,讓程序通過真實(shí)物理網(wǎng)卡去連別的機(jī)器, 或是使用虛擬機(jī)的虛擬網(wǎng)卡也行。
新聞熱點(diǎn)
疑難解答
圖片精選