gpt4 book ai didi

php - 将 IPV6 转换为 PTR 记录的半字节格式

转载 作者:可可西里 更新时间:2023-11-01 12:46:25 24 4
gpt4 key购买 nike

我需要将 ipv6 地址转换为其半字节格式以用于动态创建 ptr 记录。这是我从维基百科得到的信息:

IPv6 reverse resolution

Reverse DNS lookups for IPv6 addresses use the special domain ip6.arpa. An IPv6 address appears as a name in this domain as a sequence of nibbles in reverse order, represented as hexadecimal digits as subdomains. For example, the pointer domain name corresponding to the IPv6 address 2001:db8::567:89ab is b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

我唯一能找到的关于半字节的东西是在 pack 函数中,http://www.php.net/pack .我无法通过谷歌搜索问题找到任何带有示例的解决方案。

非常感谢任何帮助。

最佳答案

给定合适的现代 PHP 版本(>= 5.1.0,或 5.3+ 在 Windows 上),使用 inet_pton 函数将 IPv6 地址解析为 16 字节数组,然后使用标准字符串操作来反转它。

$ip = '2001:db8::567:89ab';
$addr = inet_pton($ip);
$unpack = unpack('H*hex', $addr);
$hex = $unpack['hex'];
$arpa = implode('.', array_reverse(str_split($hex))) . '.ip6.arpa';

关于php - 将 IPV6 转换为 PTR 记录的半字节格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com