所以我在将 IPv4 和 IPv6 转换为 Int 时遇到问题,但是我发现了这个方便的 Go 脚本可以做到这一点,但是我需要它用于 NodeJS。
我已经尝试过 NPM 中的插件,ip2int但它似乎已损坏,并且仅适用于 IPv4。
我想知道是否有人知道如何将 GO 转换为 nodeJS 的 Javascript。据我所知,以下代码在 Go 中有效。
package main
import (
"fmt"
"math/big"
"net"
)
func Ip2Int(ip net.IP) *big.Int {
i := big.NewInt(0)
i.SetBytes(ip)
return i
}
func main() {
fmt.Println(Ip2Int(net.ParseIP("20.36.77.12").To4()).String())
fmt.Println(Ip2Int(net.ParseIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334").To16()).String())
}
我们需要将 IP 地址解析为 int 的原因是,当我们收到 IP 地址时,我们可以搜索该 IP 地址是否在我们收集的 IP 地址范围之一内。
例如 RAPD 回报
"startAddress": "35.192.0.0",
"endAddress": "35.207.255.255",
因此,如果我们将这两个都转换为 int,我们可以将它们存储在我们的数据库中并执行gte或lte搜索并查看 IP 地址是否在任何存储值之间。
慕的地8271018
POPMUISE
相关分类