0
多年來,我一直在使用以下函數作爲很多IP計算代碼的基礎。它們只需要內置的perl模塊Socket,所以它們非常便攜。從inet_pton解包IPv6地址
sub ip2int { return(unpack("N",inet_aton(shift))) };
sub int2ip { return(inet_ntoa(pack("N",shift))) };
試圖與Socket6同樣的事情似乎並不奏效:
嘗試1:
$ perl -MSocket6 -e '$x = inet_pton(AF_INET6,"2000::1"); print unpack("q",$x) . "\n"'
32
嘗試2:
$ perl -MSocket6 -e '$x = inet_pton(AF_INET6,"2000::1"); print
unpack("Q",$x) . "\n"'
32
嘗試3:
$ perl -MSocket6 -e '$x = inet_pton(AF_INET6,"2000::1"); print unpack("N",$x) . "\n"'
536870912
我不知道如何獲得地址的整數值,所以我可以使用算術進行網絡相關的計算。有人有主意嗎?