V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shiji
V2EX  ›  分享发现

由微信引发的,一次神奇的 Debug 历程, 已瞎

  •  
  •   shiji · 2016-10-25 15:53:32 +08:00 · 4108 次点击
    这是一个创建于 2956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问题是这样的,最近换了 Xperia XZ 双卡版 F8332 (只有 SIM2 使用流量,运营商:美国 T-Mobile ), 发现微信在使用移动网络的时候完全无法连接服务器。
    与此同时,我的 Chrome 浏览器, Gmail 什么的都能正常连接网络。

    打开并连上 Wifi ,微信就能正常使用。

    然后打开抓包工具,在有 wifi 的情况下,微信的心跳包(看起来像是)都能正常发送接收,大小是 1kb 多。

    切换成数据网络的时候,能看出微信在尝试和一堆服务器连接,包括 80 和 8080 端口,但是从抓包软件上的数据来看,显示 No Data ,感觉 tcp 握手都没成功.
    QQ 音乐在使用数据网的时候出于一种极其不稳定的状态,间歇可用。


    另外朋友圈却是正常的,就是微信消息不能发送也不能接受。

    最后我发现 SS 也不能正常工作(一般来说 SS 服务器有问题都会显示有发送数据,接收数据是 0 的情况,我这个发送数据也一直是 0 )。而且我服务器这边一直在监听,没发现 SS 发送过来的连接。

    继续调查,发现大部分 APP (试了美国银行, Cousera , Udemy )都是能正常联网的,除了微信, SS 有通信故障以外,手机还有个 he.net 的网络诊断 APP 部分发生故障。发生故障的部分是 Ping 和 TraceRoute.

    ping 网站,提示 unable to find 我输入的网站域名 on ipv4, 用 DNS 直接查询,却能准确查到 IPv4 的结果。
    traceroute 不管什么,全部是 50 组星号,只有 127.0.0.1 能正常显示出毫秒。 ping 127.0.0.1 完全丢包。

    ipip 显示我的 IP 是 172.58.225.**,直接搜 IP , Google 给出的是一个 IPv6 地址: 2607:fb90:54aa.........

    好了,问题就说到这里,后来我用本机 shell 找到了狗血的原因。我先不说,大家猜猜看。
    12 条回复    2016-10-26 17:27:02 +08:00
    shiji
        1
    shiji  
    OP
       2016-10-25 16:16:16 +08:00   ❤️ 1
    答案在这里:
    https://ooo.0o0.ooo/2016/10/25/580f13a13dd10.png

    NAT64 导致直接用 IPv4 通信的微信无法连接。 朋友圈的文章 mp.weixin.qq.com 是支持 ipv6 的。
    SS 填的是 v4 的地址,自然无法连接。
    手机 shell 下面 ip addr 是没有公网 ipv4 的,这也是我受启发的地方。
    ping traceroute 什么的也可以解释了。。

    怪我之前在 APN 设置里面随手启用了 v6 ,谁想到当初不经意的一个设置,给自己挖了个大坑。

    话说 NAT64 也是蛮少见的
    shiji
        2
    shiji  
    OP
       2016-10-25 16:19:47 +08:00
    再补充, NAT64 是因为我手贱, APN protocol 那里选择的是 IPv6 ,如果选择 IPv4/IPv6 的话,就是正常的每种 IP 各一个。
    Luzifer
        3
    Luzifer  
       2016-10-25 17:27:46 +08:00
    只能憋半个小时?
    yangxiongguo
        4
    yangxiongguo  
       2016-10-25 17:30:12 +08:00
    你猜我猜你猜不猜
    VYSE
        5
    VYSE  
       2016-10-25 18:00:01 +08:00 via Android
    还以为内置 8.8 的 dns 导致的
    kouryu
        6
    kouryu  
       2016-10-25 18:13:08 +08:00 via iPhone
    @Luzifer hahaha
    Halry
        7
    Halry  
       2016-10-25 18:43:28 +08:00
    ipv6 导致各种问题
    我都是把 ipv6 关掉的
    目前发现 ipv6 经常 ss 用不了
    21grams
        8
    21grams  
       2016-10-25 19:20:41 +08:00
    感觉楼主好像在嘚瑟什么,但我完全没看懂
    Quaintjade
        9
    Quaintjade  
       2016-10-25 19:29:07 +08:00 via Android
    看来我也要找找 windows 虚拟机 qq 掉线的问题了
    shiji
        10
    shiji  
    OP
       2016-10-25 21:52:26 +08:00   ❤️ 1
    @Luzifer
    @yangxiongguo 因为写完了觉得我有点贱,还是不要吊胃口的好,所以就很快补上了。


    @Halry 其实这是我遇到的第一个关于 IPv6 的问题,别的都是小问题,比如,我发现 Youtube 在 IPv6 的情况下速度远远不如 IPv4 , ping 的响应时间也比 v4 慢很多。


    @21grams 从语气上看出来的么?我这本来是想过来问大家的,结果写到一半自己找到原因了,而且是个比较无语的原因,所以后半段是呲着牙写完的。
    inmyfree
        11
    inmyfree  
       2016-10-26 09:01:30 +08:00
    @Luzifer 哈哈,我就看楼主能憋多久
    anyforever
        12
    anyforever  
       2016-10-26 17:27:02 +08:00
    @Luzifer 哈哈。肾不好。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1437 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:51 · PVG 07:51 · LAX 15:51 · JFK 18:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.