Java?輕松入門使用Fiddler抓包工具教程
一. 下載安裝Fiddler
這里強烈建議大家在官網(wǎng)上下載安裝,在此附上鏈接https://www.telerik.com/fiddler,在其它地方安裝很有可能會給你再下一堆不必要的軟件(垃圾全家桶),待下載安裝好后,頁面大概是這樣的:

二. 設(shè)置抓取HTTPS功能
剛下載安裝好后,是默認不支持抓取HTTPS協(xié)議的,要想抓取HTTPS,

先點擊左上角的Tools-Options-HTTPS

然后再選中這三個選項,

接著點擊Actions-Export Root Certificate to Desktop,此時桌面上會出現(xiàn)這個文件:

我們關(guān)閉Fiddler,接著我們需要在瀏覽器上導(dǎo)入證書(上面這個文件),以谷歌瀏覽器為例:點擊設(shè)置-安全和隱私設(shè)置-安全-管理證書:


在受信任的根證書頒發(fā)機構(gòu)里導(dǎo)入桌面上生成的證書即可,最后我們重新打開Fiddler,就可以抓取HTTPS協(xié)議了
三. 嘗試抓取HTTP/HTTPS協(xié)議
HTTPS也是基于HTTP的一種應(yīng)用層協(xié)議,只是在HTTP的基礎(chǔ)上進行了加密而已,F(xiàn)iddler會自動幫助我們進行解密,還原成最初HTTP的樣子
我們隨便打開一個頁面(以搜狗為例),此時會在Fiddler的左側(cè)頁面看到如下信息:

這個左側(cè)列表中,里面的每一條都是抓取到的HTTP/HTTPS的請求+相應(yīng),大部分情況下都是有請求+對應(yīng)的相應(yīng)的(除非對方服務(wù)器掛了),選中其中的任何一條內(nèi)容,都可以觀察到請求和相關(guān)響應(yīng)的詳細格式和具體的信息(如果覺得內(nèi)容太多可以隨便選中其中一條按住ctrl+a全選,然后按住delete就可以全部刪除了)

其中顯示顏色為藍色的內(nèi)容就是獲取到的搜狗搜索頁面的請求+響應(yīng)
我們雙擊Inspectors:


其中右上角為HTTP請求的詳細格式(如上圖)

右下角為HTTP響應(yīng)的詳細格式(如上圖)
最后,我們點擊上方的raw,就可以看到請求和響應(yīng)的原始數(shù)據(jù)啦:

但需注意,請求的原始數(shù)據(jù)就是被用來直接寫入到TCP socket中構(gòu)成HTTP請求的。

但我們看到的響應(yīng)的原始數(shù)據(jù)事實上是壓縮后的數(shù)據(jù)(網(wǎng)絡(luò)帶寬是一個高成本的資源,把數(shù)據(jù)壓縮之后傳輸,能夠節(jié)省網(wǎng)絡(luò)帶寬,提高效率降低成本),因此我們需要點擊上面的解壓縮然后才可以看到從TCP socket中讀到的HTTP響應(yīng)數(shù)據(jù)。
解壓縮后如下:


四. 抓包工具的原理
Fiddler 相當(dāng)于一個 “代理”,瀏覽器訪問瀏覽器頁面時,就會把HTTP請求先發(fā)給Fiddler,F(xiàn)iddler 再把請求轉(zhuǎn)發(fā)給瀏覽器的服務(wù)器,當(dāng)瀏覽器服務(wù)器返回數(shù)據(jù)時,F(xiàn)iddler拿到返回數(shù)據(jù),再把數(shù)據(jù)交給瀏覽器。 因此Fiddler對于瀏覽器和瀏覽器服務(wù)器之間交互的數(shù)據(jù)細節(jié),都是非常清楚的,進而可以幫助我們完成相應(yīng)的抓包工作。

到此這篇關(guān)于Java 輕松入門使用Fiddler抓包工具教程的文章就介紹到這了,更多相關(guān)Java Fiddler抓包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決springboot自定義配置Boolean屬性不能生效的問題
這篇文章主要介紹了解決springboot自定義配置Boolean屬性不能生效的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Java dom4j創(chuàng)建解析xml文檔過程解析
這篇文章主要介紹了Java dom4j創(chuàng)建解析xml文檔過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Springcloud服務(wù)注冊consul客戶端過程解析
這篇文章主要介紹了Springcloud服務(wù)注冊consul客戶端過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
Java中雙重檢查鎖(double checked locking)的正確實現(xiàn)
雙重檢查鎖(Double-Check Locking),顧名思義,通過兩次檢查,并基于加鎖機制,實現(xiàn)某個功能,下面這篇文章主要給大家介紹了關(guān)于Java中雙重檢查鎖(double checked locking)的相關(guān)資料,需要的朋友可以參考下2021-09-09

