使用wireshark工具抓取手机包
從網(wǎng)絡(luò)上面搜索到的資料看,要抓取手機(jī)中app的網(wǎng)絡(luò)包有下面幾種方式:
(1).將tcpdump移植到Android平臺(tái),然后在命令行下啟動(dòng)tcpdump進(jìn)行抓包。Tcpdump程序?qū)嶋H上可以看作是wireshark的命令行版本,將該程序移植到Android平臺(tái)直接抓包,這是一種最直接的抓包方式,然后將抓獲的數(shù)據(jù)包文件,從手機(jī)傳到windows系統(tǒng)上用wireshark打開進(jìn)行分析,這種方式貌似不能用于蘋果手機(jī)。
(2).使用fiddler,在windows系統(tǒng)上打開fiddler軟件,該軟件會(huì)將我們的電腦變成一個(gè)代理,然后在手機(jī)上設(shè)置wifi網(wǎng)絡(luò),將代理指定為開啟fiddler的那臺(tái)電腦,并且端口設(shè)置為fiddler偵聽的8888端口,這時(shí)候使用手機(jī)訪問的數(shù)據(jù),就會(huì)通過該代理,在fiddler中就可以看到http的數(shù)據(jù)包。這種方法我試了半天怎么都看不到數(shù)據(jù)包,不知道哪里出問題了,根據(jù)原理,這種方式支持可以通過代理訪問網(wǎng)絡(luò)的手機(jī)。所以從原理上說是支持Android和蘋果手機(jī)的。
(3).通過各種方式在pc電腦上建立wifi熱點(diǎn),然后使用wireshark在pc電腦上監(jiān)視該wifi熱點(diǎn),通過手機(jī)連接該熱點(diǎn)訪問網(wǎng)絡(luò)。這樣wireshark會(huì)獲取所有流經(jīng)該熱點(diǎn)的數(shù)據(jù)包這種方式適用于所有能夠無線訪問的手機(jī),也就是說所有的Android和蘋果手機(jī)。
那么如何在pc電腦上建立wifi熱點(diǎn)呢,有這么幾種辦法:
(1).Win7電腦經(jīng)過設(shè)置,可以將無線網(wǎng)卡設(shè)置為wifi熱點(diǎn),這種方法我以前用過,可以成功,但是步驟繁瑣,而且不一定能夠成功,其他的windows系統(tǒng)估計(jì)就沒戲了。
(2).使用軟件自動(dòng)建立wifi熱點(diǎn),不需要自己手工配置,這樣的軟件有Connectify Hotspot,獵豹免費(fèi)wifi,360免費(fèi)wifi軟件,這幾個(gè)軟件我都使用過,比較好用,這種方式同樣也只能針對(duì)有無線網(wǎng)卡的筆記本電腦,原理也是將筆記本電腦上的無線網(wǎng)卡建立熱點(diǎn)了,只不過是軟件自動(dòng)的,不需要人工設(shè)置,比方法1要方便。
注意:經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),手機(jī)連接這種方式建立的熱點(diǎn),所發(fā)送的數(shù)據(jù),用wireshark去抓包,需要捕獲電腦上本身聯(lián)網(wǎng)的那個(gè)“網(wǎng)絡(luò)連接”,例如我的筆記本上面有一個(gè)“本地連接”,該連接是使用有線網(wǎng)絡(luò)的。我用獵豹免費(fèi)wifi軟件建立一個(gè)熱點(diǎn)之后,我的電腦上多出一個(gè)“無線網(wǎng)絡(luò)連接3”,可以看到該“無線網(wǎng)絡(luò)連接3”是獵豹生成的,但是我抓包的時(shí)候,wireshark需要捕獲“本地連接”上的包,也就是我的手機(jī)訪問的數(shù)據(jù)實(shí)際上還是使用的“本地連接”,通信IP也是“本地連接”上的IP地址,而在手機(jī)的wifi連接設(shè)置中看到的ip地址,在我抓的包中也搜不到,也就是說手機(jī)通過該熱點(diǎn)訪問網(wǎng)絡(luò),實(shí)際上還是使用的“本地連接”的IP地址,至于是什么原理,我目前也不太清楚。但是下面要說的隨身wifi硬件則與此不同,隨身wifi是建立了網(wǎng)卡。
(3).使用隨身wifi硬件。這種也是很方便的方法,而且比較穩(wěn)定,對(duì)筆記本電腦和臺(tái)式機(jī)都可以使用。我之前買了一個(gè)360的隨身wifi(不是打廣告,本人對(duì)360公司不感冒,但是他的隨身wifi做的確實(shí)還可以,同事中有買小米wifi的,不太穩(wěn)定)。只要在360的官網(wǎng)上下載驅(qū)動(dòng),直接插上隨身wifi就可以使用,我推薦使用這種方法。
如果你用的是筆記本電腦可以使用方法2,如果是臺(tái)式機(jī)器可以使用方法3。
下面重點(diǎn)說明,通過隨身wifi建立熱點(diǎn),然后使用wireshark抓包的辦法,其他方式建立熱點(diǎn)抓包的原理一樣,只不過是建立熱點(diǎn)的方式不同而已,抓包過程沒有區(qū)別:
首先插入隨身wifi:
使用手機(jī)連接上面的wifi,然后打開“網(wǎng)絡(luò)和共享中心”,在里面點(diǎn)擊我們使用隨身wifi建立的網(wǎng)絡(luò)連接:
里面可以看到該鏈接的網(wǎng)卡物理地址,以及ipv6的地址信息,這應(yīng)該是隨身wifi建立的一個(gè)網(wǎng)卡,之所以要查看這些信息,是因?yàn)槲覀円_定wireshark抓包的時(shí)候抓取那個(gè)網(wǎng)卡的信息,一般電腦上有多網(wǎng)卡或者是有虛擬機(jī)可能也會(huì)生成虛擬網(wǎng)卡。
打開wireshark,選擇菜單“Capture”—“Interface”在彈出的對(duì)話框中有一列是IP欄,可以看到除了本機(jī)的網(wǎng)絡(luò)連接以外,好像其他的網(wǎng)絡(luò)鏈接這一欄顯示的都是IPv6的地址,其中我們可以找到與上面網(wǎng)絡(luò)連接信息中匹配的IP地址:
還可以點(diǎn)擊該條目右邊的“Details”按鈕,打開詳細(xì)信息對(duì)話框,在“802.3(Ethernet)”選項(xiàng)卡中,可以看到網(wǎng)卡的物理地址,該物理地址與上面的網(wǎng)絡(luò)連接對(duì)話框中顯示的物理地址是對(duì)應(yīng)的:
這樣可以確定我們需要抓取哪個(gè)網(wǎng)卡的數(shù)據(jù),確定之后,直接點(diǎn)擊該條目的“Start”按鈕,使用連上該wifi的手機(jī)隨便訪問網(wǎng)絡(luò),就可以抓取所有包了,如果嫌查看網(wǎng)卡信息麻煩,你可以把這幾個(gè)顯示有數(shù)據(jù)包的網(wǎng)卡都抓包試一下,就應(yīng)該可以看出來隨身wifi對(duì)應(yīng)的是那個(gè)網(wǎng)絡(luò)連接了。
在手機(jī)上查看連接該wifi被分配的IP地址信息:
在wireshark的抓包結(jié)果中,通過地址與http協(xié)議過濾出該地址172.24.160.3相關(guān)的數(shù)據(jù)包得到如下的結(jié)果:
這些數(shù)據(jù)是我在小米手機(jī)上,通過UC瀏覽器瀏覽博格園電腦版網(wǎng)頁抓獲的所有數(shù)據(jù)包。
對(duì)于iphone手機(jī)的抓包過程沒有任何區(qū)別。該方法可以抓獲所有發(fā)送自手機(jī)的數(shù)據(jù)包,包括http與非http的所有數(shù)據(jù)包。
個(gè)人認(rèn)為這種方式非常簡單方便,抓取的數(shù)據(jù)包全面,而且通過隨身wifi設(shè)置熱點(diǎn)不需要任何繁瑣的配置,僅僅是安裝一個(gè)驅(qū)動(dòng)而已,實(shí)際上隨身wifi好像是新建了一個(gè)網(wǎng)卡。我們只要用wireshark抓獲該隨身wifi建立的網(wǎng)卡的數(shù)據(jù)就可以了。對(duì)于從事app開發(fā)的園友來說19塊錢買一個(gè)wifi是非常值得的,這會(huì)為你的調(diào)試,以及研究別人的協(xié)議提供非常大的幫助
轉(zhuǎn)載于:https://www.cnblogs.com/lijiangjie-1006/p/6370152.html
總結(jié)
以上是生活随笔為你收集整理的使用wireshark工具抓取手机包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unicode : RLO
- 下一篇: 关于eclipse没有http jar的