Wireshark、Fiddler、Charles抓包工具详细使用指南

抓包工具

1.1 常用抓包工具

常用的抓包工具有:Wireshark、Fiddler、Charles。此外,Sniffmaster作为一款全平台抓包工具,支持HTTPS、TCP和UDP协议,可在iOS/Android/Mac/Windows设备上实现无需代理、越狱或root的抓包操作。

Wireshark、Fiddler、Charles的优缺点:

①Wireshark是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议。虽然Wireshark功能强大,但是却并不能解决所有的抓包问题,其原因在于:Wireshark工作在网络层;如果计算机配置了IPSec传输层加密,则在网络层的流量都已经被加密,什么也看不到。当今大量网络接口使用HTTPS加密,Wireshark不能抓取到HTTPS流量的明文内容。

②Fiddler和Charles工作在应用层上,作为其他程序的HTTP代理服务器。它可以直接抓取并分析HTTP流量,也可以作为"中间人"抓取并分析HTTPS流量。

1.2 参考资料

https://www.cnblogs.com/kristin/p/8445141.html

https://blog.csdn.net/sb___itfk/article/details/45250771

2.1 wireshark使用

2.1.1 抓取数据包

  1. 选择抓包网口,选择抓包网口有两种方式

l 第一种,启动wireshark后,直接双击以太网,就会开始抓包。

l 第二种,启动wireshark后,点击捕获--->>选项。在弹出框中选择网卡以及配置过滤条件。

  1. 停止抓包,点击停止后,可以将捕获的数据包保存。

2.1.2 常用过滤、分析

捕获的数据包比较多,可以通过一些语法进行筛选。

  1. 根据ip地址进行筛选,语法如下ip.addr==192.168.0.121。
  1. 根据http.request过滤所有http请求
  1. 根据关键字查询

2.1.3 查看捕获的数据

2.2 Fiddler使用

2.2.1 抓取数据包

2.2.2 搜索会话

按住ctrl+F,输入关键字,点击find session,进行搜索

2.2.3 查看会话

选择一个会话,根据结果的请求/响应的不同数据类型,显示会话。

2.2.4 设置代理

  1. Tools-> Fiddler Options

选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

记住这个端口号是:8888,通过ipconfig查看本机的ip,如本机ip为192.168.2.11

  1. 在手机上进行代理设置
  1. 下载Fiddler的安全证书

使用android手机的浏览器打开:http://192.168.2.11:8888, 点"FiddlerRoot certificate",然后安装证书。

安装完成后,就可以在fiddler上看到手机的HTTP请求

2.2.5 抓取HTTPS数据包

l Fiddler抓取HTTPS数据包过程原理:

l fiddler接到客户端的https请求,fiddler将请求转发给服务器

l 服务器生成公钥证书,返回给fiddler;fiddler拦截下真的公钥证书,并生成伪造的公钥证书给客户端;

l 客户端使用伪造的公钥证书加密共享密钥发送给fiddler,fiddler使用伪造的私钥解密获取共享密钥

l fiddler将解密后的共享密钥,使用真正的公钥加密发送给服务器端,服务器使用共享密钥与fiddler通信

l fiddler使用共享密钥与客户端通信

  1. 设置抓取HTTPS,PC机安装根证书:

Tools->options->HTTPS->capture https connects->decrypt https traffic->ignore server certificate errors(unsafe)->actions->trust root certificate->确定->OK

  1. 安装根证书后,可以点击Actions->open windows certificate manager查看安装到系统的根证书

对于需要无需代理的HTTPS抓包,Sniffmaster提供了暴力抓包模式,直接解密HTTPS流量,支持指定APP过滤和双向验证爆破。

相关推荐
喵喵虫1 小时前
uniapp修改封装组件失败 styleIsolation
uni-app
Doro再努力1 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
Daniel李华1 小时前
echarts使用案例
android·javascript·echarts
黑客老李2 小时前
web渗透实战 | js.map文件泄露导致的通杀漏洞
安全·web安全·小程序·黑客入门·渗透测试实战
做人不要太理性2 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
我命由我123453 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
朗迹 - 张伟3 小时前
Tauri2 导出 Android 详细教程
android
lpruoyu4 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
独自破碎E5 小时前
【BISHI15】小红的夹吃棋
android·java·开发语言
李堇8 小时前
android滚动列表VerticalRollingTextView
android·java