|
手艺频道
|
51CTO旗下网站
|
|
挪动端

基于iOS的Wireshark抓包理论

在运用开辟历程中,经由过程抓包调试服务端接口的场景经常泛起。接上次我们分享的Charles抓包,今天,让我们再以iOS为例,聊一聊Wireshark抓包。

作者:360手艺|2019-03-26 04:47

接上篇《》,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)”】

【编纂推荐】

www.98058js.com
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
  •     
分享:
人人皆在看
猜您喜好

360手艺

6038金沙爆分
金沙js111
本周排行
本月排行

视频课程

讲师:31589人进修过

讲师:42938人进修过

讲师:25875人进修过

vip91590.com