V2版本: 改进操作界面,统一表单样式,更多工具支持批量生成,欢迎使用 到达~


文库 阅读
作者: xiaoyu 12/18 22:35:16

Go IP地址转数字

主程序

InetAton ip转数字 , 提供net.IP格式值参和字符串输值参示例

InetNtoa 数字转IP


package main

import (
	"encoding/binary"
	"fmt"
	"net"
)

func InetAton(ip net.IP) uint32 {
	if len(ip) == 16 {
		return binary.BigEndian.Uint32(ip[12:16])
	}
	return binary.BigEndian.Uint32(ip)
}

func InetNtoa(nn uint32) net.IP {
	ip := make(net.IP, 4)
	binary.BigEndian.PutUint32(ip, nn)
	return ip
}

func main() {
	ipv4 := InetNtoa(3232235521)
	ipint2 := InetAton(ipv4)
	ipint := InetAton(net.ParseIP("192.168.0.1"))

	fmt.Println(ipv4, ipint,ipint2)
}


输出: 192.168.0.1 3232235521 3232235521

About

比如要屏蔽某个地区的IP,比较简单的实现方法,是把IP地址转化为整数,通过对比整数大小来判断是否是某段IP区间

Resources

发布

未发布任何资源
首页 我的 定制
定制咨询
微信二维码
扫一扫上面的二维码,加我为朋友。
微信扫码周一至周六服务
接定制开发需求