织梦CMS - 轻松建站从此开始!

欧博ABG-会员登录-网站

Mitmproxy代理配置及接口加解密详细教程

时间:2024-06-07 13:26来源: 作者:admin 点击: 25 次
mitmproxy 提供一个命令行界面(该命令不支持windows)。mitmdump 提供一个简单的终端输出。mitmweb 提供一个浏览器界面。

Mitmproxy代理配置及接口加解密详细教程

官方网站:Event Hooks & API (mitmproxy.org)

客户端下载

「方式一」

代码语言:javascript

复制

https://mitmproxy.org/downloads/

「方式二」

安装 mitmproxy

代码语言:javascript

复制

pip install mitmproxy

mitmproxy 提供了三个命令,欧博启动模式不同:

mitmproxy 提供一个命令行界面(该命令不支持windows)。mitmdump 提供一个简单的终端输出。mitmweb 提供一个浏览器界面。

代码语言:javascript

复制

mitmproxy -p 指定的端口号 mitmdump -p 指定的端口号 mitmweb -p 指定的端口号

常用参数

代码语言:javascript

复制

-h 帮助信息 -p 修改监听端口 -s 加载 python 脚本

安装证书

「注意:需要先开启代理连接后进行安装」

需要配置代理进行安装,或者直接进入安装mitmproxy目录拿证书进行安装。

在连接mitmproxy之后,手机或设备需要设置代理,输入 安装证书

代码语言:javascript

复制

mitmproxy代理ios设备启动服务

指定8899端口启动服务

代码语言:javascript

复制

mitmdump -p 8899

ios设备配置代理

确保你的计算机和 iOS 设备连接到同一个局域网。

1、获取计算机IP

代码语言:javascript

复制

ipconfig (Windows) ifconfig (Mac/Linux)

2、ios设备配置代理,在 iOS 设备上打开设置(Settings)应用程序。

3、点击 Wi-Fi,并找到你所连接的 Wi-Fi 网络。点击网络名称旁边的 "i" 图标以查看网络详细信息。

image-20230808104200801

image-20230808104232186

4、在网络详细信息页面中,欧博娱乐向下滚动并找到 "HTTP 代理"(HTTP Proxy)选项。选择 "手动"(Manual)。

5、在 "服务器"(Server)字段中输入 mitmproxy 运行计算机的 IP 地址,并在 "端口"(Port)字段中输入 mitmproxy 的监听端口,默认为 8080。

6、保存设置,并关闭设置应用程序。

7、浏览器输入进行证书的安装。

8、前往设置 证书的信任设置: 设置 -> 通用-> V**与设备管理 -> mitmproxy,点击进行安装

9、安装成功

10、信任证书,通用 -> 关于本机 -> 下拉到 证书信任设置 -> 找到mitmproxy点击开关信任。

现在,欧博allbet你的 iOS 设备将经过 mitmproxy,并且可以在 mitmproxy 上拦截和修改所有的网络请求和响应。你可以在 mitmproxy 的界面中查看和操作这些请求和响应。

安卓一般在安全-加密与凭据-用户,有时候还有去更多WLAN设置里面安装证书

报错

Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option.

使用如下命令即可,忽略就行。目前没啥影响。

代码语言:javascript

复制

mitmdump -p 8899 --set tls_version_client_min=SSL3

使用web抓取

代码语言:javascript

复制

mitmweb -p 8899

代码过滤处理

示列代码 mitmproxt_demo01.py

代码语言:javascript

复制

# -*- coding: utf-8 -*- ''' @Time : 2023/8/7 18:16 @Email : Lvan826199@163.com @公众号 : 梦无矶的测试开发之路 @File : mitmproxy示列.py ''' __author__ = "梦无矶小仔" import mitmproxy from mitmproxy import ctx,http class Counter: def __init__(self): pass # 所有发出的请求数据包都会被这个方法所处理 def request(self, flow: mitmproxy.http.HTTPFlow): # 获取请求对象 request = flow.request # 实例化输出类 info = ctx.log.info # 打印请求的url info(request.url) # 打印请求方法 info(request.method) # 打印host头 info(request.host) # 打印请求端口 info(str(request.port)) # 打印所有请求头部 info(str(request.headers)) # 打印cookie头 info(str(request.cookies)) print("请求的参数data----------------------") info(str(request.data)) print("请求的参数data----------------------") # 所有服务器响应的数据包都会被这个方法处理 def response(self, flow: mitmproxy.http.HTTPFlow): # 获取响应对象 response = flow.response # 实例化输出类 info = ctx.log.info # 打印响应码 info(str(response.status_code)) # 打印所有头部 info(str(response.headers)) # 打印cookie头部 info(str(response.cookies)) # 打印响应报文内容 info(str(response.text)) addons = [ Counter() ]

通过脚本启动

代码语言:javascript

复制

mitmweb -p 8899 -s .\mitmproxy_demo01.py

加解密

python 在 「Windows」下使用AES时要安装的是pycryptodome 模块

代码语言:javascript

复制

pip install pycryptodome

python 在 「Linux」下使用AES时要安装的是pycrypto模块

代码语言:javascript

复制

pip install pycrypto

字符替换

代码语言:javascript

复制

aaa = '151691566822749_NEW_RDA_LOADOKaRgN'

这会SOH对应的是ACCIC码1

代码语言:javascript

复制

# 所以可以这样进行替换 repl_aaa = aaa.replace(chr(1), " ")

字符串转二进制

代码语言:javascript

复制

string = "Hello World" binary = " ".join(format(ord(char), '08b') for char in string) print(binary)

运行这段代码,它将输出 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100,这就是 "Hello World" 的二进制表示。

在这个示例中,欧博百家乐format(ord(char), '08b') 将每个字符转换为 8 位的二进制字符串,然后使用 join() 函数以空格分隔每个字符的二进制表示,最终得到一个包含整个字符串二进制表示的字符串。

字符串转字节

在 Python 中,可以使用字符串的 encode() 方法将字符串转换为字节(bytes)类型的数据。你可以指定一个字符编码来确定字节表示中的字符编码方式。

下面是一个示例代码,演示如何将字符串转换为字节:

代码语言:javascript

复制

string = "Hello World" bytes_data = string.encode('utf-8') print(bytes_data)

运行这段代码,它将输出 b'Hello World',这就是字符串 "Hello World" 的字节表示。

在这个示例中,encode() 方法将字符串使用 UTF-8 编码方式转换为字节类型的数据。默认情况下,Python 使用 UTF-8 作为字符编码方式。你可以根据具体的需求选择其他字符编码方式,例如 "utf-16"、"latin-1" 等。

需要注意的是,字节类型的数据表示为以 b 开头的字符串,表示它是字节数据而不是普通的字符串。

实际演示

代码语言:javascript

复制

aaa = '151691566822749_NEW_RDA_LOADOKaRgNxBJEpvYo1FdZQu9d85ExmqB97SpGUPvMmSYZXIauvSu9IgrpJSK5PAs4DMMNONB2daybYwrdCjCWKUOPUb1KTPyiHYfo9EVg5jMXkDMT7xebOYk0x0loFWsSEKguYmVe5U2jAc5EDPn8nIBLTxGXSeL/S6ZbXJhEszrI1FJ/CYxjZfQKVQhMENxsN8O/yhK2AgXQe4CDQT3+sxlLCFw5XcG4IGoD8kyyHbpulwjOQW98orOf2DBZkHjxFqjFo6G/7SVZ3wr0ER05uAopJpc8XBJSTfhNAzKT2JwatMG7beFxUzrBeuNJp7MHKJUUYjfUNeqhGF1dKaya1HdOxfUoWuCMUV0XMroNItipbLj0ZX5ZfftN/eskoZjDvYDvU0Oyt6xC7RZVIOLbyOlmWQ8Pl7NHzqFeVUqViVyGIaA8HsivAw+lStBo+W6qDCbkgAAg6Z+8fsiSjgDSgpLJSwBqO75HzRUDRHhHc9/Wqqdeq2pE6PnlrJ6XWrXooBwg0bbecb50d88e230df396fb6a53532280;' binary = aaa.encode('utf-8') print(binary)

输出

代码语言:javascript

复制

b'1\x015\x011691566822749\x01_NEW_RDA_LOADOK\x01aRgNxBJEpvYo1FdZQu9d85ExmqB97SpGUPvMmSYZXIauvSu9IgrpJSK5PAs4DMMNONB2daybYwrdCjCWKUOPUb1KTPyiHYfo9EVg5jMXkDMT7xebOYk0x0loFWsSEKguYmVe5U2jAc5EDPn8nIBLTxGXSeL/S6ZbXJhEszrI1FJ/CYxjZfQKVQhMENxsN8O/yhK2AgXQe4CDQT3+sxlLCFw5XcG4IGoD8kyyHbpulwjOQW98orOf2DBZkHjxFqjFo6G/7SVZ3wr0ER05uAopJpc8XBJSTfhNAzKT2JwatMG7beFxUzrBeuNJp7MHKJUUYjfUNeqhGF1dKaya1HdOxfUoWuCMUV0XMroNItipbLj0ZX5ZfftN/eskoZjDvYDvU0Oyt6xC7RZVIOLbyOlmWQ8Pl7NHzqFeVUqViVyGIaA8HsivAw+lStBo+W6qDCbkgAAg6Z+8fsiSjgDSgpLJSwBqO75HzRUDRHhHc9/Wqqdeq2pE6PnlrJ6XWrXooBwg\x01\x010bbecb50d88e230df396fb6a53532280\x01;'

这里看起来没什么,但是实际的加解密都要通过这个手段去进行一系列的操作,可以说这一步是基操。

解密代码

涉及相关机密,无法展示,这一块接口方面如果是加密,会有对应的secret秘钥。

这一块如果你做接口了需要进行解密,你可以找对应的开发给你提供秘钥。

这个秘钥就像我们django的settings.py文件中的SECRET_KEY字段。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。

原始发表:2023-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

代理

教程

接口

配置

字符串

本文分享自 梦无矶的测试开发之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-10-30 13:10 最后登录:2024-10-30 13:10
栏目列表
推荐内容
  • 动静态IP代理服务商【在线免费试用】

    天启HTTP专注企业级优质高匿IP代理服务,提供https代理、Socks5代理、动静态代理、爬虫代理等国内外IP代理服务器,在线网页或软件app代理IP方便快...

  • 浩欧博:9月12日获融资买入65.77万元,占当日流入资金比例28.37%

    同花顺数据中心显示,浩欧博9月12日获融资买入65.77万元,占当日买入金额的28.37%,当前融资余额2237.97万元,占流通市值的1.51%,低于历史20...

  • CroxyProxy 免费网页代理

    CroxyProxy免费Web代理 Croxyproxy是一种安全的web代理服务,欧博允许您浏览具有更高隐私级别的各种网站。您可以使用安全连接访问Facebo...

  • 《民法典》第七章 代理

    第七章 代理第一节 一般规定第一百六十一条 民事主体可以通过代理人实施民事法律行为。依照法律规定、当事人约定或者民事法律行为的性质,应当由本人亲自实施的民事法律...

  • v2rayng 分应用代理完全指南

    本文详细介绍了如何使用v2rayng软件进行分应用代理的设置和使用方法,包括软件下载、配置教程、常见问题解答等内容,帮助读者更好地了解和使用v2rayng进行分...

  • 青龙面板教程(五):代理设置

    文章浏览阅读1.7w次,点赞8次,收藏39次。本文介绍了如何在青龙面板中为Python和JavaScript脚本设置代理,以解决公网服务器上IP限制的问题。对于...

  • operaaudio

    M99 plus Integrate Tube Amplifier The fifth anniversary model, with vol...

  • 《一梦江湖》官方网站-春季特典「江湖万象」正式开启!

    春季资料片「江湖万象」正式来袭!三大场景地图全面更新,探索就有机会获得绑元、挂件、耳饰外观等专属奖励!5月10日,万道皆侠,玩你想的任何玩法即可拿齐奖励!全新巫...

  • Win10怎么手动设置代理?Win10系统代理设置方法

    工作中经常会使用代理服务器,代理服务器有很多作用,可以改善网络速度,隐藏IP地址等等。由于win10系统界面不熟悉,很多用户不清楚win10怎么手动设置代理?这...

  • SSH协议中隧道与代理的用法详解

    SSH 协议是 Linux 系统中使用较为频繁的协议之一,欧博abg通常用于远程管理主机或服务器,默认使用 22 端口,可类比 Windows 系统中的 tel...