成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于iOS的Wireshark抓包實踐

開發 開發工具 前端
在應用開發過程中,通過抓包調試服務端接口的場景時常出現。接上次我們分享的Charles抓包,今天,讓我們再以iOS為例,聊一聊Wireshark抓包。

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

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

一、啟動Wireshark

Wireshark是免費軟件,可以從官網直接下載安裝。

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

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

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

二、創建虛擬網卡

這里的虛擬網卡就是上述的待捕捉的接口。創建虛擬網卡的過程如下:

第1步:獲取iPhone的UDID

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

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

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

第2步:為iPhone創建虛擬網卡

(1)查看已有的接口

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

(2)創建虛擬網卡

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

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

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

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

在末尾多出的 rvi0 就是為iPhone創建出來的虛擬網卡。使用 rvi0 就可以抓包了。

三、啟動虛擬網卡

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

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

若此時出現如下彈窗,則說明無權限訪問該接口。

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

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

四、TCP/UDP抓包

1. 抓包界面

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

(1)工具欄

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

(2)數據包列表欄

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

(3)數據包詳情欄

在數據包列表欄中點擊某條數據,可在此區域內查看詳情。

(4)數據包流信息欄

此區域展示包的原始數據,在數據包詳情欄中顯示的內容在此區域都能對應到byte級別的數據。

2. 過濾器

由于Wireshark捕捉經過網卡的所有數據,在稍復雜的網路環境中,數據包的數量會瞬間增加,達到難以閱讀和難以查找目標數據包的狀態。此時,使用Wireshark捕獲過濾器和顯示過濾器會很有幫助。

(1)捕獲過濾器

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

在藍色框內的過濾器輸入框中,可以輸入一些規則,來指明Wireshark只捕捉符合該規則的數據***濾規則示例如下:

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

(2)顯示過濾器

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

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

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

【本文是51CTO專欄機構360技術的原創文章,微信公眾號“360技術( id: qihoo_tech)”】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2019-03-25 22:20:39

iOSCharles抓包

2022-04-13 11:46:17

抓包wireshark丟包

2021-03-08 07:24:06

抓包網絡請求

2023-11-01 08:04:08

WiresharkTCP協議

2014-09-02 14:18:27

NodeJsLivePool

2010-09-29 13:44:19

DHCP工程抓包

2025-07-03 07:59:22

tcpdump網絡抓包網絡

2023-11-01 10:36:19

2020-10-13 16:02:03

HTTPS淺析與抓包分

2021-07-12 06:23:38

抓包gRpcRPC 框架

2019-05-13 14:17:06

抓包Web安全漏洞

2022-08-08 07:05:36

KubeSphere分級管理

2015-07-17 10:25:43

kubernetesDocker集群系統

2023-07-07 09:04:21

JSON信息微信

2022-06-01 09:18:37

抖音ReDex算法優化

2021-07-15 09:57:39

Wireshark數據包長度

2017-08-22 11:30:15

LinuxWireshark過濾數據包

2010-06-24 13:18:38

ICMP協議

2019-09-27 09:35:12

2021-02-21 16:21:19

JavaScript閉包前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线日韩欧美 | av一二三区 | 精品久久中文字幕 | 免费看片国产 | 伊人精品在线视频 | 国产成人精品一区二 | 91国内产香蕉 | 四色成人av永久网址 | 涩涩99| 国产国产精品久久久久 | 日韩av一二三区 | 一区二区av | 中文字幕在线第一页 | 亚洲国产一区二区三区在线观看 | a级大毛片| 一级无毛片 | 国产日韩91 | 亚洲色图第一页 | 欧美在线精品一区 | 精品亚洲一区二区三区 | 中文字幕亚洲视频 | 黄色在线免费观看 | 天天操天天干天天曰 | 99精品网 | 天天视频一区二区三区 | 黄色一级毛片免费看 | 久久久美女 | 日本在线观看视频 | 中文字幕欧美日韩 | 第一区在线观看免费国语入口 | 欧美中文字幕一区二区三区亚洲 | 三a毛片| 日日天天 | 国产在线一区二区 | 欧美理论 | 精品视频在线观看 | 午夜欧美日韩 | 久久国产精品视频 | 丝袜美腿一区二区三区 | 亚洲成人一区二区在线 | 国产日韩一区二区三区 |