Fiddler抓包使用教程-掃盲篇
1、什麼是抓包?
不同主機之間的資料通信都是通過網絡來進行傳輸,對那些在網絡上傳輸的資料(發送、請求的資料)進行截獲、編輯、轉存等操作叫做抓包。抓包可以是抓取電腦端請求的資料,還可以抓取移動端(手機APP)的資料包。
2、為什麼要進行抓包?
通過對網絡上傳輸的資料進行抓取,可以對其進行分析,對于軟體的Debug很大的幫助。當然也可以通過抓取使用者發送的涉及使用者名和密碼的資料包來擷取使用者的密碼。
3、能夠進行抓包的技術原理是什麼?
一般情況下,資料按照各種網絡協定按照一定的格式在網絡上進行傳輸,網絡上傳輸的資料是以幀為機關,在對需要發送的資料進行包裝的時候,會把資料的接收方、發送的的位址(MAC位址、IP位址等)一起進行包裝并進行發送。根據發送方和接收方的位址,會有一條資料包的傳輸路徑,在這條路徑上,發送的資料包,會經過網絡上很多台主機,标準的TCP/IP協定是這樣處理的:當有資料經過主機時,主機會通過存放在資料包裡面的位址來進行判斷,這個資料包是否是發送自己的,如果不是發給自己的,主機就不會對它進行解析,簡單的進行丢棄(轉發)。如果是發送給自己的,那麼主機就會對其進行解析和存儲。
如果想要存儲那些不是發送給自己的資料包,可以把網絡适配卡設定為雜亂模式。這樣它就會接收經過它的每一個資料包了。
4、常用的抓包工具有哪些?
Charles、mitmproxy、Fiddler、WireShark、TcpDump
5、常用的抓包工具對比
Android平台下的網絡資料抓包工具,Android模拟器中自帶 TcpDump 檔案。用 TcpDump 對網絡資料抓包,手機不用走代理——将網絡資料包添加到 WireShark 中分析即可。
缺點:
手機必須擷取 root權限;
不能檢視實時通信資料——因為抓取的是 dump出來的檔案,而不能實時資料互動;
擷取的資料很多,分析時需要過濾、隻檢視真正有用的資訊。
PC端截獲、分析通過該網卡的所有網絡通信的資料包(針對移動端時候,就要對移動端設定 代理伺服器)強大的工具,完整檢視網絡中的每層、每個協定、每個資料包的詳細組成資訊;TCP、UDP、HTTP、HTTPS等協定的資料包均可擷取;
擷取的資訊太多,需要手動過濾、進行分析。
隻能檢視,不能修改、重發送網絡資料包。
HTTP協定的代理工具,抓取、分析電腦中所有進出該網卡、與網絡進行資料互動的資料(針對移動端抓包時,需要設定代理伺服器),主要針對的是 HTTP/HTTPS協定;能夠清晰檢視 資料包 中的内容——HTTPS中的資料包可以解密出來;簡單易操作,選中後即可修改Response結果;所見即所得,修改後馬上可以看到效果
隻适用于一次請求,下次請求需要重新設定。
手動修改需要花費時間,如果程式等待逾時,本次設定的Response結果失效