前言
10年積累的網(wǎng)站設(shè)計、成都做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務。我雖然不認識你,你也不認識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有九江免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Fiddler是什么: Fiddler是一款非常流行并且實用的http抓包工具,它的原理是在本機開啟了一個http的代理服務器,然后它會轉(zhuǎn)發(fā)所有的http請求和響應,因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此,它還可以支持請求重放等一些高級功能。顯然它是可以支持對手機應用進行http抓包的。特別是在內(nèi)網(wǎng)環(huán)境下能極大的方便現(xiàn)場人員分析和排查問題,本文就來介紹下如何用fiddler對手機應用來抓包。
適用人員范圍: 實施同事(必會技能)、開發(fā)同事、測試同事
工具/原料
Fiddler抓包工具官方前往下載
Android、iOS 移動設(shè)備
方法/步驟
(1)啟動Fiddler,打開菜單欄中的Tools Options,打開“Options”對話框。
(2)在Options”對話框切換到“Connections”選項卡,然后勾選“Allow romote computers to connect”后面的復選框,切記:Fiddler 默認監(jiān)聽的端口:8888,然后點擊“OK”按鈕,關(guān)鍵:配置好之后,需要重啟Fiddler。
(3)下載一個獵豹免費WiFi并開啟自己的無線局域網(wǎng)(電腦自帶的也行)
(4)在本機命令行輸入:ipconfig,找到本機的ip地址,查看無線局域網(wǎng)的IP地址,比如:192.168.191.1,這是我的無線網(wǎng)地址。
(5)打開Android、iOS設(shè)備的“設(shè)置”-“WLAN”,找到你要連接的網(wǎng)絡(luò),在上面長按,然后選擇“修改網(wǎng)絡(luò)”,彈出網(wǎng)絡(luò)設(shè)置對話框,然后勾選“顯示高級選項”。
(6)在“代理”后面的輸入框選擇“手動”,在“代理服務器主機名”后面的輸入框輸入電腦的無線ip地址,在“代理服務器端口”后面的輸入框輸入8888,然后點擊“保存”按鈕。
(7)然后打開你項目的移動APP ,這里以移動辦公APP的公務郵件模塊為例,訪問首頁- 公務郵件模塊,在fiddler中可以看到郵件列表接口的請求數(shù)據(jù)和響應數(shù)據(jù)。
(8)怎么樣,是不是很簡單,快來試試吧!
注意
經(jīng)常遇到有同事說手機代理開啟之后(前提:配置完全沒有問題)手機連不上網(wǎng),網(wǎng)頁都打不開,這是怎么回事兒?
- 檢查電腦防火墻是否為關(guān)閉狀態(tài)
- 如果是iOS,代理配置完后要重新啟動一下Fiddler才行。
你好。形框?qū)儆诠靶伍T,中國人的陽宅風水是不贊成家居中的門或者窗是拱形,或者是有拱形的大件物品,之陽宅風水學中很忌諱拱形,其實在生活中,仔細想想拱形設(shè)計比較多的那就是墓碑了,這是很不吉利的。
這個是實現(xiàn)不了的,本身的這類軟件是沒有官方正規(guī)版本的,都是一些違規(guī)軟件也是大部分騙人的,所以說也是無法辦到。
從網(wǎng)絡(luò)上面搜索到的資料看,要抓取手機中app的網(wǎng)絡(luò)包有下面幾種方式:
(1).將tcpdump移植到Android平臺,然后在命令行下啟動tcpdump進行抓包。Tcpdump程序?qū)嶋H上可以看作是wireshark的命令行版本,將該程序移植到Android平臺直接抓包,這是一種最直接的抓包方式,然后將抓獲的數(shù)據(jù)包文件,從手機傳到windows系統(tǒng)上用wireshark打開進行分析,這種方式貌似不能用于蘋果手機。
(2).使用fiddler,在windows系統(tǒng)上打開fiddler軟件,該軟件會將我們的電腦變成一個代理,然后在手機上設(shè)置wifi網(wǎng)絡(luò),將代理指定為開啟fiddler的那臺電腦,并且端口設(shè)置為fiddler偵聽的8888端口,這時候使用手機訪問的數(shù)據(jù),就會通過該代理,在fiddler中就可以看到http的數(shù)據(jù)包。這種方法我試了半天怎么都看不到數(shù)據(jù)包,不知道哪里出問題了,根據(jù)原理,這種方式支持可以通過代理訪問網(wǎng)絡(luò)的手機。所以從原理上說是支持Android和蘋果手機的。
(3).通過各種方式在pc電腦上建立wifi熱點,然后使用wireshark在pc電腦上監(jiān)視該wifi熱點,通過手機連接該熱點訪問網(wǎng)絡(luò)。這樣wireshark會獲取所有流經(jīng)該熱點的數(shù)據(jù)包這種方式適用于所有能夠無線訪問的手機,也就是說所有的Android和蘋果手機。
那么如何在pc電腦上建立wifi熱點呢,有這么幾種辦法:
(1).Win7電腦經(jīng)過設(shè)置,可以將無線網(wǎng)卡設(shè)置為wifi熱點,這種方法我以前用過,可以成功,但是步驟繁瑣,而且不一定能夠成功,其他的windows系統(tǒng)估計就沒戲了。
(2).使用軟件自動建立wifi熱點,不需要自己手工配置,這樣的軟件有Connectify Hotspot,獵豹免費wifi,360免費wifi軟件,這幾個軟件我都使用過,比較好用,這種方式同樣也只能針對有無線網(wǎng)卡的筆記本電腦,原理也是將筆記本電腦上的無線網(wǎng)卡建立熱點了,只不過是軟件自動的,不需要人工設(shè)置,比方法1要方便。
注意:經(jīng)過實驗發(fā)現(xiàn),手機連接這種方式建立的熱點,所發(fā)送的數(shù)據(jù),用wireshark去抓包,需要捕獲電腦上本身聯(lián)網(wǎng)的那個“網(wǎng)絡(luò)連接”,例如我的筆記本上面有一個“本地連接”,該連接是使用有線網(wǎng)絡(luò)的。我用獵豹免費wifi軟件建立一個熱點之后,我的電腦上多出一個“無線網(wǎng)絡(luò)連接3”,可以看到該“無線網(wǎng)絡(luò)連接3”是獵豹生成的,但是我抓包的時候,wireshark需要捕獲“本地連接”上的包,也就是我的手機訪問的數(shù)據(jù)實際上還是使用的“本地連接”,通信IP也是“本地連接”上的IP地址,而在手機的wifi連接設(shè)置中看到的ip地址,在我抓的包中也搜不到,也就是說手機通過該熱點訪問網(wǎng)絡(luò),實際上還是使用的“本地連接”的IP地址,至于是什么原理,我目前也不太清楚。但是下面要說的隨身wifi硬件則與此不同,隨身wifi是建立了網(wǎng)卡。
(3).使用隨身wifi硬件。這種也是很方便的方法,而且比較穩(wěn)定,對筆記本電腦和臺式機都可以使用。我之前買了一個360的隨身wifi(不是打廣告,本人對360公司不感冒,但是他的隨身wifi做的確實還可以,同事中有買小米wifi的,不太穩(wěn)定)。只要在360的官網(wǎng)上下載驅(qū)動,直接插上隨身wifi就可以使用,我推薦使用這種方法。
如果你用的是筆記本電腦可以使用方法2,如果是臺式機器可以使用方法3。
1、PC端安裝Fiddler下載地址:Fiddler.exe,下面是Fiddler的簡單介紹:Fiddler是強大且好用的Web調(diào)試工具之一,它能記錄客戶端和服務器的http和https請求,允許你監(jiān)視,設(shè)置斷點,甚至修改輸入輸出數(shù)據(jù),F(xiàn)iddler包含了一個強大的基于事件腳本
啟動Fiddler,打開菜單欄中的 Tools Fiddler Options,打開“Fiddler Options”對話框。
在Fiddler Options”對話框切換到“Connections”選項卡,然后勾選“Allow romote computers to connect”后面的復選框,然后點擊“OK”按鈕。
根據(jù)下圖提示,獲取你自己電腦的ip地址,端口默認為:8888
4
設(shè)置手機wifi代理。
由于安卓手機和蘋果手機系統(tǒng)不同,請自行百度自己手機型號的wifi代理如何設(shè)置。(比如,百度搜索“小米手機如何設(shè)置wifi代理”)
安卓設(shè)置,簡化版:設(shè)置--WLAN--點擊(有些是長按--點擊“修改網(wǎng)絡(luò)”)當前鏈接的wifi--會看到設(shè)置“代理”的選項,選擇"手動"--服務器/主機名輸入上一步獲取的電腦ip,端口默認:8888
iPhone設(shè)置,簡化版:設(shè)置--WLAN--點擊當前鏈接的wifi--會看到設(shè)置“HTTP代理”的選項,選擇"手動"--服務器/主機名輸入上一步獲取的電腦ip,端口默認:8888
Fiddler的工作原理
Fiddler 是以代理web服務器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 當Fiddler會自動設(shè)置代理,
退出的時候它會自動注銷代理,這樣就不會影響別的程序。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動注銷,會造成網(wǎng)頁無法訪問。解決的辦法是重新啟動下Fiddler.
同類的其它工具
同類的工具有: httpwatch, firebug, wireshark
Fiddler 如何捕獲Firefox的會話
能支持HTTP代理的任意程序的數(shù)據(jù)包都能被Fiddler嗅探到,F(xiàn)iddler的運行機制其實就是本機上監(jiān)聽8888端口的HTTP代理。
Fiddler2啟動的時候默認IE的代理設(shè)為了127.0.0.1:8888,而其他瀏覽器是需要手動設(shè)置的,所以將Firefox的代理改為127.0.0.1:8888就可以監(jiān)聽數(shù)據(jù)了。
Firefox 上通過如下步驟設(shè)置代理
點擊: Tools - Options, 在Options 對話框上點擊Advanced tab - network tab
- setting.
Firefox 中安裝Fiddler插件
修改Firefox 中的代理比較麻煩, 不用fiddler的時候還要去掉代理。 麻煩
推薦你在firefox中使用fiddler hook 插件, 這樣你非常方便的使用Fiddler獲取firefox中的request
和response
當你安裝fiddler后, 就已經(jīng)裝好了Fiddler hook插件, 你需要到firefox中去啟用這個插件
打開firefox tools-Add ons - Extensions 啟動 FiddlerHook
Fiddler如何捕獲HTTPS會話
默認下,F(xiàn)iddler不會捕獲HTTPS會話,需要你設(shè)置下, 打開Fiddler Tool-Fiddler Options-HTTPS
tab
點擊"Yes" 后,就設(shè)置好了
Fiddler的基本界面
看看Fiddler的基本界面
Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab
只查看消息中的header.
Fiddler的HTTP統(tǒng)計視圖
通過陳列出所有的HTTP通信量,F(xiàn)iddler可以很容易的向您展示哪些文件生成了您當前請求的頁面。使用Statistics頁簽,用戶可以通過選擇多個會話來得來這幾個會話的總的信息統(tǒng)計,比如多個請求和傳輸?shù)淖止?jié)數(shù)。
選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優(yōu)化
使用虛擬機
Mac中安裝虛擬機軟件(比如VMware Fusion). 然后在虛擬機中安裝一個 Windows7系統(tǒng)(別的Window系統(tǒng)都可以),
然后在Windosw7中安裝Fiddler
虛擬機的網(wǎng)絡(luò)使用“Bridged” 模式
采用"Bridged" 模式, 可以讓虛擬機上運行的Windows7系統(tǒng),就像局域網(wǎng)里的一臺獨立的主機,擁有獨立的IP地址
配置虛擬機上的Fiddler, 允許“遠程連接”
在虛擬機中, 打開Fiddler Tools- Fiddler Options 。 (配置完后記得要重啟Fiddler).
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求發(fā)送到Fiddler上來
獲取虛擬機Windows7的IP地址
這個太簡單了, 直接在CMD中運行ipconfig. 就可以得到Windows7的IP地址,
或者你可以在Fiddler中得到IP地址。 把鼠標放在 Fiddler 工具欄上的 “Online” 上就可以了
配置Mac,把代理服務器指向Fiddler
在Mac 系統(tǒng)中, 打開System Preferences -Network-Advanced...-Proxies
中
選擇“Web Proxy (HTTP)” 輸入IP地址10.29.56.93和端口8888
選擇“Secure Web Proxy (HTTPS)” 輸入IP地址10.29.56.93和端口8888
大功告成, 開始抓包
現(xiàn)在Mac上面任何程序(比如Safari, Firefox, Itunes, App
Store)發(fā)出的HTTP/HTTPS都可以被Fiddler獲取。