日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在服务器上用Fiddler抓取HTTPS流量

發(fā)布時(shí)間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在服务器上用Fiddler抓取HTTPS流量 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://yoursunny.com/t/2011/FiddlerHTTPS/

陽光男孩 發(fā)表于2011-03-19

開發(fā)互聯(lián)網(wǎng)應(yīng)用的過程中,常常會(huì)設(shè)立或利用網(wǎng)絡(luò)接口。為了調(diào)試對(duì)網(wǎng)絡(luò)接口的使用,往往需要查看流入和流出網(wǎng)絡(luò)接口的網(wǎng)絡(luò)流量或數(shù)據(jù)包。“抓包工具”就是一類用于記錄通過網(wǎng)絡(luò)接口的數(shù)據(jù)的工具。

我們知道,網(wǎng)絡(luò)協(xié)議是分層設(shè)計(jì)的,OSI模型將網(wǎng)絡(luò)協(xié)議分為了7個(gè)層次。不同的抓包工具,可以在網(wǎng)絡(luò)協(xié)議的不同層次上工作。常用的Wireshark就是一種在網(wǎng)絡(luò)層上工作的抓包工具,不僅自帶大量的協(xié)議分析器,而且可以通過編寫Wireshark插件來識(shí)別自定義的協(xié)議。雖然Wireshark功能強(qiáng)大,但是卻并不能解決所有的抓包問題,其原因在于:

  • Wireshark工作在網(wǎng)絡(luò)層;如果計(jì)算機(jī)配置了IPSec傳輸層加密,則在網(wǎng)絡(luò)層的流量都已經(jīng)被加密,什么也看不到。
  • 當(dāng)今大量網(wǎng)絡(luò)接口使用HTTPS加密,Wireshark不能抓取到HTTPS流量的明文內(nèi)容。

那么,如何抓取到HTTPS請(qǐng)求的明文內(nèi)容呢?使用Fiddler就可以辦到。

Fiddler是Eric Lawrence編寫的HTTP抓包軟件。Fiddler工作在應(yīng)用層上,作為其他程序的HTTP代理服務(wù)器。它可以直接抓取并分析HTTP流量,也可以作為“中間人”抓取并分析HTTPS流量。

Fiddler抓取HTTPS流量的原理

TLS是一種端到端的傳輸層加密協(xié)議,是HTTPS協(xié)議的一個(gè)組成部分。訪問HTTPS站點(diǎn)時(shí),HTTP請(qǐng)求、響應(yīng)都通過TLS協(xié)議在瀏覽器和服務(wù)器之間加密傳輸,并且通過數(shù)字證書技術(shù)保證數(shù)據(jù)的保密性和完整性;任何“中間人”、包括代理服務(wù)器都只能轉(zhuǎn)發(fā)數(shù)據(jù),而無法竊聽或者篡改數(shù)據(jù)。

要抓取HTTPS流量的明文內(nèi)容,Fiddler必須解密HTTPS流量。但是,瀏覽器將會(huì)檢查數(shù)字證書,并發(fā)現(xiàn)會(huì)話遭到竊聽。為了騙過瀏覽器,Fiddler通過使用另一個(gè)數(shù)字證書重新加密HTTPS流量。Fiddler被配置為解密HTTPS流量后,會(huì)自動(dòng)生成一個(gè)名為DO_NOT_TRUST_FiddlerRoot的CA證書,并使用該CA頒發(fā)每個(gè)域名的TLS證書。若DO_NOT_TRUST_FiddlerRoot證書被列入瀏覽器或其他軟件的信任CA名單內(nèi),則瀏覽器或其他軟件就會(huì)認(rèn)為HTTPS會(huì)話是可信任的、而不會(huì)再?gòu)棾觥白C書錯(cuò)誤”警告。

開啟HTTPS流量解密功能后,Fiddler將會(huì)提示用戶將DO_NOT_TRUST_FiddlerRoot證書列入IE瀏覽器的信任CA名單。用于調(diào)試客戶端時(shí),這已經(jīng)足夠了;Firefox用戶也可以很方便的手動(dòng)導(dǎo)入DO_NOT_TRUST_FiddlerRoot證書。但是,若要在服務(wù)器上抓取ASP.Net發(fā)出的HTTPS請(qǐng)求,這是不夠的——你必須將DO_NOT_TRUST_FiddlerRoot證書導(dǎo)入“機(jī)器帳號(hào)”的信任CA名單。

操作錄像

該錄像演示了下列操作:

  • 開啟Fiddler的HTTPS流量解密功能
  • 將DO_NOT_TRUST_FiddlerRoot證書導(dǎo)入“機(jī)器帳號(hào)”的信任CA名單
  • 將PHP腳本的代理服務(wù)器設(shè)置為127.0.0.1:8888,并抓取HTTPS請(qǐng)求
  • 主要網(wǎng)絡(luò)開發(fā)框架的抓包配置

    Fiddler的工作方式是代理服務(wù)器(端口號(hào)8888)。只要開發(fā)框架支持設(shè)置HTTP代理服務(wù)器,都可以使用Fiddler。

    #PHP curl $ch=curl_init('https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');//設(shè)置代理服務(wù)器 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);//若PHP編譯時(shí)不帶openssl則需要此行 $resp=curl_exec($ch); curl_close($ch); <!-- ASP.Net web.config --> <configuration><system.net><defaultProxy enabled="false"><proxy proxyaddress="http://127.0.0.1:8888/"/></defaultProxy></system.net> </configuration>

    如果你使用linux服務(wù)器,請(qǐng)將Fiddler安裝在一臺(tái)Windows計(jì)算機(jī)上并在Tools - Fiddler Options - Connections勾選Allow remote computers to connect,并手動(dòng)將FiddlerRoot.cer導(dǎo)入linux服務(wù)器的信任CA名單,最后將代理服務(wù)器設(shè)置成Fiddler所在IP的8888端口。

    總結(jié)

    以上是生活随笔為你收集整理的在服务器上用Fiddler抓取HTTPS流量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。