![](/img/trans.png)
[英]getnameinfo() - Reverse DNS lookup (IP Address to hostname) C/C++
[英]How to reverse IPv6 address for DNS lookup - C++
在我的項目中,我需要反轉 IPv6 IP 地址,以便將來查找 DNS。
例子:
來自:2001:db8:85a3:0:0:8a2e:370:7334
至:7334:370:8a2e:0:0:85a3:db8:2001
如何使用 c++ 做到這一點? 感謝您的回答:)
PS:對於 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";
有沒有更好的解決方案?
我看到這不是您所需要的,但我只是想回答您的要求,而不是您需要的!
幾個月前,我為 ipv4 和 ipv6 編寫了整個類。 相信我,你不想以字符串格式進行 ipv6 操作。 您可以將 ipv4 放在 ipv6 中; 所以這並不容易; 特別是有關短格式和類似內容的所有規則。
我認為其中還有一些未使用的代碼,但您可以輕松清理它。
在ipv4
class 中也有 ipv4 版本的reversed
方法。 還有一些 ipv4 和 ipv6 驗證以及子網掩碼驗證。
這里: https://godbolt.org/z/S9SEDh
我會把代碼放在這里,但是太長了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.