本文主要介紹以下內容:瀏覽器
一、Charles如何抓取HTTP報文服務器
二、Charles如何抓取手機上的HTTP包3d
三、使用Charles篡改數據信息代理
1、Charles抓取HTTP包server
一、Charles的安裝blog
一、下載地址:官網http://www.charlesproxy.com下載get
二、破解:Charles是收費軟件,須要破解。破解方法是下載charles.jar替換原來的 jar包。原理
三、charles.jar下載地址:http://pan.baidu.com/s/1i3Qt24H(我下的charles版本爲3.11.2)cli
ps:jar包對應的charles版本3.11.2 ,可網上搜取最新的軟件
二、安裝完成後打開Charles,默認打開以後就能夠正常抓取數據報文
在瀏覽器中輸入:http://bj.58.com/
而後Charles抓取到的報文以下圖:
若是感受請求太多,能夠切換到Sequence窗口設置過濾條件進行查看必要的請求,以下圖:
選中篩選出來的請求,而後選擇相應的Request、Response選項,對該請求進行分析,以下圖:
2、Charles抓取手機上的HTTP包
前提:手機和安裝有Charles的PC要在同一個局域網內
一、選擇Charles,對代理進行設置
Proxy>Proxy Setting,設置代理端口號爲:8888(默認值),也能夠修改成其餘未佔用的端口號
二、設置手機代理
選擇手機的WiFi打開無線網設置界面,選擇代理>手動,而後主機名填寫Charles主機的IP,端口號爲8888,以下圖:
三、設置完成後,直接在手機上瀏覽網頁,Charles便可抓取響應的HTTP請求,以下圖:
注意:若是不在抓取手機的包,請取消代理的設置,否則會影響手機的正常上網
3、Charles篡改數據信息
以訪問http://bj.58.com/ 爲例
原理說明:
當訪問http://bj.58.com/這個網址的時候,是client端發起HTTP請求到server服務端,而後server服務端在返回給client端相應的數據信息。
那麼若是咱們要篡改數據,那麼咱們須要在client與server端進行攔截,這樣不管是client端發送的數據仍是server端返回的數據這樣咱們就均可以看到了,而後就能夠對其數據進行修改,那該如何攔截呢?看下面
一、先使用Charles抓取訪問http://bj.58.com/訪問的請求,以下圖:
二、選擇該請求,右鍵而後選擇Breakpoints,至關於在該請求上打了一個斷點,以下圖:
也就是說當在此方位bj.58.com這個網址的時候,會被Charles進行攔截,
三、清除訪問的數據,從新訪問bj.58.com這個網址
咱們發現界面會一直在轉圈請求數據,這是看咱們的Charles發現已經攔截到了訪問58的請求數據,以下圖:
在該界面我能夠對其訪問的請求方式和訪問的URL進行修改,以下圖:
這裏咱們不作任何修改,選擇下面的Execute進行放過
四、放事後會發現服務器返回的數據也被咱們攔截到了,以下圖:
而後在該選項卡咱們能夠查看Headers、Cookie、和界面的一些信息;選擇HTML,將其中的家教老師修改爲;家教老師666666,以下圖:
而後選擇Execute進行放過
五、而後咱們在看瀏覽器返回的界面,發現界面的數據已經被修改了,以下圖:
注意:
使用完成後將添加的斷點去掉,不然每次訪問都會被Charles進行攔截。