刚换了个路由器,但是ipv4和ipv6如何换成ipv4都无interest访问,哪位大神能帮忙看一下。。。

iOS应用支持IPV6,就那点事儿 - 简书
iOS应用支持IPV6,就那点事儿
果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。
为了更好的交流,特建了一个IPV6交流群(群号:),希望能否相互交流沟通问题:
IPV6支持交流群.png
团队博客公众号-欢迎扫扫码交流.jpg
一、IPV6-Only支持是啥?
首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后,设备被分配的地址会变成IPV6的地址,而这些网络就是所谓的IPV6-Only网络,并且仍然可以通过此网络去获取IPV4地址提供的内容。客户端向服务器端请求域名解析,首先通过DNS64 Server查询IPv6的地址,如果查询不到,再向DNS Server查询IPv4地址,通过DNS64 Server合成一个IPV6的地址,最终将一个IPV6的地址返回给客户端。如图所示:
NAT64-DNS64-ResolutionOfIPv4_2x.png
在Mac OS 10.11+的双网卡的Mac机器(以太网口+无线网卡),我们可以通过模拟构建这么一个local IPv6 DNS64/NAT64 的网络环境去测试应用是否支持IPV6-Only网络,大概原理如下:
local_ipv6_dns64_nat64_network_2x.png
参考资料:
二、Apple如何审核支持IPV6-Only?
首先第一点:这里说的支持IPV6-Only网络,其实就是说让应用在 IPv6 DNS64/NAT64 网络环境下仍然能够正常运行。但是考虑到我们目前的实际网络环境仍然是IPV4网络,所以应用需要能够同时保证IPV4和IPV6环境下的可用性。从这点来说,苹果不会去扫描IPV4的专有API来拒绝审核通过,因为IPV4的API和IPV6的API调用都会同时存在于代码中(不过为了减小审核被拒风险,建议将IPV4专有API通过IPV6的兼容API来替换)。
其次第二点:Apple官方声明iOS9开始向IPV6支持过渡,在iOS9.2+支持通过getaddrInfo方法将IPV4地址合成IPV6地址(The ability to synthesize IPv6 addresses was added to getaddrinfo in iOS 9.2 and OS X 10.11.2)。其提供的Reachability库在iOS8系统下,当从IPV4切换到IPV6网络,或者从IPV6网络切换到IPV4,是无法监控到网络状态的变化。也有一些开发者针对这些Bug询问Apple的审核部门,给予的答复是只需要在苹果最新的系统上保证IPV6的兼容性即可。
最后第三点:只要应用的主流程支持IPV6,通过苹果审核即可。对于不支持IPV6的模块,考虑到我们现实IPV6网络的部署还需要一段时间,短时间内不会影响我们用户的使用。但随着4G网络IPV6的部署,这部分模块还是需要逐渐安排人力进行支持。
追加第四点:如果应用一直直接使用IPV4地址通过NSURLConenction或者NSURLSession进行网络请求(一般需要服务器允许,且客户端需要在header中伪装host);经测试,IPV6网络环境下,直接使用IPV4地址在iOS9及以上的系统仍然能够正常访问;在iOS8.4及以下不能正常访问;这一点苹果的解释和建议是这样的:
Note: In iOS 9 and OS X 10.11 and later, NSURLSession and CFNetwork automatically synthesize IPv6 addresses from IPv4 literals locally on devices operating on DNS64/NAT64 networks. However, you should still work to rid your code of IP address literals.
三、应用如何支持IPV6-Only?
对于如何支持IPV6-Only,官方给出了如下几点标准:(这里就不对其进行解释了,大家看上面的参考链接即可)
1. Use High-Level Networking F
2. Don’t Use IP Address L
3. Check Source Code for IPv6 DNS64/NAT64 I
4. Use System APIs to Synthesize IPv6 A
3.1 NSURLConnection是否支持IPV6?
官方的这句话让我们疑惑顿生:
*** using high-level networking APIs such as NSURLSession and the CFNetwork frameworks and you connect by name, you should not need to change anything for your app to work with IPv6 addresses***
只说了NSURLSession和CFNetwork的API不需要改变,但是并没有提及到NSURLConnection。 从上文的参考资料中,我们看到NSURLSession、NSURLConnection同属于Cocoa的url loading system,可以猜测出NSURLConnection在ios9上是支持IPV6的。
应用里面的API网络请求,大家一般都会选择AFNetworking进行请求发送,由于历史原因,应用的代码基本上都深度引用了AFHTTPRequestOperation类,所以目前API网络请求均需要通过NSURLConnection发送出去,所以必须确认NSURLConnection是否支持IPV6. 经过测试,NSURLConnection在最新的iOS9系统上是支持IPV6的。
3.2 Cocoa的URL Loading System从iOS哪个版本开始支持IPV6?
目前我们的应用最低版本还需要支持iOS7,虽然苹果只要求最新版本支持IPV6-Only,但是出于对用户负责的态度,我们仍然需要搞清楚在低版本上URL Loading System的API是否支持IPV6.
(to fix me, make some experiments)待续~~~
3.3 Reachability是否需要修改支持IPV6?
我们可以查到应用中大量使用了Reachability进行网络状态判断,但是在里面却使用了IPV4的专用API。
在Pods:Reachability中
Files:Reachability.m
struct sockaddr_in
Files:Reachability.h , Reachability.m
那Reachability应该如何支持IPV6呢?
(1)目前Github的开源库Reachability的最新版本是3.2,苹果也出了一个Support IPV6 的Reachability的官方样例,我们比较了一下源码,跟Github上的Reachability没有什么差异。
(2)我们通常都是通过一个0.0.0.0 (ZeroAddress)去开启网络状态监控,经过我们测试,在iOS9以上的系统上IPV4和IPV6网络环境均能够正常使用;但是在iOS8上IPV4和IPV6相互切换的时候无法监控到网络状态的变化,可能是因为苹果在iOS8上还并没有对IPV6进行相关支持相关。(但是这仍然满足苹果要求在最新系统版本上支持IPV6的网络)。
(3)当大家都在要求Reachability添加对于IPV6的支持,其实苹果在iOS9以上对Zero Address进行了特别处理,是这样的:
reachabilityForInternetConnection: This monitors the address 0.0.0.0,
which reachability treats as a special token that causes it to actually
monitor the general routing status of the device, both IPv4 and IPv6.
+ (instancetype)reachabilityForInternetConnection {
struct sockaddr_in zeroA
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
return [self reachabilityWithAddress: (const struct sockaddr *) &zeroAddress];
综上所述,Reachability不需要做任何修改,在iOS9上就可以支持IPV6和IPV4,但是在iOS9以下会存在bug,但是苹果审核并不关心。
四、底层的socket API如何同时支持IPV4和IPV6?
由于在应用中使用了网络诊断的组件,大量使用了底层的 socket API,所以对于IPV6支持,这块是个重头戏。如果你的应用中使用了长连接,其必然会使用底层socket API,这一块也是需要支持IPV6的。 对于Socket如何同时支持IPV4和IPV6,可以参考谷歌的开源库.
下面我针对我们的开源 , 说一下是如何同时支持IPV4和IPV6的。
开源地址:
这个网络诊断组件的主要功能如下:
本地网络环境的监测(本机IP+本地网关+本地DNS+域名解析);
通过TCP Connect监测到域名的连通性;
通过Ping 监测到目标主机的连通耗时;
通过traceRoute监测设备到目标主机中间每一个路由器节点的ICMP耗时;
4.1 IP地址从二进制到符号的转化
之前我们都是通过inet_ntoa()进行二进制到符号,这个API只能转化IPV4地址。而inet_ntop()能够兼容转化IPV4和IPV6地址。 写了一个公用的in6_addr的转化方法如下:
//for IPV6
+(NSString *)formatIPV6Address:(struct in6_addr)ipv6Addr{
NSString *address =
char dstStr[INET6_ADDRSTRLEN];
char srcStr[INET6_ADDRSTRLEN];
memcpy(srcStr, &ipv6Addr, sizeof(struct in6_addr));
if(inet_ntop(AF_INET6, srcStr, dstStr, INET6_ADDRSTRLEN) != NULL){
address = [NSString stringWithUTF8String:dstStr];
//for IPV4
+(NSString *)formatIPV4Address:(struct in_addr)ipv4Addr{
NSString *address =
char dstStr[INET_ADDRSTRLEN];
char srcStr[INET_ADDRSTRLEN];
memcpy(srcStr, &ipv4Addr, sizeof(struct in_addr));
if(inet_ntop(AF_INET, srcStr, dstStr, INET_ADDRSTRLEN) != NULL){
address = [NSString stringWithUTF8String:dstStr];
4.2 本机IP获取支持IPV6
相当于我们在终端中输入ifconfig命令获取字符串,然后对ifconfig结果字符串进行解析,获取其中en0(Wifi)、pdp_ip0(移动网络)的ip地址。
(1)在模拟器和真机上都会出现以FE80开头的IPV6单播地址影响我们判断,所以在这里进行特殊的处理(当第一次遇到不是单播地址的IP地址即为本机IP地址)。
(2)在IPV6环境下,真机测试的时候,第一个出现的是一个IPV4地址,所以在IPV4条件下第一次遇到单播地址不退出。
+ (NSString *)deviceIPAdress
while (temp_addr != NULL) {
NSLog(@"ifa_name===%@",[NSString stringWithUTF8String:temp_addr-&ifa_name]);
// Check if interface is en0 which is the wifi connection on the iPhone
if ([[NSString stringWithUTF8String:temp_addr-&ifa_name] isEqualToString:@"en0"] || [[NSString stringWithUTF8String:temp_addr-&ifa_name] isEqualToString:@"pdp_ip0"])
//如果是IPV4地址,直接转化
if (temp_addr-&ifa_addr-&sa_family == AF_INET){
// Get NSString from C String
address = [self formatIPV4Address:((struct sockaddr_in *)temp_addr-&ifa_addr)-&sin_addr];
//如果是IPV6地址
else if (temp_addr-&ifa_addr-&sa_family == AF_INET6){
address = [self formatIPV6Address:((struct sockaddr_in6 *)temp_addr-&ifa_addr)-&sin6_addr];
if (address && ![address isEqualToString:@""] && ![address.uppercaseString hasPrefix:@"FE80"])
temp_addr = temp_addr-&ifa_
4.3 设备网关地址获取获取支持IPV6
其实是在IPV4获取网关地址的源码的基础上进行了修改,初开把AF_INET-&AF_INET6, sockaddr -& sockaddr_in6之外,还需要注意如下修改,就是拷贝的地址字节数。去掉了ROUNDUP的处理。 (解析出来的地址老是少了4个字节,结果是偏移量搞错了,纠结了半天),具体参考源码库。
/* net.route.0.inet.flags.gateway */
int mib[] = {CTL_NET, PF_ROUTE, 0, AF_INET6, NET_RT_FLAGS, RTF_GATEWAY};
if (sysctl(mib, sizeof(mib) / sizeof(int), buf, &l, 0, 0) & 0) {
address = @"192.168.0.1";
//for IPV4
for (i = 0; i & RTAX_MAX; i++) {
if (rt-&rtm_addrs & (1 && i)) {
sa_tab[i] =
sa = (struct sockaddr *)((char *)sa + ROUNDUP(sa-&sa_len));
sa_tab[i] = NULL;
//for IPV6
for (i = 0; i & RTAX_MAX; i++) {
if (rt-&rtm_addrs & (1 && i)) {
sa_tab[i] =
sa = (struct sockaddr_in6 *)((char *)sa + sa-&sin6_len);
sa_tab[i] = NULL;
4.4 设备DNS地址获取支持IPV6
IPV4时只需要通过res_ninit进行初始化就可以获取,但是在IPV6环境下需要通过res_getservers()接口才能获取。
+(NSArray *)outPutDNSServers{
res_state res = malloc(sizeof(struct __res_state));
int result = res_ninit(res);
NSMutableArray *servers = [[NSMutableArray alloc] init];
if (result == 0) {
union res_9_sockaddr_union *addr_union = malloc(res-&nscount * sizeof(union res_9_sockaddr_union));
res_getservers(res, addr_union, res-&nscount);
for (int i = 0; i & res-& i++) {
if (addr_union[i].sin.sin_family == AF_INET) {
char ip[INET_ADDRSTRLEN];
inet_ntop(AF_INET, &(addr_union[i].sin.sin_addr), ip, INET_ADDRSTRLEN);
NSString *dnsIP = [NSString stringWithUTF8String:ip];
[servers addObject:dnsIP];
NSLog(@"IPv4 DNS IP: %@", dnsIP);
} else if (addr_union[i].sin6.sin6_family == AF_INET6) {
char ip[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &(addr_union[i].sin6.sin6_addr), ip, INET6_ADDRSTRLEN);
NSString *dnsIP = [NSString stringWithUTF8String:ip];
[servers addObject:dnsIP];
NSLog(@"IPv6 DNS IP: %@", dnsIP);
NSLog(@"Undefined family.");
res_nclose(res);
free(res);
return [NSArray arrayWithArray:servers];
4.4 域名DNS地址获取支持IPV6
在IPV4网络下我们通过gethostname获取,而在IPV6环境下,通过新的gethostbyname2函数获取。
phot = gethostbyname(hostN);
phot = gethostbyname2(hostN, AF_INET6);
4.5 ping方案支持IPV6
Apple的官方提供了最新的支持IPV6的ping方案,参考地址如下:
只是需要注意的是:
(1)返回的packet去掉了IPHeader部分,IPV6的header部分也不返回TTL(Time to Live)字段;
(2)IPV6的ICMP报文不进行checkSum的处理;
4.6 traceRoute方案支持IPV6
其实是通过创建socket套接字模拟ICMP报文的发送,以计算耗时;
两个关键的地方需要注意:
(1)IPV6中去掉IP_TTL字段,改用跳数IPV6_UNICAST_HOPS来表示;
(2)sendto方法可以兼容支持IPV4和IPV6,但是需要最后一个参数,制定目标IP地址的大小;因为前一个参数只是指明了IP地址的开始地址。千万不要用统一的sizeof(struct sockaddr), 因为sockaddr_in 和 sockaddr都是16个字节,两者可以通用,但是sockaddr_in6的数据结构是28个字节,如果不显式指定,sendto方法就会一直返回-1,erroNo报22 Invalid argument的错误。
关键代码如下:(完整代码参考开源组件)
//构造通用的IP地址结构stuck sockaddr
NSString *ipAddr0 = [serverDNSs objectAtIndex:0];
//设置server主机的套接口地址
NSData *addrData =
BOOL isIPV6 = NO;
if ([ipAddr0 rangeOfString:@":"].location == NSNotFound) {
isIPV6 = NO;
struct sockaddr_in nativeAddr4;
memset(&nativeAddr4, 0, sizeof(nativeAddr4));
nativeAddr4.sin_len = sizeof(nativeAddr4);
nativeAddr4.sin_family = AF_INET;
nativeAddr4.sin_port = htons(udpPort);
inet_pton(AF_INET, ipAddr0.UTF8String, &nativeAddr4.sin_addr.s_addr);
addrData = [NSData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];
isIPV6 = YES;
struct sockaddr_in6 nativeAddr6;
memset(&nativeAddr6, 0, sizeof(nativeAddr6));
nativeAddr6.sin6_len = sizeof(nativeAddr6);
nativeAddr6.sin6_family = AF_INET6;
nativeAddr6.sin6_port = htons(udpPort);
inet_pton(AF_INET6, ipAddr0.UTF8String, &nativeAddr6.sin6_addr);
addrData = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];
struct sockaddr *
destination = (struct sockaddr *)[addrData bytes];
//创建socket
if ((recv_sock = socket(destination-&sa_family, SOCK_DGRAM, isIPV6?IPPROTO_ICMPV6:IPPROTO_ICMP)) & 0)
if ((send_sock = socket(destination-&sa_family, SOCK_DGRAM, 0)) & 0)
//设置sender 套接字的ttl
if ((isIPV6?
setsockopt(send_sock,IPPROTO_IPV6, IPV6_UNICAST_HOPS, &ttl, sizeof(ttl)):
setsockopt(send_sock, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl))) & 0)
//发送成功返回值等于发送消息的长度
ssize_t sentLen = sendto(send_sock, cmsg, sizeof(cmsg), 0,
(struct sockaddr *)destination,
isIPV6?sizeof(struct sockaddr_in6):sizeof(struct sockaddr_in));
最近团队缺人,插播一条小招聘广告,有换工作的同行请把简历砸给我!
简历发送邮箱:
【网易-社招-北京】iOS高级开发工程师职位
工作地点:北京
工作职责:
1.负责研发网易电商移动端iOS应用
2.负责性能调优等重点难点技术攻坚;
3.及时跟踪了解移动领域新技术,进行技术方案更新;
任职资格:
1.全国重点高校本科及以上学历,1年以上的iOS开发经验
2.数据结构、算法等基础知识扎实,有良好的架构设计能力;
3.具备良好的分析解决问题能力,有技术难题攻关经验,善于主动推进项目进展并达成项目目标;
4.熟练掌握Objective-C/Swift语言,熟练掌握iOS开发技术,包括但不限于Foundation、UIKit、内存管理、多线程、Runtime、网络编程等,熟练使用Xcode及相关调试工具;
5.有较强责任感和严谨工作作风,有良好的团队合作和协调能力;
6.热爱移动互联网,对新事物敏感,喜欢探索,有较强的创新意识。
岗位福利:14薪+季度奖+年终奖+年度旅游等
简历发送邮箱:
2014年加入网易乐得,主要负责移动基础组件研发、新技术的调研和探索工作,专注于移动端底层的技术攻关。
推荐 最近很多人都在关注支持 IPv6 的事情吧?我们公司也是。也有不少同行使用了我们的 YTKNetwork 网络库,问我们什么时候迁移到 AFNetworking 3.0。正在这个时候,我发现了本文。 在本文中,作者经过测试发现,NSURLConnection 是支持 ...
原文连接 为了加深印象与理解,自己copy了一份,顺便按照自己的理解稍作修改。参考资料 自从5月初Apple明文规定所有开发者在6月1号以后提交的新版本都需要支持IPv6-Only的网络。公司的App在5月30号提交审核,悲催的被拒了,原因是个别第三方库没有支持IPv6。 ...
研究IPv6 socket编程原因: Supporting IPv6 in iOS 9 WWDC2015苹果宣布在ios9支持纯IPv6的网络服务,并且要求2016年提交到app store的应用必须兼容纯IPv6的网络,要求适配的系统版本是ios9以上(包括ios9)。 ...
参考: https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPrepari...
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)即,将HTML内的节点定义成基本统一的对象数据可以供程序语言(如javaScript)控制 JavaScript 能够改变页面中的所有 HTML ...
我拥有一个秘密森林, 树木茂盛,阳光穿过,光阴斑驳, 兔子,松鼠,各种各样的小动物 在森林里自由跳跃, 它们手牵着手, 围成圈,唱歌跳舞,快快乐乐。 我与它们一起欢唱,一起跳舞,一起快乐 一切如此和谐。 我珍藏着一条天上的大河 无数星星铺满了深邃的河面, 颗颗闪耀,粒粒璀璨...
2015年的最后一天,我突然发现自己是个矫情到无可救药的少女。
在之前的19年里,我一直因为长着一张甜美可人娃娃脸却活成了一个大大咧咧不拘小节从不无病呻吟的女汉子而沾沾自喜。从未买过一块小镜子,唯一拥有过的一个还是我已忘记店铺名的好心的淘宝卖家送的;睡觉从不需要抱娃...
我发现一个现象,就是如果我们哪位咨询老师做项目从头到尾都很兴奋,那他这个项目就一定做得特别棒。也就是说,兴奋度和业绩、兴奋度和成就感是紧密相关的。兴奋代表什么?代表生命力的释放,代表生命力的绽放。--管理的觉醒 感想: 满怀热情全身心投入的去做一件事跟敷衍的事不关己高高挂起...
孤独的人也许不寂寞,寂寞的人也许不孤独。孤独者可能享受孤独 ,寂寞者却恐惧寂寞。 孤独的人也许可以成就思想,而寂寞的人可能会制造故事。生命本孤独,只要自己心里有爱。 刘震云曾经在《一句顶一万句》中说:“一个人的孤独不是孤独,一个人找另一个人,一句话找另一句话,才是真正的孤独...IPV4与IPV6的对比及发展现状_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
IPV4与IPV6的对比及发展现状
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩2页未读,
定制HR最喜欢的简历
你可能喜欢哪位大神能让ipv6访问ipv4让他不走流量..【pt吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:73,711贴子:
哪位大神能让ipv6访问ipv4让他不走流量..
学校限制v4流量但是不限制v6的 很烦
6快拨,不过V4速度不快,对于V6用户不多的站也无力。14.9/月
找支持ipv6的ss代理
基本上马上6就行,然后安全点把ipv4勾掉。。。但现在马上6速度不太给力
教育网不就够用了嘛
马上6,六快,Goa+ipv6翻墙,用过的三种方法,都是免费。
贴吧热议榜
使用签名档&&
保存至快速回贴Win8系统,以太网连接正常,可是ipv4和ipv6没有访问权限_百度知道
Win8系统,以太网连接正常,可是ipv4和ipv6没有访问权限
我有更好的答案
是夜神之剑割裂了长空,预示着,只有把过去彻底地遗忘,才能使灵魂重生。流星--昨天的完结,未来的起始点。流星划落天际,
重启宽带路由器
试过了,没用
宽带拨号了么?
不拨号肯定没有访问权限,用的路由器?
是路由器,昨天下午以后跳电跳了好多次以后开机就这样了
路由器拨号不成功,进路由器看下网络状态
我是个小白不懂这是什么意思
你的路由器拨号失败,看看路由器是不是正常。重启路由器试了么?
电源拔过很多次了,路由器在我看来挺正常的
看不清楚字母,你路由器后边有个ip地址应该是192.168.这个,打开浏览器输入这个地址回车。背面应该也有密码,输入。看网络状态
没有网络,无法显示页面
你知道你的宽带账号密码么?
把wan口上的网线直接接到电脑上,然后点击宽带链接
桌面没有宽带连接,网络和共享里面也没有,我应该去哪找
这俩宽带链接都可以,输入账号密码试试
这个点不了,连接按钮是灰色不能点
你创建一个宽带吧,w8的我没建过,你从浏览器
建立拨号链接
看不清楚啊,你看下你的电脑网卡灯亮不
看不清楚图片啊,你码字我看下
网络连接错误:711
估计我自己是弄不好了,找人修是去电信公司吗
你是点了链接后出现的报错对吧?手机码字太慢了,你百度下错误711看看上边的解决办法
方法都翻遍了,全没用,而且也看不懂,还是找人弄比较简单
太晚了,睡觉。你手机刚才连上路由器能上网的话就是电脑的问题,如果手机也不能就是路由器或网络的问题,不用再修电脑
知道了,谢谢
解决了记得采纳
为您推荐:
其他类似问题
访问权限的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。百度知道 - 信息提示
知道宝贝找不到问题了&_&!!
该问题可能已经失效。
秒以后自动返回}

我要回帖

更多关于 ipv4换算ipv6工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信