01概述
无论是开发还是测试,在工作中经常会遇到需要抓包的时候 。本篇文章主要介绍如何在各个平台下,高效的抓包 。
目前的抓包软件总体可以分为两类:
- 一种是设置代理抓取http包,比如Charles、mitmproxy这些软件 。
- 另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpdump 。
02Wireshark
wireshark想必大多数程序员都不会陌生 。wireshark在各个平台都可以安装使用,它可以抓取经过指定网卡的所有协议 。wireshark虽然很强大,但是对初学者其实不是很友好 。这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措 。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰 。
【好用的抓包工具 免费的抓包工具】具体的过滤语法可以按下’?‘键后,再按下方向键右’—>’或者l键 。
②请求拦截按下i键后,可以对指定的请求进行拦截 。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改 。
红色字体表示该请求被拦截,之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求 。
③ 查看/编辑请求把指示光标移动到某个请求上,按回车可以查看请求的内容 。或者鼠标直接点击请求也可以 。
之后通过左右方向键可以查看request、response、detail等信息 。
如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容:
之后就会进入vim编辑界面编辑相应的内容了(保存后会生效) 。
④ 重发请求mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑) 。
按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求
replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令 。命令的编写可以参考官网文档,这里不做介绍 。
⑤ 插件开发我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了 。
借用官网的插件demo:
这个方法对每一个请求进行处理,然后打印序号 。通过mitmproxy -s test.py来让插件生效 。通过插件可以绑定各种连接事件 。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍 。
⑥ 保存抓到的请求数据通过w快捷键我们可以把这次抓到的请求包保存到文件上 。
通过mitmproxy -r file可以读取以前抓取的请求信息进行分析 。
优点:
推荐阅读
- 购销库存管理软件哪个好用 好用的库存管理系统操作方法
- 免费思维导图软件推荐 好用的免费的思维导图软件
- 流程图软件有哪些 好用的流程图制作软件
- 汽车服务加盟哪家好 汽车美容店十大加盟品牌
- pdf免费阅读器哪个好用 支持重排的pdf阅读器
- windows域管理的好处 windows命令大全
- 手游版帝国时代哪个版本最好玩 分享经典电脑单机游戏
- 哪个电脑管家软件好用 最干净的电脑管理软件
- ececl表格常用的公式 新手入门excel表格制作
- 修复u盘的方法 修复u盘的cmd命令