日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

手机数据抓包以及wireshark技巧

發(fā)布時(shí)間:2025/6/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手机数据抓包以及wireshark技巧 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

國(guó)內(nèi)私募機(jī)構(gòu)九鼎控股打造APP,來(lái)就送?20元現(xiàn)金領(lǐng)取地址:http://jdb.jiudingcapital.com/phone.html
內(nèi)部邀請(qǐng)碼:C8E245J?(不寫邀請(qǐng)碼,沒(méi)有現(xiàn)金送)
國(guó)內(nèi)私募機(jī)構(gòu)九鼎控股打造,九鼎投資是在全國(guó)股份轉(zhuǎn)讓系統(tǒng)掛牌的公眾公司,股票代碼為430719,為中國(guó)PE第一股,市值超1000億元。?

------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

原文地址:?http://www.cnblogs.com/wangqiguo/p/4529250.html

閱讀目錄

  • 抓包工具介紹
  • Wireshark手機(jī)抓包
  • Wireshark常用技巧

本文主要討論一種非常方便的抓取Android和iphone手機(jī)網(wǎng)絡(luò)數(shù)據(jù)包的辦法,以及介紹wireshark最常用的技巧

回到頂部

抓包工具介紹

(1).網(wǎng)頁(yè)抓包工具

?? Chrome瀏覽器插件

?? FireBug 插件??

?? HttpWatch

?? Fiddler

?? 在瀏覽器chrome和firefox中可以使用插件抓取網(wǎng)絡(luò)包,httpwatch會(huì)以插件的形式安裝在IE和firefox瀏覽器中,對(duì)web請(qǐng)求進(jìn)行抓包。而Fiddler則是一個(gè)獨(dú)立的程序,其原理是在啟動(dòng)之后開啟對(duì)127.0.0.1:8888的端口進(jìn)行監(jiān)聽,并將計(jì)算機(jī)上的瀏覽器的代理設(shè)置為指向其監(jiān)聽的8888端口,這樣當(dāng)瀏覽器請(qǐng)求網(wǎng)頁(yè)的時(shí)候,會(huì)通過(guò)fiddler監(jiān)聽的8888端口,這樣fiddler會(huì)獲取到所有請(qǐng)求的數(shù)據(jù)和web服務(wù)器回復(fù)的數(shù)據(jù)。Fiddler可以自動(dòng)對(duì)IE和非IE瀏覽器的代理進(jìn)行設(shè)置,打開fiddler之后,點(diǎn)擊IE的“工具”— “Internet選項(xiàng)”—“連接”選項(xiàng)卡 – 點(diǎn)開“局域網(wǎng)設(shè)置”? 在彈出的對(duì)話框中你會(huì)發(fā)現(xiàn) “代理服務(wù)器”設(shè)置中的“為L(zhǎng)AN使用代理服務(wù)器”這個(gè)復(fù)選框是勾選上的,點(diǎn)擊下面的“高級(jí)”按鈕,可以看到代理服務(wù)器已經(jīng)被設(shè)置為127.0.0.1:8888了。

如下圖:

對(duì)非IE瀏覽器的設(shè)置也是自動(dòng)的,在fiddler的選項(xiàng)中可以看出來(lái)

點(diǎn)擊fiddler的菜單“Tools”—“Fiddler Options…” 可以看到如下圖:

點(diǎn)擊圖中的“Copy BrowserProxy Confiuration URL”得到一個(gè)路徑,也就是BrowserPAC.js的路徑,該文件是fiddler用來(lái)設(shè)置非IE瀏覽器的代理的,至于是什么原理,不太清楚,但是根據(jù)該js的注釋,以及fiddler選項(xiàng)鏈接的Tools tips提示,可以看出其作用就是設(shè)置非IE瀏覽器的代理的

這是fiddler軟件的智能之處,每當(dāng)開啟fiddler軟件之后,他會(huì)自動(dòng)對(duì)系統(tǒng)中安裝的瀏覽器進(jìn)行代理設(shè)置,關(guān)閉fiddler之后,他也會(huì)還原這些瀏覽器的代理設(shè)置。

從這點(diǎn)上來(lái)講我覺(jué)得fiddler比httpwatch更加好用。而瀏覽器的插件也可以滿足大部分的web抓包需求。

(2).網(wǎng)絡(luò)抓包工具

?? Wireshark

?? Sniffer

?? 這類工具主要原理是通過(guò)底層驅(qū)動(dòng),監(jiān)視網(wǎng)卡上流過(guò)的數(shù)據(jù),而這個(gè)數(shù)據(jù)包含網(wǎng)絡(luò)上所有的數(shù)據(jù),包括從鏈路層一直到最上層應(yīng)用層的所有數(shù)據(jù)包。這種抓包工具獲取的網(wǎng)絡(luò)數(shù)據(jù)包是最全面的,可以抓獲除了http協(xié)議之外的其他數(shù)據(jù)包。針對(duì)網(wǎng)卡捕獲,不需要設(shè)置。

回到頂部

Wireshark手機(jī)抓包

從網(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ī)訪問(wèn)的數(shù)據(jù),就會(huì)通過(guò)該代理,在fiddler中就可以看到http的數(shù)據(jù)包。這種方法我試了半天怎么都看不到數(shù)據(jù)包,不知道哪里出問(wèn)題了,根據(jù)原理,這種方式支持可以通過(guò)代理訪問(wèn)網(wǎng)絡(luò)的手機(jī)。所以從原理上說(shuō)是支持Android和蘋果手機(jī)的。

(3).通過(guò)各種方式在pc電腦上建立wifi熱點(diǎn),然后使用wireshark在pc電腦上監(jiān)視該wifi熱點(diǎn),通過(guò)手機(jī)連接該熱點(diǎn)訪問(wèn)網(wǎng)絡(luò)。這樣wireshark會(huì)獲取所有流經(jīng)該熱點(diǎn)的數(shù)據(jù)包這種方式適用于所有能夠無(wú)線訪問(wèn)的手機(jī),也就是說(shuō)所有的Android和蘋果手機(jī)。

那么如何在pc電腦上建立wifi熱點(diǎn)呢,有這么幾種辦法:

(1).Win7電腦經(jīng)過(guò)設(shè)置,可以將無(wú)線網(wǎng)卡設(shè)置為wifi熱點(diǎn),這種方法我以前用過(guò),可以成功,但是步驟繁瑣,而且不一定能夠成功,其他的windows系統(tǒng)估計(jì)就沒(méi)戲了。

(2).使用軟件自動(dòng)建立wifi熱點(diǎn),不需要自己手工配置,這樣的軟件有Connectify Hotspot,獵豹免費(fèi)wifi,360免費(fèi)wifi軟件,這幾個(gè)軟件我都使用過(guò),比較好用,這種方式同樣也只能針對(duì)有無(wú)線網(wǎng)卡的筆記本電腦,原理也是將筆記本電腦上的無(wú)線網(wǎng)卡建立熱點(diǎn)了,只不過(guò)是軟件自動(dòng)的,不需要人工設(shè)置,比方法1要方便。

注意:經(jīng)過(guò)實(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ú)線網(wǎng)絡(luò)連接3”,可以看到該“無(wú)線網(wǎng)絡(luò)連接3”是獵豹生成的,但是我抓包的時(shí)候,wireshark需要捕獲“本地連接”上的包,也就是我的手機(jī)訪問(wèn)的數(shù)據(jù)實(shí)際上還是使用的“本地連接”,通信IP也是“本地連接”上的IP地址,而在手機(jī)的wifi連接設(shè)置中看到的ip地址,在我抓的包中也搜不到,也就是說(shuō)手機(jī)通過(guò)該熱點(diǎn)訪問(wèn)網(wǎng)絡(luò),實(shí)際上還是使用的“本地連接”的IP地址,至于是什么原理,我目前也不太清楚。但是下面要說(shuō)的隨身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)說(shuō)明,通過(guò)隨身wifi建立熱點(diǎn),然后使用wireshark抓包的辦法,其他方式建立熱點(diǎn)抓包的原理一樣,只不過(guò)是建立熱點(diǎn)的方式不同而已,抓包過(guò)程沒(méi)有區(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èn)網(wǎng)絡(luò),就可以抓取所有包了,如果嫌查看網(wǎng)卡信息麻煩,你可以把這幾個(gè)顯示有數(shù)據(jù)包的網(wǎng)卡都抓包試一下,就應(yīng)該可以看出來(lái)隨身wifi對(duì)應(yīng)的是那個(gè)網(wǎng)絡(luò)連接了。

在手機(jī)上查看連接該wifi被分配的IP地址信息:

在wireshark的抓包結(jié)果中,通過(guò)地址與http協(xié)議過(guò)濾出該地址172.24.160.3相關(guān)的數(shù)據(jù)包得到如下的結(jié)果:

這些數(shù)據(jù)是我在小米手機(jī)上,通過(guò)UC瀏覽器瀏覽博格園電腦版網(wǎng)頁(yè)抓獲的所有數(shù)據(jù)包。

對(duì)于iphone手機(jī)的抓包過(guò)程沒(méi)有任何區(qū)別。該方法可以抓獲所有發(fā)送自手機(jī)的數(shù)據(jù)包,包括http與非http的所有數(shù)據(jù)包。

個(gè)人認(rèn)為這種方式非常簡(jiǎn)單方便,抓取的數(shù)據(jù)包全面,而且通過(guò)隨身wifi設(shè)置熱點(diǎn)不需要任何繁瑣的配置,僅僅是安裝一個(gè)驅(qū)動(dòng)而已,實(shí)際上隨身wifi好像是新建了一個(gè)網(wǎng)卡。我們只要用wireshark抓獲該隨身wifi建立的網(wǎng)卡的數(shù)據(jù)就可以了。對(duì)于從事app開發(fā)的園友來(lái)說(shuō)19塊錢買一個(gè)wifi是非常值得的,這會(huì)為你的調(diào)試,以及研究別人的協(xié)議提供非常大的幫助。

回到頂部

Wireshark常用技巧

本節(jié)主要講解wireshark使用的一些常用的技巧,其實(shí)主要是使用過(guò)程中,用的最為頻繁的一些包的篩選規(guī)則。

Wireshark中有兩種過(guò)濾器:

(1).捕獲過(guò)濾器:告訴wireshark我們只需要捕獲滿足什么條件的包,而不滿足條件的包則不需要捕獲。由于捕獲過(guò)濾器是在wireshark在捕獲過(guò)程中采用的,所以捕獲過(guò)濾器的過(guò)濾條件最多局限在傳輸層的協(xié)議,也就是可以通過(guò)ip和端口指定規(guī)則,而更加上層的應(yīng)用層協(xié)議則不能用在捕獲過(guò)濾器中。

語(yǔ)法:?Protocol? Direction? Host(s)?? Value? LogicalOperations? Other? expression

例子: tcp???? ??dst? ??????? ????10.1.1.1? 80???? or????? ? ???? tcp?? dst? 10.2.2.2 3128

解釋:Protocol表示協(xié)議,Direction表示方向,Host指定IP地址,Value一般指定端口,可以使用邏輯操作連接其他的表達(dá)式來(lái)生成復(fù)合表達(dá)式。例如:

tcp dst port 8888

捕獲目的tcp端口為8888的包

ip src host 10.1.1.1

捕獲來(lái)源地址為10.1.1.1的包

host 10.1.1.1

捕獲目的或者來(lái)源地址為10.1.1.1的包

not icmp

捕獲除了icmp包的所有包

有關(guān)更多的捕獲過(guò)濾器請(qǐng)參考wireshark的文檔

(2).顯示過(guò)濾器:該過(guò)濾器是在已經(jīng)抓到的包中篩選出自己想分析的數(shù)據(jù)包,也就是說(shuō)該過(guò)濾器是在捕獲工作已經(jīng)完成之后做的,其數(shù)據(jù)基礎(chǔ)就是已經(jīng)捕獲到的那些數(shù)據(jù)包,該過(guò)濾器支持的協(xié)議就是wireshark能夠識(shí)別的所有協(xié)議,由于是在已經(jīng)捕獲下來(lái)的包中進(jìn)行篩選,所以該過(guò)濾器中的條件表達(dá)式可以支持所有的上層協(xié)議,其篩選條件也可以根據(jù)每個(gè)協(xié)議的不同部分進(jìn)行篩選。下面以HTTP協(xié)議為例子:

查看所有http請(qǐng)求的數(shù)據(jù)包(包括GET,POST等等的請(qǐng)求,只要是web請(qǐng)求都算)

所有POST請(qǐng)求的數(shù)據(jù)包

所有請(qǐng)求的URL中包含字符串”.jpg”的包

所有http響應(yīng)狀態(tài)碼為200的包

可以看到HTTP協(xié)議有很多字段提供篩選,wireshark還支持matches操作符,進(jìn)行正則篩選

查找所有http請(qǐng)求URL中包含 /mvc/字符串并且請(qǐng)求的是帶參數(shù)的aspx頁(yè)面的包

關(guān)于各種協(xié)議的字段文檔可以查閱wireshark的文檔,都有詳細(xì)說(shuō)明,包括協(xié)議的每個(gè)字段部分的含義。其實(shí)對(duì)于做app或者是web開發(fā)的來(lái)說(shuō)常見的http篩選字段已經(jīng)足夠用了

此外wireshark除了可以根據(jù)協(xié)議的每個(gè)字段的內(nèi)容值進(jìn)行篩選之外,還可以指定數(shù)據(jù)包中的第幾個(gè)字節(jié)的二進(jìn)制數(shù)據(jù)值進(jìn)行篩選,這種通過(guò)包中二進(jìn)制數(shù)據(jù)進(jìn)行篩選的方法一般在socket的私有二進(jìn)制協(xié)議中比較有用,這些協(xié)議一般是私有定義的,并且是基于二進(jìn)制的協(xié)議,例如第幾個(gè)字節(jié)表示什么意思,wireshark肯定是不能識(shí)別這些包的,那么我們可以自己根據(jù)二進(jìn)制數(shù)據(jù)進(jìn)行篩選

篩選出ip源或目標(biāo)地址為172.16.1.126 并且udp端口為50798 并且rtp包的第2個(gè)字節(jié)的值是0xE0的包,這樣的包是rtp數(shù)據(jù)包一幀結(jié)束的包。

當(dāng)然上面的例子我們是可以通過(guò)rtp協(xié)議的字段rtp.marker==1為條件來(lái)進(jìn)行篩選的,舉上面的例子是為了說(shuō)明如何根據(jù)包中的二進(jìn)制數(shù)據(jù)值進(jìn)行篩選。

Wireshark有非常強(qiáng)大的抓包與過(guò)濾功能,本節(jié)也僅僅列舉了其中最常用的篩選規(guī)則,在顯示過(guò)濾器的規(guī)則中wireshark可以根據(jù)每一層的協(xié)議進(jìn)行篩選,例如網(wǎng)絡(luò)層(IP,ARP,ICMP等協(xié)議),傳輸層(TCP,UDP)等協(xié)議,應(yīng)用層(HTTP,RTMP,RTSP等協(xié)議),各層協(xié)議的字段可以通過(guò)邏輯與(&&,and),或(||,or),非(|,not)等運(yùn)算符連接成復(fù)合表達(dá)式進(jìn)行過(guò)濾。

更加詳細(xì)的wireshark的過(guò)濾規(guī)則可以參考wireshark的官方文檔。

對(duì)博客園提點(diǎn)建議:上傳相冊(cè)的圖片要是能批量上傳就好了,每次寫篇文章,上傳十幾二十張圖片非常痛苦

轉(zhuǎn)載于:https://www.cnblogs.com/AloneSword/p/4535047.html

總結(jié)

以上是生活随笔為你收集整理的手机数据抓包以及wireshark技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。