今晚发现微信打视频电话流量居然会自己走内网。

2021-12-20 21:59:32 +08:00
 hyifan

网络环境是这样的,两个不同的城市,在路由器上用 openvpn 把两边网络连通了,两边的内网分别是 192.178.10.x 和 192.178.11.x ,今晚用微信给连在另一端网络上的手机打视频,发现流量居然是通过 openvpn 直接内网过去的。

11215 次点击
所在节点    宽带症候群
42 条回复
feather12315
2021-12-20 22:01:11 +08:00
微信会用 UPnP 开端口,估计就是这个吧
Ayahuasec
2021-12-20 22:06:05 +08:00
QQ 传文件也是,我用 tinc 组的内网,用的还是交换机模式。感觉策略应该是先获取一遍所有网卡的地址,然后测试一下双方有没有哪个内网地址能互相之间直接连通的,如果没有的话再走官方的服务器中转。
jjxtrotter
2021-12-20 22:06:52 +08:00
iOS 端如果我在隐私设置里把本地网络那个关掉应该就不行了
hyifan
2021-12-20 22:07:52 +08:00
@feather12315
不对吧。upnp 是把应用的端口暴露在公网上让对端可以连接到吧,我抓包看了是直接走 VPN 隧道过去了。
hyifan
2021-12-20 22:10:24 +08:00
@jjxtrotter 我看了我现在就是关掉的。
hyifan
2021-12-20 22:12:15 +08:00
@Ayahuasec 估计是,比较好奇为什么微信会知道其实是在一个内网下。
MaiKuraki
2021-12-20 22:13:05 +08:00
这没法监控啊
leido
2021-12-20 22:20:51 +08:00
@MaiKuraki 你算哪根葱?
Ayahuasec
2021-12-20 22:21:42 +08:00
@hyifan 其实如果有这样的内网优先的需求,实现起来还是比较容易的。如果我来写的话,我就双方建立正式传输应用数据的通路之前先把获取到的各个网卡 IP 传给对方,然后各开一个端口,尝试连接端方的内网地址下的对方端口,如果能建立连接的话就互相传一下账号或者 UUID 做验证,验证通过了就说明内网是连通的,那就互相通过内网传输数据就可以了。
腾讯应该很容易就能实现这样的功能,而且产品做了这么多年了,应该会比上面说的流程更周全一点。
GuuJiang
2021-12-20 22:27:12 +08:00
这不是视频通话类应用的标准流程嘛?能够 p2p 的情况下优先采用 p2p 以提供更高的质量,关键词搜索 TURN 、STUN 、ICE 等就都明白了
miyunda
2021-12-20 22:47:06 +08:00
明天我和我儿子面对面开 zoom 会试试
miyunda
2021-12-20 22:48:16 +08:00
上面开玩笑的,忘加删除线了,不要回复我
v2tudnew
2021-12-20 23:13:57 +08:00
估计是广播后发现了同样 IP 段下的微信。
philippiela
2021-12-20 23:36:26 +08:00
不经过 tencent 的服务器?不可能吧
jousca
2021-12-21 00:14:09 +08:00
@philippiela 点对点直接传输是腾讯一直以来的技术。QQ 最早就是点对点 UDP 发消息,所以才有“显 IP”的修改版出现,后来才升级为支持 TCP ,通过服务器中转。 视频也是。最早 QQ 视频如果双方内网且不能 UPNP 的话,都无法连接成功。必须开 QQ 会员才支持从腾讯服务器中转这种高级功能。

如果当年马化腾不这么干,服务器撑不住,也没有钱去撑。
honjow
2021-12-21 00:24:22 +08:00
qq 在同一内网的话传文件就直接走内网了
crab
2021-12-21 00:32:33 +08:00
直接 p2p 了吧
zagfai
2021-12-21 01:37:27 +08:00
降低一大笔成本
wuvvu
2021-12-21 01:55:27 +08:00
说个题外话 192.178 网段不是私网段(
xiadong1994
2021-12-21 03:21:20 +08:00
@wuvvu #19 lol 你不说我都没注意,查了一下,192.178.0.0/15 这个网段都是 Google 的 IP 。

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

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

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

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

© 2021 V2EX