如何根据IP地址判断是IPv4还是IPv6
IPv4地址的书写形式为:“192.168.0.1”
IPv6地址的书写形式为:“2001:DB8:85A3:8D3:1319:8A2E:370:7344”
给你一个IP地址,它有三种可能:IPv4、IPv6、既不是IPv4也不是IPv6的无效地址。所以,如果用函数ipGetAddressAsNumber,只能判断是不是ipv4,编写如下函数:
int ReportIpv4Version(char ipv4String[])
{dword ipNumber;ipNumber = ipGetAddressAsNumber(ipv4String);if (ipNumber == 0xFFFFFFFF) return 1;else return 0;
}
如果用函数ipGetAddressAsArray,只能判断是不是ipv6,编写如下函数:
int ReportIpv6Version(char ipv6String[])
{byte ipv6Array[16];dword res;res = ipGetAddressAsArray(ipv6String, ipv6Array);if (res == 0xFFFFFFFF) return 1;else return 0;
}
所以,如果想判断IP地址是IPv4还是IPv6,可以分别调用上面的两个函数,哪个返回值为1,说明是哪种IP类型。如果都是0,说明此IP地址为无效地址
当然,上面的两个函数可以合并到一起:
int ReportIpVersion(char ipString[])
{byte ipv6Array
如何根据IP地址判断是IPv4还是IPv6相关推荐
- 以马原的视角浅谈IP地址的发展——IPv4、IPv6、NAT
文章写的有点长,核心就是介绍IP地址的原理,以及NAT有好处也有坏处,IPv6相比较IPv4也是有好处和坏处,感兴趣的可以往最后划. 以马原的视角浅谈IP地址的发展--IPv4.IPv6.NAT IP ...
- MySql存储IP地址(兼容ipv4和ipv6)
MySql存储IP地址(兼容ipv4和ipv6) 最近项目涉及到IP白名单的问题,需要设计表来存储IP地址,网上的方法针对IPV4和IPV6用什么类型存储也没有个统一的答案(都是抄来抄去....) 1 ...
- 查询电脑手机出口公网IP地址(含IPv4和IPv6)
百度搜ip有时候查到的公网出口ip地址不准确,找到一个比较准的.IPv4和IPv6出口地址都可以查,分享一下. 1)查询当前上网使用的出口IP. http://dns.ricearth.com/ip ...
- linux修改永久ip地址,centos设置IP地址,永久修改ipv4
# ifconfig #查看下本机的IP地址. eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C inet addr:192.168.0.3 Bc ...
- php 判断 ip 城市,利用PHP怎么根据IP地址判断城市
利用PHP怎么根据IP地址判断城市 发布时间:2020-12-25 16:11:48 来源:亿速云 阅读:89 作者:Leah 这期内容当中小编将会给大家带来有关利用PHP怎么根据IP地址判断城市,文 ...
- Java根据IP地址判断客户端属于哪个国家或地区
欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 腾讯.新浪.淘宝都有相应的调用接口,这里我用的是淘宝第三方的接口. ...
- Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算网段(IPV4和IPV6)
Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算所有IP地址(IPV4和IPV6) 计算IP列表 IPV4 IPV6 IP校验 IPV4 IPV6 计算IP列表 IPV4 1.需要的j ...
- C语言IP地址比较(IPv4/IPv6)
注:下文的测试案例都是在Linux(Ubuntu 14.04)平台上测试通过 IP地址转换函数 在比较IP地址之前需要将其转换为网络字节序的二进制整数,常用的转换函数是 inet_pton() int ...
- 根据IP地址判断客户端属于哪个国家或地区
在服务器端,经常会统计服务器上的资源被哪些国家或者地区访问的比较多,但我们唯一能记录的只有客户端下载时的ip地址,那我们怎么通过ip地址得到客户所在的国家或地区名呢?下面作以详解: 1.获取客户ip地 ...
最新文章
- Openstack数据库初始化时为何要重复授权
- Uva 10305 给任务排序
- ASP.NET MVC 音乐商店 - 7.成员管理和授权
- Centos 下添加开机自启动服务和脚本
- python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块
- Dinic算法----最大流常用算法之一
- 在Asp.net网页中使用接口
- python转换函数使用_Python Socket模块中的IP转换函数
- Exchange Server 2016 独立部署/共存部署 (四)—— 配置DAG(上)
- python3导入模块原理_python模块导入原理
- 5.1 Attention(注意力)概述 原理、作用、计算流程
- 梦笔记20211017
- post请求测试软件,简单的Http请求测试工具(支持get,post)
- Java中ThreadLocal详解
- 神奇代码岛BOX获500万美元天使轮融资 构建编程少年元宇宙
- Static Asynchronous Component Misuse Detection for Android Applications
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- N32G457VEL7移植FreeRTOS代码
- Coreldraw绘画看了这个才算是真正明白了什么叫绘图
- 文字生成图片的软件有哪些?这篇文章给你介绍三个
热门文章
- 2018岗位招聘信息、薪资待遇详细分析——数据分析
- 2011 IT大趋势
- 计算机考博的话北邮与哈工,博士生考试_我的考博体会——供后来者参考_沪江英语...
- EasyPOI导入多个sheet,既可更新又可新增,且从第二个sheet开始是根据第一个sheet内容的详情导入
- 手机有信号wifi无网络连接到服务器,手机wifi连接上但上不了网?是什么鬼?这样处理!...
- thinkjs 解决跨域最优方案
- android ARouter源码分析
- Qt 编译失败,jom.exe退出,退出代码2
- C#对word文档的读取
- 【ASS特效工具】NyuFX和Yutils(作者:Youka)