第1则

---抓包工具mitmdump的使用---

一、什么是抓包?怎么抓包?

1、抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等

2、我们平常可以用一些抓包工具进行抓包操作。一般测试人员常用的抓包工具是:fiddler、charles、mitmproxy三种。鹏鹏在这里简略介绍下这三种抓包工具的优缺点。

(1)fiddler:免费,但是跨平台能力较差。在MAC上非常非常不好用。但是在windows上用起来感觉不错,重点是免费

(2)charles:跨平台不错,windows和mac上都能支持,遗憾的是这是一个收费软件。

(3)mitmproxy:跨平台能力不错、支持脚本扩展。是测试开发工程师常用的一款抓包工具,免费。只不过它是一个控制台的形式操作。

下面我们看看mitmproxy的介绍吧。

二、mitmprox介绍

1、Mitmproxy是一个免费的开源交互式的HTTP/HTTPS代理。

2、mitmproxy就是用于MITM的proxy,MITM即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次会看看请求或者响应结果信息,记录其截获的数据或篡改数据,引发服务端或客户端特定的行为。

3、不同于fiddler或wireshark等抓包工具,mitmproxy不仅可以截获请求帮助开发者查看,分析,更加可以通过自定义脚本进行二次开发(篡改信息重新发送)。

4、mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

下面我们来了解它们的用法

三、mitmdump的使用

这边主要用windows来做演示。

1、首先安装好Mimtproxy(具体安装方法请关注公众号回复“软件安装”获取)

2、打开cmd(命令提示符)界面。MAC的话是终端界面

3、输入ipconfig 查看IP地址。(mac是ifconfig)鹏鹏这边连的是WIFI网络所以是在无线局域网适配器这里取得IP地址,如果是网线连接的话取以太网的就可以了。地址取IPv4的地址哦。把IP地址记在小本本中一会要用。

4、在命令提示符中输入:mitmdump。回车开始抓包。默认端口是8080。

5、这里有几种mitmdump的几种用法

-q:屏蔽mitmdump默认的控制台日志,只显示自己脚本中的

-s:入口脚本文件

-p:更改端口为8889,默认为8080

修改脚本文件时,不用重启也会生效

6、打开mitmdump后就可以在手机或pc上做代理抓包啦!这边注意下安卓手机安卓版本6以上的抓不了HTTPS的包,所以需要抓安卓软件的话建议使用安卓模拟器。

7、打开安卓模拟器后(这里以雷神模拟器为例),打开模拟器---设置---长按WLAN---修改网络---高级选项---代理设置为手动---在代理服务器主机和端口输入电脑的IP地址和mitmdump设置的端口号---点击保存。

8、代理设置好后就可以开始抓包了么?不还差一步。我们需要打开浏览器在地址栏中输入mitm.it,选择安卓-下载证书。

证书下载好以后,点击下载好的证书进行安装

点击确认后,他会提示你设置密码,如果设置过的话不会弹窗。密码设置结束后会直接提示安装完成。

9、证书安装完成后就可以开始抓包了!下面是抓取结果。如果想直接输出入参和出参甚至是把抓取到的数据写入文件中,需要写一些简单的脚本进行输出。python脚本写法下期更新。关注公众号“跟着鹏鹏学测试”。学测试不迷路!

扫描二维码 | 关注我们

微信号 : GZPPXCS

mitmproxy的简单使用的更多相关文章

  1. 抓包工具Charles,anyproxy,mitmproxy等

    Charles:图形化界面,看着比较方便友好,也可以抓取https,不过电脑和手机都要下载证书,主要我的电脑上不能添加一添加就卡死 所以,抓取https的话,就用mitmproxy比较简单 1.安装C ...

  2. App爬虫神器mitmproxy和mitmdump的使用

    原文 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还有两个关联组件.一个是mitmdum ...

  3. Python接口自动化测试框架实战 从设计到开发

    第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. Android 抓包,监控流量工具之 mitmproxy

    转:http://greenrobot.me/devpost/how-to-debug-android-http-get-started/ mitmproxy实践教程之调试 Android 上 HTT ...

  6. Python爬虫入门教程 47-100 mitmproxy安装与安卓模拟器的配合使用-手机APP爬虫部分

    1. 准备下载软件 介绍一款爬虫辅助工具mitmproxy ,mitmproxy 就是用于MITM的proxy,MITM中间人攻击.说白了就是服务器和客户机中间通讯多增加了一层.跟Fiddler和Ch ...

  7. 手机app数据的爬取之mitmproxy安装教程

    mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler.Charles的功能,只不过它通过控制台的形式操作. 此外,mitmproxy还有两个关联组件,一个是mitmdump, ...

  8. 13.App爬取相关库的安装(Charles,Mitmproxy,Appium)

    由于App没有像浏览器一样直观的后台请求工具,主要用一些抓包技术抓取数据.(目前也在学习安装,参考书籍.) 首先呢,一些简单的接口通过Charles或mitmproxy分析,找出规律,直接用程序去抓取 ...

  9. 代理工具--mitmproxy

    #代理工具 mitmproxy 指令:mitmproxy -b ip -p port(代理ip设置为:ip,端口设置为:port) 拦截request: 输入字母“i”(代表Intercept fil ...

随机推荐

  1. Consul+upsync+Nginx实现动态负载均衡

    上一篇文章 <C# HttpClient 使用 Consul 发现服务> 解决了内部服务之间的调用问题, 对外提供网关服务还没有解决, 最后我选择了 nginx-upsync-module ...

  2. Redis学习笔记(2)

    一.配置文件(部分) 1. UNITS(单位) 数据单位 2. INCLUDES(包含) 可以包含其他配置文件,而redis.conf作为总的配置文件 3. NETWORK(网络配置) -网络端口的绑 ...

  3. [Python进阶]001.不定参数

    不定参数 介绍 元组参数 字典参数 混合 介绍 不定参数用 * 和 ** 定义 不定参数必须在其他所有参数之后 例子:os.path.join 方法就可以写入不定数量的参数 元组参数 定义:*args ...

  4. NIO 的非阻塞式网络通信

    1.阻塞与非阻塞   ①  传统的 IO 流都是阻塞式的.也就是说,当一个线程调用 read() 或 write()时, 该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务. 因 ...

  5. GDBT和XGBoost

    https://www.cnblogs.com/pinard/p/6140514.html https://www.cnblogs.com/liuwu265/p/4690486.html https: ...

  6. python常见面试题讲解(八)提取不重复的整数

    题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例1 ...

  7. break 与 continue 的作用 详解

    1.break 用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环. 使用说明: (1)只能在循环体内和switch语句体内使用br ...

  8. Attribute (XXX) is obsolete. Its use is discouraged in HTML5 documents.

    这种警告主要是因为这些属性在HTML5中过时了,并不影响代码运行,但是一些强迫症就会非常难受. 解决办法: 将程序的顶部的这句: !DOCTYPE 修改为: !DOCTYPE html PUBLIC ...

  9. (Java实现) 洛谷 P1319 压缩技术

    题目描述 设某汉字由N X N的0和1的点阵图案组成,如下图.我们依照以下规则生成压缩码.连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下.第一个数表示连续有几个0 ...

  10. Java实现蓝桥杯日志统计

    标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞" ...