ragnaroks
V2EX  ›  问与答

(windows 上)为何 ping 不通以 ipv6 格式表示的 ipv4

  •  
  •   ragnaroks · Mar 31, 2021 · 1357 views
    This topic created in 1959 days ago, the information mentioned may be changed or developed.

    比如

    ping [::DF05:0505]
    

    ping 可以正确识别出这是一个 ipv4 地址,但是并没有发出有效的 ICMP 包

    linux 上则直接响应路由不可达

    8 replies    2021-03-31 18:12:19 +08:00
    superrichman
        1
    superrichman  
       Mar 31, 2021 via iPhone
    ping -6 ipv6
    lcdtyph
        2
    lcdtyph  
       Mar 31, 2021 via iPhone   ❤️ 3
    这个格式不对吧应该是
    ::ffff:1.2.3.4
    AoEiuV020
        3
    AoEiuV020  
       Mar 31, 2021
    没用过这种写法,特地试了下,linux 也不支持,
    有没有中括号都不行,
    koast
        4
    koast  
       Mar 31, 2021 via Android
    我试了一下去掉中括号的,是可以的...
    koast
        5
    koast  
       Mar 31, 2021 via Android   ❤️ 2
    但是要写成::ffff:df05:0505 才行
    ragnaroks
        6
    ragnaroks  
    OP
       Mar 31, 2021
    @superrichman 和这个没关系

    @lcdtyph ipv6 表示 ipv4 有多种写法,同时你的这种写法本质上也是要转换为主题中的写法

    @koast 问题出在没有在前面加 "::FFFF:" ,我刚才也在 StackOverflow 搜到正确写法和原因了
    ragnaroks
        7
    ragnaroks  
    OP
       Mar 31, 2021
    @AoEiuV020 用这种方式表达 ipv4 的原因是在数据库只用一个字段存储 ip,/^[A-F0-9\:]{3,39}$/
    superrichman
        8
    superrichman  
       Mar 31, 2021 via iPhone
    @lcdtyph 真神奇
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3071 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 00:23 · PVG 08:23 · LAX 17:23 · JFK 20:23
    ♥ Do have faith in what you're doing.