[继上一个帖子: 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 和申请机制.
谢谢大家
重要!!!
关于[如何信任根证书], 因为包含设备信息故视频里隐藏了几帧图像, 无论是iOS还是Android信任根证书都需要: 好几步好几步好几步, 点好几个地方点好几个地方点好几个地方. 繁琐的步骤不是我所能左右的 而且http://mitm.it这个是mitmproxy的根证书服务器, 这不是我所能左右的, 访问慢多刷几次多刷几次.
视频只是一个简单的操作流程, 流程的每一步都可能有很多知识, 每一步操作有问题都会导致不顺畅, 建议对正文提到的任何概念不太了解的话, 还是建议大家花点时间搜索下补充下相关知识
iOS 仍然是不支持中国大陆区AppStore, 苹果不让, 我发现大概我的软件 https://github.com/txthinking 但凡用到那个技术都不允许中国大陆区上架, 这也不是我所能左右的
1
cwyalpha 2020-11-25 10:18:41 +08:00 via iPhone
谢谢楼主,另外想问问有没有什么能解决 ssl pin 的方案
|
2
cwyalpha 2020-11-25 10:29:50 +08:00 via iPhone
另外问一下,这个和 ios 的 stream 有什么区别?不考虑 ssl pin 的话,会存在 stream 抓不到,这个能抓到的情况吗
|
4
thisismr2 OP @cwyalpha #2
我不了解 stream, 如果它是工作在应用层的话. 那么的确会有抓不到的情况. 而这里是工作在传输层(TCP 层), 所以自然都能抓到, 然后就是如果是 HTTPS, 会尝试 TLS 解密 (对于 TLS 的相关原理我就不打字了, 太多内容, 感兴趣的话大家可以搜下) |
5
thisismr2 OP @cwyalpha 我简单写个数据包流向
[物理层] -> [网络层(就是 IPv4 或 IPv6 包)] -> [传输层(就是 TCP/UDP 包)] -> [应用层(HTTP 协议等)] 目前大部分抓包软件都工作在[应用层](上图中的最后一个环节), 比如通过让你手动设置系统代理 或 通过 iOS 的 NetworkExtension 和 Android 的 Builder 自动设置系统代理, 两种设置系统代理本质一样. 系统代理是一个尊重但不强制的东西. 所以自然就很多应用不尊重那么就抓不到了 而这个 app 是工作在[网络层](上图中的第二个环节), 什么意思呢, 即会接管所有的 IP 包(0.0.0.0/0), 然后加工成 TCP/UDP 包到传输层, 然后再将 TCP 包加工后给 mitmproxy, 同时将 UDP 包丢弃(因为 mitmproxy 不能分析 UDP) |
6
MrWhite 2020-11-25 11:05:24 +08:00
上次没中,这次中个奖看看?
|
7
crab 2020-11-25 11:09:20 +08:00
iOS 上用 stream app 可以正常抓包。现在不知道什么原因用 Wireshark Helper 弄出来的代理直接导致 iOS 网络连不上了。
|
9
crab 2020-11-25 11:18:50 +08:00
@thisismr2 没同时用。设置按你视频操作操作,iOS 上 vpn 图标也有,虽然 Wireshark 那边可以看到有 iOS 数据进来,但 iOS 上的网络请求没办法得到响应。
|
11
thisismr2 OP 还有“但 iOS 上的网络请求没办法得到响应“ 可以展开, 比如访问 https://www.baidu.com 提示页面会出现错误, 错误描述是:xxx
|
12
gogo88 2020-11-25 11:28:11 +08:00 via iPhone
可以弃用其它抓包 App 了,厉害👍
|
13
qq2511296 2020-11-25 11:28:32 +08:00
试试 看看能中不
|
14
ben0629 2020-11-25 11:31:58 +08:00
上次没中,这次再来试试
|
15
NFC 2020-11-25 11:37:17 +08:00 via iPhone
感觉你这个更强大啊。
|
16
adminii 2020-11-25 11:44:25 +08:00 via iPhone
难道是抓包工具?拉低中奖率
|
17
VHacker1989 2020-11-25 11:52:29 +08:00
拿开源的项目来卖钱真的好吗
|
18
VHacker1989 2020-11-25 11:53:39 +08:00
稍微有点动手能力,整合一下开源工具都不会用这玩意
|
19
xiaocsl 2020-11-25 11:58:58 +08:00
抽一个...
|
21
thisismr2 OP @VHacker1989 您这逻辑.
|
22
xionger 2020-11-25 12:28:53 +08:00 1
@thisismr2 支持楼主 不用搭理那脑回路的人 看他加入时间 V2EX 第 511086 号会员 加入于 2020-10-04 10:28:07 +08:00
楼主为开源做的贡献还少吗 再说楼主算是写了个 app 解决了一个痛点 又没卖别人的代码 你行你也弄个试试啊 同时求楼主支持 iOS13 好多同事不想升级 iOS14 啊 |
23
thisismr2 OP ❤️ 1-10 楼 中奖者: #8 @MrWhite 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS
|
24
thisismr2 OP ❤️ 11-20 楼 中奖者: #14 @ben0629 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS
|
25
superrichman 2020-11-25 12:35:32 +08:00 via iPhone
分母
|
26
thisismr2 OP @xionger 我的升了 iOS14, 下一版会支持 iOS13, 还需要一些工作, 回头买个二手的 iOS13 手机测试下,
|
28
cwyalpha 2020-11-25 13:00:07 +08:00 via iPhone
继续分母
|
29
Codelike 2020-11-25 13:06:56 +08:00
有意思 分母+1
|
30
crab 2020-11-25 13:08:43 +08:00
@thisismr2 证书安装信任的了,dns.google 也支持。 不能访问页面提示的是 无法访问此网站,响应时间过长。
|
31
thisismr2 OP @crab 我建了个临时 http server, 你试试能按视频操作后能访问这个吗 http://18.141.203.15
|
32
SingeeKing 2020-11-25 13:16:55 +08:00
回复总是要回复的,万一中讲了呢
|
35
liguoqinjim 2020-11-25 13:21:54 +08:00
抓包需要! 当个分母
|
36
cwyalpha 2020-11-25 13:28:16 +08:00 via iPhone
分母+1
|
37
thisismr2 OP @crab 如果 IP 可以访问到. 说明 DNS 问题. 而目前 iOS 的 DNS 是使用的[域名 TLS: dns.google, IP: 8.8.8.8, 端口: TCP853],
在你电脑命令行里用 dnslookup 确认你电脑网络访问这个 google 的 tls 的 dns 没有问题的话(千万确认)那么: 既然是 TLS, 所以会走 TLS 解密, 所以会需要用到根证书信任, 推测原因是: 你安装信任根证书那一步有问题. 建议检查: [设置->General->Profiles] 和 [设置] ->General->About->Certificate Trust Settings] 这两个地方. |
38
3dxfv 2020-11-25 13:34:05 +08:00 via Android
试一下哈
|
39
crab 2020-11-25 13:37:29 +08:00 2
@thisismr2 不好意思啊。[设置] ->General->About->Certificate Trust Settings] 这个地方没信任上。
|
41
Suclogger 2020-11-25 13:39:28 +08:00
分母+1
|
43
googlehub 2020-11-25 13:41:36 +08:00
分母+1
|
44
troyl 2020-11-25 13:41:39 +08:00 via iPhone
平时工作都是用 Charles 抓包,看到这个有点想试试了。
|
45
honk 2020-11-25 13:42:26 +08:00
牛逼!想試試
|
46
liusir 2020-11-25 14:09:40 +08:00
上次没中,再试试
|
47
blakejia 2020-11-25 14:10:28 +08:00
分母一下
|
48
thisismr2 OP @MrWhite TODO
@ben0629 已发 💛 21-30 楼 中 #28 @cwyalpha 💛 31-40 楼 中 #32 @SingeeKing 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS |
50
SingeeKing 2020-11-25 14:39:31 +08:00
这辈子第一次从 v2 中奖……
感谢,iOS,邮箱:c2luZ2Vla2luZ0BnbWFpbC5jb20= |
51
thisismr2 OP @SingeeKing 已发
|
52
HFX3389 2020-11-25 14:54:01 +08:00
我咋印象中这个帖子发过一次....
|
53
xiaolang 2020-11-25 15:00:34 +08:00
分母+1
|
54
longyujin9 2020-11-25 15:01:00 +08:00
分母+1
|
55
thisismr2 OP 💛 41-50 楼 #41 @Suclogger 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS. 谢谢
|
56
ik 2020-11-25 15:11:38 +08:00 via iPhone
这帖再抽一次
|
57
Cawrr 2020-11-25 15:12:30 +08:00
分母+1
|
58
pirates 2020-11-25 15:32:51 +08:00
来试试
|
59
yushiro 2020-11-25 15:35:12 +08:00 via iPhone
咦,lz 又来了啊,上次给人推荐过你的 app 。
|
61
byte10 2020-11-25 15:41:07 +08:00
@VHacker1989 哈哈,牛
|
62
Suclogger 2020-11-25 15:42:18 +08:00
@thisismr2 非常感谢,需要 iOS 版本,邮箱:echo Y2FpcnVucWlhbmdAZ21haWwuY29t | base64 --decode
|
63
rikka 2020-11-25 15:43:15 +08:00
分母+1
|
64
thisismr2 OP 💛 51-60 楼 #56 @ik 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS. 谢谢
|
66
MengiNo 2020-11-25 16:02:13 +08:00
分母+1
|
67
ik 2020-11-25 16:04:01 +08:00 via iPhone
@thisismr2 #64 dnZkd2FuZ0BpY2xvdWQuY29tCg== 终于中了,多谢老铁 iphone/ios
|
69
peacewalker 2020-11-25 16:27:41 +08:00
分母+1
|
70
sankemao 2020-11-25 16:43:46 +08:00
分母来了
|
71
q8515620 2020-11-25 16:49:24 +08:00 via Android
支持一下,万一中了呢?
|
72
thisismr2 OP 💛 61-70: #70 @sankemao 请在这里 base64 贴上你的邮箱, 并告知需要 Android 还是 iOS. 谢谢
|
73
sdandroid 2020-11-25 17:22:39 +08:00
分母+1
|
74
zhangchioulin 2020-11-25 17:52:58 +08:00
@cwyalpha #1 iOS Frida 配合脚本 Hook "libboringssl.dylib" 在回调的地方可以获得 keylog,然后 wireshark 可以看原文;解决的话 Hook "Security" 的 "SecTrustEvaluate" 能解决,再或者自己写一个 MitM
|
75
qinxi 2020-11-25 18:05:04 +08:00
stream 有..不过也不知道他工作在第几层.
来当个分子试试这个 |
76
xiaopenyou 2020-11-25 20:14:03 +08:00
分母,今天刚有个人跟我聊准备从 mitmweb 换到 mitmdump,没想到转身来 v 站就遇到这帖了
|
77
AmItheRobot 2020-11-25 20:14:43 +08:00
分母+1
|
78
axo 2020-11-25 20:15:02 +08:00
分母+1
|
79
lada05 2020-11-25 20:28:44 +08:00
试试运气
|
80
brotherlegend 2020-11-25 20:38:55 +08:00 via Android
来啦,我也参加一下。
|
81
o0OoO0o 2020-11-25 20:54:50 +08:00
感谢
|
82
Maskeney 2020-11-25 21:11:19 +08:00
试试
|
83
FaiChou 2020-11-25 21:18:05 +08:00
```swift
let sessionConfig = URLSessionConfiguration.default sessionConfig.connectionProxyDictionary = [AnyHashable : Any]() // 主要是这一行 let session = URLSession.init(configuration: sessionConfig, delegate: nil, delegateQueue: OperationQueue.current) // 网络请求 ``` 楼主提到的「一行代码」可以 bypass 系统代理, 是上面这几行吗? |
84
1314258 2020-11-25 21:33:41 +08:00 via iPhone
关键在于 vpn 。
|
86
enjolife 2020-11-25 22:18:39 +08:00
分母+1
|
87
MrMario 2020-11-25 22:24:01 +08:00 via iPhone
抽
|
88
mrchi 2020-11-25 22:48:00 +08:00
mitmproxy 的根证书安装的时候是访问 http://mitm.it 这个链接, 而这个链接在他们国外服务器, 所以可能很慢很慢很慢很慢, 多刷下试试
----- 这个不对吧,http://mitm.it 是 mitmproxy 代理直接拦截返回响应的 |
89
test008u7 2020-11-25 23:53:36 +08:00 via iPhone
分子
|
90
cwyalpha 2020-11-26 06:55:41 +08:00 via iPhone
@thisismr2 Y3d5YWxwaGFAZm94bWFpbC5jb20= ios 版 谢谢楼主
|
91
cat9life 2020-11-26 07:06:46 +08:00
双向绑定证书的能用吗 一直没有好的方案
|
92
zhygkx 2020-11-26 07:59:22 +08:00 via Android
看看运气
|
93
eluotao 2020-11-26 08:30:50 +08:00 via iPhone
用迅雷 sdk 如何抓到下载地址
|
94
dzdh 2020-11-26 08:59:32 +08:00
ssl pinning 是怎么搞的
|
95
dudukee 2020-11-26 09:12:57 +08:00
请问对于 android 不信任用户 CA 证书的情况,可以抓到吗?
|
96
dudukee 2020-11-26 09:16:45 +08:00
#95 仔细看了下介绍,需要 root 后安装到 system CA store 。
|
97
sangmong 2020-11-26 09:26:35 +08:00
分母
|
98
latteczy 2020-11-26 09:50:37 +08:00
分母一下
|
99
sapphires 2020-11-26 10:03:18 +08:00
分母+1
|
100
free9fw 2020-11-26 10:09:54 +08:00
+1
|