日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
基于iOS的Wireshark抓包實踐

接上篇《基于iOS的Charles抓包實踐》,Charles是很強大的網(wǎng)絡(luò)請求抓包工具,常用于抓包HTTP/HTTPS請求。而作者在做IoT項目時,智能硬件配網(wǎng)協(xié)議是基于TCP/UDP或者藍牙的,需要用Wireshark進行抓包調(diào)試。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)烏什,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

本文基于作者在項目中抓包iPhone和智能硬件之間TCP/UDP通信數(shù)據(jù)的經(jīng)驗來介紹Wireshark的使用方式。

一、啟動Wireshark

Wireshark是免費軟件,可以從官網(wǎng)直接下載安裝。

PS:從非官方網(wǎng)站下載資源時要注意甄別安裝包來源,謹防木馬和病毒。

安裝成功后,啟動Wireshark,可看到本地接口列表界面。圖示如下:

此時,要選擇一個接口,雙擊后進入抓包界面。Ethernet:en0(以太網(wǎng)卡)和Wi-Fi:en1(無線網(wǎng)卡)是教常用的兩個接口。而作者要捕捉的數(shù)據(jù)(iPhone和智能硬件之間的TCP/UDP通信數(shù)據(jù))不經(jīng)過PC的網(wǎng)卡。所以,在抓包之前,需要先創(chuàng)建出來待捕捉的接口。

二、創(chuàng)建虛擬網(wǎng)卡

這里的虛擬網(wǎng)卡就是上述的待捕捉的接口。創(chuàng)建虛擬網(wǎng)卡的過程如下:

第1步:獲取iPhone的UDID

將iPhone通過USB接口連接Mac,然后在終端上使用下述命令獲取iPhone的UDID。

 
 
 
 
  1. $ system_profiler SPUSBDataType | grep "Serial Number:.*" | sed s#".*Serial Number: "## 
  2.  
  3. 結(jié)果:decb66caf7012a7799c2c3edxxxxxxxx7f5a715e 

如果Mac上連接了多個iPhone,從Xcode菜單欄 -> Window -> Devices and Simulators可以更方便地獲取準(zhǔn)確的UDID。圖示如下:

第2步:為iPhone創(chuàng)建虛擬網(wǎng)卡

(1)查看已有的接口

 
 
 
 
  1. $ ifconfig -l 
  2.  
  3. 結(jié)果:lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27 

(2)創(chuàng)建虛擬網(wǎng)卡

 
 
 
 
  1. $ rvictl -s decb66caf7012a7799c2c3edxxxxxxxx7f5a715e 
  2.  
  3. 結(jié)果:Starting device decb66caf7012a7799c2c3edxxxxxxxx7f5a715e [SUCCEEDED] with interface rvi0 

PS:可以使用 rvictl -x [UDID]命令在需要的時候去除網(wǎng)卡。

(3)再次查看已有的接口

 
 
 
 
  1. $ ifconfig -l 
  2.  
  3. 結(jié)果:lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27 rvi0 

在末尾多出的 rvi0 就是為iPhone創(chuàng)建出來的虛擬網(wǎng)卡。使用 rvi0 就可以抓包了。

三、啟動虛擬網(wǎng)卡

打開Wireshark,本地接口列表界面中出現(xiàn)了 rvi0 。圖示如下:

雙擊 rvi0 即可進入抓包界面。

若此時出現(xiàn)如下彈窗,則說明無權(quán)限訪問該接口。

這時,退出Wireshark,然后在終端上使用下述命令重新打開Wireshark就可以了。

 
 
 
 
  1. $ sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark  
  2. Password: 

四、TCP/UDP抓包

1. 抓包界面

要對TCP/UDP進行抓包,首先需要了解Charles主界面。圖示如下:

(1)工具欄

工具欄中包含一些功能按鈕,可以控制開始抓包、停止抓包等。工具欄底部的輸入框叫做顯示過濾器,可以通過設(shè)定一些過濾條件,控制數(shù)據(jù)包列表欄的顯示情況。

(2)數(shù)據(jù)包列表欄

這部分顯示抓到的請求列表(包列表),不同類型的請求會以不同的顏色表示。頂部的No.、Time、 Source、 Destination、 Protocol、 Length 、Info是單條請求的的屬性,可以在菜單欄 -> 視圖中調(diào)整顯示效果。

(3)數(shù)據(jù)包詳情欄

在數(shù)據(jù)包列表欄中點擊某條數(shù)據(jù),可在此區(qū)域內(nèi)查看詳情。

(4)數(shù)據(jù)包流信息欄

此區(qū)域展示包的原始數(shù)據(jù),在數(shù)據(jù)包詳情欄中顯示的內(nèi)容在此區(qū)域都能對應(yīng)到byte級別的數(shù)據(jù)。

2. 過濾器

由于Wireshark捕捉經(jīng)過網(wǎng)卡的所有數(shù)據(jù),在稍復(fù)雜的網(wǎng)路環(huán)境中,數(shù)據(jù)包的數(shù)量會瞬間增加,達到難以閱讀和難以查找目標(biāo)數(shù)據(jù)包的狀態(tài)。此時,使用Wireshark捕獲過濾器和顯示過濾器會很有幫助。

(1)捕獲過濾器

啟動Wireshark后,在本機接口列表頁面可以看到捕獲過濾器(Capture Filter)。圖示如下:

在藍色框內(nèi)的過濾器輸入框中,可以輸入一些規(guī)則,來指明Wireshark只捕捉符合該規(guī)則的數(shù)據(jù)***濾規(guī)則示例如下:

 
 
 
 
  1. // 只捕獲HTTP/HTTPS數(shù)據(jù) 
  2. port 80 or port 443 
  3.  
  4. // 只捕獲制定host的數(shù)據(jù) 
  5. host 192.168.10.1 

(2)顯示過濾器

顯示過濾器(Display Filter)在抓包界面的工具欄底部(上面有介紹)。輸入一些規(guī)則,可以從數(shù)據(jù)包列表欄過濾掉不符合該規(guī)則的數(shù)據(jù)包,當(dāng)去掉規(guī)則時,被過濾掉的數(shù)據(jù)包會重新顯示出來。過濾規(guī)則示例如下:

 
 
 
 
  1. // 只顯示TCP/UDP數(shù)據(jù) 
  2. tcp || udp 
  3.  
  4. // 只顯示HTTP/HTTPS數(shù)據(jù) 
  5. tcp.port == 80 || tcp.port == 443 
  6.  
  7. // 只顯示指定host的數(shù)據(jù) 
  8. ip.addr == 192.168.10.1 
  9.  
  10. // 只顯示指定端口的數(shù)據(jù) 
  11. tcp.port == 52360 || udp.port == 36025 

PS:從Wireshark官方使用文檔可以查看更多的過濾規(guī)則示例。

【本文是專欄機構(gòu)360技術(shù)的原創(chuàng)文章,微信公眾號“360技術(shù)( id: qihoo_tech)”】


文章題目:基于iOS的Wireshark抓包實踐
文章起源:http://www.dlmjj.cn/article/dhgippe.html