數據抓包
## APP抓包基礎
為了測試app,經常需要對app發送的數據進行數據抓取,下面簡單介紹下怎麼通過代理程序進行,其中包括了抓取http的數據包、https的數據包、tcp/ip的數據包、socket連接數據包、藍牙數據包(標準藍牙、BLE)
### 抓包工具
1. burp
2. fiddler
3. charles
4. wireshark
5. tcpdump
6. hcitool、gatttool
### 輔助程序
1. xposed框架及模塊
2. ProxyDroid
3. create_ap(https://github.com/oblique/create_ap)
4. ubertooth
## http的抓包
這個是最為簡單的,只要把手機的wifi代理設置成代理工具的地址和埠就可以抓取到,這個不在細說。
## https的抓包
這個需要導入代理工具的證書,導入後就可以抓取到手機中的https通信,但是對於app有個問題,app若是做了證書的強校驗,就對導入的證書不信任,從而導致導入了根證書也是無法獲取到https流量的
為了解決這個問題,有幾種方法可以破解掉證書強校驗。
1. hook方式
這個是反編譯app後把強校驗的函數更改或者去掉,比較麻煩
2. xposed方式
這個比較方便,需要做的就是root手機以及在手機上安裝xposed框架,具體的安裝方式網上有很多,需要注意的是需要找到和自己手機內核對應的版本
安裝後xposed有個模塊市場,裡面有很多大神寫的模塊,為了抓取https的數據包,需要的是JustTrustMe,這個的原理就是吧所有的強校驗的函數統一hook,之後重啟就能抓取https的數據包了
## tcp/ip的數據包抓取
這個不單單是用在app上面,像針對智能硬體測試的時候,可以抓取智能硬體的數據包
這個就沒辦法使用代理程序的方法進行抓取,比較通用的方式是搭建自己的AP,在AP上對流量進行抓取分析,但是有個問題,看到的流量的目的地址都是AP的地址,對於流量的分析是比較不利的
後來發現create_ap,這個配合wireshark和tcpdump簡直神了
首先安裝create_ap,很簡單,直接make就行,安裝好後,在主機上運行(測試了雙網卡的ubuntu運行最為穩定):`create_ap wlp3s0 enp0s25 aptest test0987`
就會開啟一個aptest的熱點,智能設備或者手機連接這個ap,主機上會增加一個網口,後面用wireshark或tcpdump就可以抓取到數據了,而且源ip是智能設備的ip,目的ip是雲端伺服器的ip,我記得這種ap模式叫做hostap,自己配置是相當麻煩,這個工具就一條命令
當然這種也可以抓取http的流量,只是分析可能沒有代理工具方便
## socket連接數據包
有的app採用了長連接的方式傳遞數據,不是http之類的,這種的話burp可以抓取到部分,可能這個功能burp還不完全,這裡有個比較好的辦法,我是利用ProxyDroid+xposed框架及模塊+charles
首先xposed可以把app的強校驗幹掉,charles有socket代理模式,ProxyDroid可以設置手機所有的流量走socket代理,這樣就把流量都導入到了charles中,charles相對於burp有它的優勢所在,他可以向對話似的把socket長鏈接展示出來。後面的分析很方便
## 藍牙數據包的抓取
這個ubuntu下安裝了bluz協議棧後就很容易的抓取。
利用到的工具就是hcitool,這個可以對藍牙數據包,ble數據包進行掃描,gatttool可以獲取數據包和操作數據包
更為強大的ubertooth,這個是藍牙分析的利器。
這些的具體使用可以看下https://zhuanlan.zhihu.com/p/25609035
推薦閱讀:
※如果 CPU 存在安全後門,那麼使用國產伺服器能杜絕安全問題嗎?
※Win7用默認的Administrator有什麼好處和壞處,自己新建用戶又有什麼好處和壞處?
※如何評價在日本肆虐的vvv病毒,以及應該如何防範?
※白宮特供通信軟體Confide被發現存在漏洞,可查看特朗普聊天記錄
※當老闆問你我們的網站安全嗎?我們到底該如何回答?
TAG:网络安全 |