V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yamada
V2EX  ›  问与答

利用 ipv6 来爬网站

  •  
  •   yamada · 2016-05-24 18:54:50 +08:00 · 1463 次点击
    这是一个创建于 3139 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现有的网站对 ipv4 有一定的访问限制,所以打算用 ipv6 来爬但因为本机没有 ipv6 于是用了 he 的 ipv6 隧道 现在本机有 ipv4 、 6 ,网站是 ipv4 ,怎么仅使用 ipv6 去访问?我 ping 网站得到 ipv4 再转成 v6 用 http://[xxxx::xxxx]来访问访问不了,直接访问域名又会用 ipv4 去访问,还有 he 给分配了这么多 ipv6 地址怎么简单的切换?

    5 条回复    2016-05-26 20:21:36 +08:00
    LGA1150
        1
    LGA1150  
       2016-05-24 19:10:03 +08:00 via Android
    “我 ping 网站得到 ipv4 再转成 v6 ”
    用 NAT64 ?这样你只是相当于用了 NAT64 IPv4 地址池的代理
    yamada
        2
    yamada  
    OP
       2016-05-24 19:36:41 +08:00 via Android
    @LGA1150 没有,只是把 v4 放 v6 后 32 字节 ,看来这种做法是错误的,也就是说还是要依靠 nat64 这种中间服务器来转发?之前用 sixxs.org 能访问 v4 的网站,网站得到的 ip 也是 he 的 v6 ,但是这样太慢了
    yexm0
        3
    yexm0  
       2016-05-24 19:39:44 +08:00 via Android
    6to4 隧道的优先级很低的,把它的优先级提高试试?或者直接 hosts 走起。
    LGA1150
        4
    LGA1150  
       2016-05-24 19:50:59 +08:00
    @yamada 方便提供一下域名吗?如果网站使用了 CDN ,而 CDN 又提供 IPv6 服务的话,还是有希望的
    sec
        5
    sec  
       2016-05-26 20:21:36 +08:00
    IPv6 只是能够表示 IPv4 而已,表示出来的地址还是走 IPv4 ,比如 123.123.123.123 用 IPv6 表示就是::ffff:123.123.123.123 ,你把这个丢给能识别 IPv6 地址的程序,它走的还是 IPv4 通道

    要实现像你说的直接通过[xxxx::yyyy]访问纯 IPv4 的网站,需要一台同时拥有 IPv4 和 IPv6 接入的设备,用这台设备的 IPv4 端口与目标网站通讯,再转换成属于这台设备的 IPv6 地址与你通讯,至于一台设备拥有这么多地址如何管理对应关系那又是另一回事了,而这样的设备就是#1 提及到的 NAT64 设备。

    文中描述的自己仅有一个 IPv4 地址,网站也只有 IPv4 地址时,使用很多个属于自己的 IPv6 地址企图绕过对单 IP 访问频率的限制是不可能的。但是如果网站提供了支持 IPv6 的 CDN ,让网站虽然只有 IPv4 地址但可以通过纯 IPv6 访问时(比如 cloudflare ),你所拥有的那 /64 的 IPv6 就大有用处了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2744 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:48 · PVG 17:48 · LAX 01:48 · JFK 04:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.