一、抓包方式
1、基于vpn协议做中间人攻击抓包
这类工具诸如 charles、fiddler ,实现的是中间人代理,它不需要客户端/服务器一方私钥,而是将客户端私钥改为fiddler自己的,这样每次通信都使用自己的私钥加密,服务器就可以通过公钥解密了,而且只能抓http/https包。。。。
2、基于网卡tcp抓包
要知道fiddler抓包是基于应用层协议抓包!所以数据更接近真实得到的。而wireshark基于网络层抓包。所以抓到的都是一些基于网卡发来的tcp/ip协议的包:
列表首先能看到的就是双方的ip,也就是tcp/ip包。然后就是应用层协议,有http/ack/tls等等。如果协议是公开的,就可以直接显示数据的。https协议由于不知道客户端/服务器私钥,所以无法解密!
今天主要来学习wireshark抓包。
二、WireShark上手
1、安装
Wireshark在第一个界面就把当前系统所包含的网卡列出来了,直接点击任何一项就可以开始监听通过该网卡的所有网络流量。
当我们把iPhone通过usb连接macbook时,Wireshark并不能直接监听通过iPhone的网络流量,需要通过一个系统程序在我们的Mac系统上,建立一个映射到iPhone的虚拟网卡,在terminal中输入如下命令即可:
这个rvi0 就是需要监听的端口,之后Wireshark能立即识别新增加的rvi0网卡,双击rvi0这一项,Wireshare即进入如下界面开始监听iPhone设备上的所有流量。
此时,启动iPhone上的任意App,只要有网络流量产生,对应的网络包都会在Wireshark上述的列表中展示出来。
Wireshark的流量监控界面主要分为四块,由上至下第一部分(标号为1)是工具栏,通过工具栏我们可以控制监控的行为,比如开始抓包,停止抓包,重新开始抓包,以及在包之间跳转等等。工具栏的底部有个输入框,可以让我们手动输入包的过滤条件,这部分对于熟练使用Wireshark抓包非常重要,后面会详细的讲解。
第二部分(标号为2)是历史流量包列表展示界面,这里展示的是从抓包开始,所有通过我们iPhone设备的流量。列表界面不同的包有不同的颜色,Wireshark通过颜色来区分包的类型,对于特定场景快速识别目标流量非常有用,后面也会专门讲解。
第三部分(标号为3)是单个包的详细信息展示面板,我们在第二部分选中的网络包在这一部分会将其结构以可阅读的文本形式展示出来,要正确阅读这一部分的信息需要对tcp/ip协议有一定的掌握。
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
第四部分(标号为4)是单个包的二进制流信息展示面板,这一部分展示的信息是包的原始数据,也是一个网络包所包含内容的真实展现,我们在第三部分多选中的协议头,都会在这一部分以同步高亮的形式标记出来。这一部分的展示是为了让我们对包的真实内容做直观的判断,能具体到单个byte。
2、添加过滤规则
参考:
Tcpdump 抓包教程 用 WireShark 抓取 4G下的数据包
Wireshark抓包iOS入门教程
Https详解+wireshark抓包演示
Wireshark抓包分析——TCP/IP协议
wireshark抓包新手使用教程
使用wireshark分析https
手机移动端配置fiddler,wireshark解密HTTPS 流量
Https、SSL/TLS相关知识及wireShark抓包分析
【技术流】Wireshark对HTTPS数据的解密