安装证书

浏览器输入 `mitm.it`

下载证书有时候打不开,可能是起的服务卡死了,回车下命令行,再再网页刷新下载证书就可以了。

mitmweb

Chrome浏览器代理设置

打开的话,记得保存点一下

使用python来操作抓到的包

此功能才是mitmproxy真正强大的地方,查看文章使用mitmproxy + python 做拦截代理后半部分。

mitmweb -s addons.py

官方示例

修改request的请求host

添加请求header

添加响应header

修改返回body为json格式

from mitmproxy import ctx
from mitmproxy import http
import json
class Counter:
    def __init__(self):
        self.num = 0

    def request(self, flow: http.HTTPFlow):
        ctx.log.info("orgin url is: %s" % flow.request.url)
        body = {"a": "b"}
        if flow.request.pretty_url == "https://api.merckuwifi.net/v3/homes":
            flow.response = http.HTTPResponse.make(
                200,  # (optional) status code
                json.dumps(body),  # 这里需要转化为str后才能发送
                {"Content-Type": "application/json"}  # (optional) headers
         )

addons = [Counter()]

startwith

if flow.request.pretty_url.startswith("https://noc.merckuwifi.net/api/statistics/routers/trend"):
        ......

正则匹配url

问题

抓不到包

有时候使用mitmweb(默认的8080端口)直接运行就抓不到包,修改一个端口后就能抓到包mitmweb -p 8088很奇怪。

参考资料

  1. App爬虫神器mitmproxy和mitmdump的使用
  2. 安装
  3. 官方文档
  4. 官方示例
  5. 这里有一点写界面的
  6. 使用mitmproxy + python 做拦截代理

好用的mitmproxy代理抓包的更多相关文章

  1. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题

    iPhone系统更新到iOS 10.3以后,设置fiddler代理抓包,会出现无法抓取https请求,app请求失败的问题 这是因为在iOS 10.3之前,当你将安装fiddler的自定义证书后,iO ...

  2. 安全测试6_Web安全工具第二节(代理抓包分析工具)

    上节课讲了浏览器及扩展,这节课继续来学习下抓包分析. 首先看下下图,了解下代理工具的原理:代理就相当于收费站一样,任何要通过的车辆必须经过它. 浏览器的代理我们可以通过设置进行手动设置代理,或者通过P ...

  3. Android 开发之避免被第三方使用代理抓包

    现象:charles抓不到包,但wireshark,HttpAnalyzor可以抓到包. 关键代码: URL url = new URL(urlStr); urlConnection = (HttpU ...

  4. 部分APP无法代理抓包的原因及解决方法

    引言 HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成了不可见,整个人都好像被蒙住了眼睛. ...

  5. Droid4x设置代理抓包

    Droid4x也是基于virtualbox+x86架构的   代理设置 设置->WIFI->鼠标按住WiredSSID选项不放->修改网络->显示高级选项->代理-> ...

  6. ios透明代理抓包

    之前接到一些ios测试的时候,一些应用往往由于这样那样的原因(比如自实现的发包函数)导致直接使用本地ios系统的代理很难将数据代理到主机的burp或findler中,本文提供了一种解决该问题的途径 原 ...

  7. mitmproxy 数据抓包

    1.安装环境: 基于python windows操作系统需要安装Microsoft Visual C++ V14.0以上 linux操作系统则直接基于python安装即可 2.安装mitmproxy ...

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

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

  9. 安全测试 - 抓包工具BurpSuite

    Brup SuiteBurpSuite是用于攻击web应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP消息,持久 ...

随机推荐

  1. 自定义上下文菜单,contextmenu事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 3 report formats of SFDC

    Choose one of the following report formats using the Format menu of the report builder. Tabular form ...

  3. 在Fedora中安装OpenCV-Python | 二

    目标 在本教程中 我们将学习在你的Fedora系统中设置OpenCV-Python.针对Fedora 18(64位)和Fedora 19(32位)进行以下步骤. 介绍 可以通过两种方式在Fedora中 ...

  4. windows找不到文件gpedit.msc处理方法

    新建一个txt,输入 @echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-Gr ...

  5. Input标签中属性的注意点

    readonly 只读字段,即用户不可更改,但可以通过tab切换到该字段,还可以选中复制该字段 step 输入合法的数字间隔,当step属性的值为负数或0时默认为1,可以配合max,min属性来创建合 ...

  6. Premultiplied Alpha

    Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alpha.游戏开发中会更加关注这个格式,省一些运行时计算. Premultipl ...

  7. ArrayList中的Iterator详解

    每个实现Iterable接口的类必须提供一个iterator方法,返回一个Iterator对象,ArrayList也不例外 public Iterator<E> iterator() { ...

  8. 20175314 《Java程序设计》第十周学习总结

    20175314 <Java程序设计>第十周学习总结 教材学习内容总结 进程与线程:一个进程的进行期间可以产生多个线程. Java内置对多线程的支持,计算机只能执行线程中的一个,Java虚 ...

  9. 论redis的内存占用

    目前大部分成程序员都将一些数据放入到了缓存(redis)中,但是你是否对这个redis内存占用了解呢?下面我们就来说一下redis的内存最优使用: 1.我们首先来介绍一下我们在存入大量数据到redis ...

  10. 关于竞赛大佬常用的 static const auto _ = []() 用法解析

    前言 在刷Leetcode的时候发现很多运算速度极快的代码都有这一段,所以研究一下. static const auto _ = []() { ios::sync_with_stdio(false); ...