① android如何過濾http請求
Android客戶端捕獲http請求包的方法
對於Web測試,我們可以很容易的抓取到相關的http請求包,不用什麼專業軟體,甚至瀏覽器都能幫我們完成這個功能,拿到需要的http請求連接 。
http連接對於測試同學來說, 不論做功能、性能或是安全,都是非常重要的, 他過濾了前台的因素,讓測試同學直接能對後台進行交互。
以上是http連接的重要性,基本等於廢話,下面是正題。
客戶端安全測試,同樣需要拿到http的請求包,由於客戶端的前段限制繞過比較麻煩,那麼在做安全測試的過程中,直接拿到http的請求包顯得更外重要。
有如下方法可以拿到請求的http包:
1、在不配置代理的情況下,對Android客戶端(模擬器)的數據我們可以使用wireshark或者etherpeek等網路層抓包軟體抓取,模擬器本身的數據交互是通過電腦主機的網卡進行的,所以我們通過抓包軟體抓取主機網卡的數據包,經過過濾,便可得到模擬器客戶端中的數據包,類似這樣:
訪問之後,通過wireshark過濾http請求,便可找到我們剛剛發送的請求。
當然,這是種比較麻煩的方法,不過可以更確切的看到網路包發送的內容。
另一種辦法是對模擬器配置代理,讓所有請求包可以通過外部主機的七層抓包軟體,例如fiddler ,burpsuite等所捕獲到,配置代理需要先做一次設置:類似這樣:
進 入「設置」選項之後,按照圖示設置
這里proxy 設置為10.0.2.2是android模擬器對外部主機地址的硬編碼,埠設為8888是外部主機fiddler 的監聽地址,當然,如果是burpsuite 可以設置為8080。
② 怎麼攔截Android APP HTTP請求
根據PC 平台不同 推薦兩款 軟體 抓網路請求:
Windows: Fiddler 官網地址 http://www.telerik.com/fiddler
Mac : Charles 官網地址: https://www.charlesproxy.com/
兩款軟體 均需要 手機 與PC 在同一區域網內,並且需要手動設置 手機Wi-Fi 代理伺服器IP 為PC Ip 地址,埠號需要看一下軟體設定。常用的Http 請求 均可抓取,若是Https 請求 Charles 需要安裝 手機證書,才可將抓取數據顯示出來。
③ 如何監控android應用的發送http請求
目前android提供的工具沒事,我們寫工程都是自己寫http請求,每次請求的時候打Log,記錄請求的url和參數。請求回來了,打log,記錄回來的數據,記錄數據的狀態,數據的內容。 目前只能這樣。如果用模擬器的話,可以用vnStat或者CommView之類的監控電腦網卡的請求,間接的監控手機。一般開發用手機測試,這樣就不行了。只能打log了
④ 如何在Android應用里對HTTP請求頭部添加適當的User-Agent欄位
一般Web瀏覽器在訪問各個網站時,會在HTTP請求的Header里設置User-Agent欄位,表示請求者的身份信息,比如在我華為U9200的Android手機上,打開Chrome瀏覽器後,每個訪問請求的User-Agent欄位如下:
?
Mozilla/5.0 (Linux; Android 4.0.3; U9200 Build/HuaweiU9200)
對於安卓App來說,默認情況下的HTTP請求Header是不會帶上這么一串字元串的。如果要帶必須得自己構造了,我摸索了半天,還是找到了達到和瀏覽器同樣格式的設置User-Agent的方法:
?
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
// HttpPost httpPost = new HttpPost(url); // 如果是POST請求,則改為注釋掉上面一行
// MY_APP_NAME為APP名稱,MY_APP_VERSION_NAME為應用的版本名
httpGet.setHeader("User-Agent", String.format("%s/%s (Linux; Android %s; %s Build/%s)", MY_APP_NAME, MY_APP_VERSION_NAME, Build.VERSION.RELEASE, Build.MANUFACTURER, Build.ID));
⑤ 如何抓取 android app 的 http 請求
有人提到Fiddler,但是Fiddler是針對HTTP
有人提到設代理,但是Android並非所有App通訊都會像http請求乖乖的走代理,不是root不root的問題,ios同理
有人提到tcpmp,但是tcpmp不能實時看通訊過程
建議
下載 Wireshark ,支持800多種通訊協議
無線網卡建立虛擬AP
連接wifi,直接用wireshark抓包,一切通訊盡收眼底
⑥ 怎麼攔截Android APP HTTP請求
用fiddler可以攔截http請求,查看http頭,content 等信息