Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为DNS查找反向IPv6地址-C++;_C++_Dns_Lookup_Ipv6_Ipv4 - Fatal编程技术网

C++ 如何为DNS查找反向IPv6地址-C++;

C++ 如何为DNS查找反向IPv6地址-C++;,c++,dns,lookup,ipv6,ipv4,C++,Dns,Lookup,Ipv6,Ipv4,在我的项目中,我需要反转IPv6 IP地址,以便将来进行DNS查找 例如: 发件人: 2001:db8:85a3:0:0:8a2e:370:7334 致: 7334:370:8a2e:0:0:85a3:db8:2001 我怎么用C++做这个? 谢谢你的回答:) 附言: 对于IPv4,我正在使用此解决方案: int a,b,c,d; char ip2[32]; sscanf(pageAddress, "%d.%d.%d.%d", &a, &a

在我的项目中,我需要反转IPv6 IP地址,以便将来进行DNS查找

例如:

发件人: 2001:db8:85a3:0:0:8a2e:370:7334

致: 7334:370:8a2e:0:0:85a3:db8:2001

<>我怎么用C++做这个? 谢谢你的回答:)

附言: 对于IPv4,我正在使用此解决方案:

        int a,b,c,d;
        char ip2[32];
        sscanf(pageAddress, "%d.%d.%d.%d", &a, &b, &c, &d);
        sprintf(ip2, "%d.%d.%d.%d", d, c, b, a);
        std::cout << ip2 << "\n";
inta、b、c、d;
char-ip2[32];
sscanf(页面地址,“%d.%d.%d.%d”、&a、&b、&c、&d);
sprintf(ip2,“%d.%d.%d.%d”,d,c,b,a);

我知道这并不是你所需要的,但我只是想回答你的问题,而不是你所需要的

几个月前,我为ipv4和ipv6编写了一整套课程。相信我,您不想以字符串格式进行ipv6操作。您可以将ipv4置于ipv6中;所以这并不容易;特别是关于短格式之类的规则

我认为里面还有一些未使用的代码,但是你可以很容易地清理它

ipv4
类中也有
reversed
方法的ipv4版本。以及一些ipv4和ipv6验证和子网掩码验证

在这里:


我本想把代码放在这里,但它太长了。

反向DNS查找并不是这样做的。为将来的DNS查找反转IP地址不是标准做法。“反向DNS”就是获取一个IP地址并找出它映射到的主机名。示例:查找151.101.1.69并发现它映射到www.stackoverflow.com。你们到底想做什么?我试图从参数中得到一些信息,那个用户传递给程序(ipv4地址、ipv6地址、主机名)。老师告诉我,我可以反转ip地址树并做如下操作:5.2.0.192.in-addr.arpa。然后使用res_query函数获取信息(ptr、mx、soa、a、aaaa等),除了@selbie重要注释外,请注意IPv6地址可以用多种方式写入,因此在对其进行任何操作之前,您需要将其规范化为稍后操作所需的某种通用格式。请参阅RFC5952以了解此操作的开始。地址中的
。arpa
特定于IPv4,不适用于IPv6。看看