传输层[TCP 层]拦截和 TLS 解密, 使用 mitmproxy 分析 iOS 和 Android 的 HTTP(S)协议

2020-11-25 10:11:41 +08:00
 thisismr2

[继上一个帖子: https://v2ex.com/t/726090 可以分析所有 TCP&UDP 协议]

这个只能分析 HTTP(S)协议, 也不用在众多协议中过滤了, 原理有异曲同工之处, 对只需要分析 HTTP(S)协议的同学可以关注下.

传输层拦截和设置系统代理的方式有什么区别

这里有位此 app 已购买者, 可以看这个帖子的 https://v2ex.com/t/727609 的 10 楼, 11 楼

另外 ios 使用了 Network Extension(会出现 vpen 标识)并不意味着就是 TCP 层拦截. Network Extension 有网络层 API, 传输层 API, 应用层 API 比如可以只用 Network Extension 设置系统代理. 这就算是[应用层], 本质同设置系统代理一样. 另外如果接管所有流量, 就需要用[网络层 API]处理 IP 包, 再加工成[传输层]的 TCP/UDP 包, 最后再给[应用层] 两种方式,工作量完全不在一别,抓包类 app,良心好的开发者会在介绍了里说明是工作在哪一层

视频

同样在我的 youtube 频道录了一个视频

https://www.youtube.com/watch?v=puES_ayJkEo

注意

可以加上--rawtcp 参数, 视频中没有加 $ mitmproxy -m socks5 --rawtcp

也有一个 mitmweb 命令, 会启动图形界面

下载地址

iOS(>=14) https://apps.apple.com/us/app/id1528537342

Android (>=8) https://play.google.com/store/apps/details?id=com.txthinking.mitmproxy

兑换码

兑换码发放: 每 10 楼, 按 1-10 的随机数抽一次奖, 比如 1-10 楼抽一次, 11-20 抽一次, 21-30 抽一次... 抽的结果会在帖子内截图. 用 google 随机数生成器抽. 被抽到的可以选择需要 iOS 或 Android 端其中的一个兑换码

google 随机数生成器长这个样子 https://i.imgur.com/WLrgWLr.png https://i.loli.net/2020/11/17/OwyukCsVGrUx8Jq.png

获得兑换码的 Google Play 同学, 烦请给个好评(不强制)

与人方便, 自己方便

mitmproxy 的根证书安装的时候是访问 http://mitm.it 这个链接, 而这个链接在他们国外服务器, 所以可能很慢很慢很慢很慢, 多刷下试试 网络是个复杂的东西, 所以针对我写的网络工具, 我都会录视频, 但使用者仍然可能忽略某个细节导致某个步骤遇到小问题, 这时候如果你是已购买者, 我很愿意在 slack 回答你的一些问题, 请不要一气之下就给个差评(你看 iOS 就有个 Leigingban 同学给差评了, 就一句话: 完全不能工作). 另外如果你对 HTTP, HTTPS, TCP, TLS, MITM, mitmproxy, ROOT CA 这些概念不太熟, 也建议三思后再决定下载与否

https://docs.google.com/forms/d/e/1FAIpQLSdzMwPtDue3QoezXSKfhW88BXp57wkbDXnLaqokJqLeSWP9vQ/viewform

为了群组的质量, 使用了 slack 和申请机制.

谢谢大家

5563 次点击
所在节点    分享创造
149 条回复
thisismr2
2020-11-27 10:28:04 +08:00
💛 111-120: #118 @54xavier 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS. 谢谢
zhangchioulin
2020-11-27 10:31:58 +08:00
@thisismr2 #115
太幸运了!我需要 iOS 美区的,谢谢啦。
邮箱:emhhbmdjaGlvdWxpbkBnbWFpbC5jb20=
54xavier
2020-11-27 10:57:40 +08:00
@thisismr2 感谢感谢
thisismr2
2020-11-27 11:04:15 +08:00
@viniedodo 已发
@54xavier 已发
liwenqiang1990
2020-11-27 12:00:04 +08:00
来试试
thisismr2
2020-11-27 12:10:08 +08:00
@mrchi 对. 我发现两种方式都可以达到目的

thisismr2
2020-11-27 12:12:53 +08:00
Dawnnnnnn
2020-11-27 14:35:07 +08:00
分母
houzhi
2020-11-27 16:02:21 +08:00
分子来了
mrchi
2020-11-27 17:47:27 +08:00
@thisismr2 没懂你意思。

如果你现在也认为 mitm.it 是本地返回的请求,那就 append 说明一下吧,不要误导到别人。
v2long
2020-11-27 17:59:43 +08:00
试试 看看能中不
o0OoO0o
2020-11-27 19:57:50 +08:00
@thisismr2 #115 哇,难得第一次抽中奖! anA5Zm9zend4QHJlbGF5LmZpcmVmb3guY29t
Android 的,多谢!
zhygkx
2020-11-27 20:10:07 +08:00
@thisismr2 #92 开心,emh5Z2t4QDE2My5jb20= Android,多谢
billzhuang
2020-11-27 23:21:31 +08:00
get a try, tks
cwyalpha
2020-11-28 08:10:40 +08:00
不错 试用了下,抓月圆之夜这个游戏,用 ios stream 是抓不到他上传和下载存档的包的,但是用这个可以。
但是像云闪付这种 ssl pin 的还是搞不定,回头得找个安卓的解决方案
cwyalpha
2020-11-28 08:12:28 +08:00
另外 windows 下用 mitmproxy ui 在 edit options 里选上 rawtcp,模式写 socks5 也可以用。否则 win 下没有 mitmproxy..
thisismr2
2020-11-28 09:42:25 +08:00
@mrchi 已 append
phpIsNumberOne
2020-11-28 09:48:39 +08:00
抓到的包也是被加密了的,有什么用???
thisismr2
2020-11-28 09:51:37 +08:00
@phpIsNumberOne Man-in-the-middle attack
thisismr2
2020-11-28 10:00:02 +08:00
@o0OoO0o 已发
@zhygkx 已发

💛 121-130: #128 @Dawnnnnnn 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS. 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728980

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX