IPIP.Net地址库格式分析
IPIP.NET地址库文件格式分析
- ipip库是什么?
- ipip是一个ip地址库, 官网号称全球唯一一个基于各电信运营商,以及网络服务的BGP/ASN数据而分析处理而得来的IP库
ipip库有哪些特性
- 地理数据标注准确: 国内的地址标注准确度高
- 更新实时: 数据24小时实时更新
- 提供CDN/DNS/VPN专版, 专为CDN、DNS、VPN用户设计(提供ACL格式)
ipip库提供文件格式
- DAT[X]格式数据
- TXT[X]格式数据
- ACL格式数据(CDN专版)
TXTX格式数据分析
- TXT的文本格式简单清晰, 每行代表一个IP段, 总共有多少个IP段信息就有多少行
- 每行有15列信息, 每列均为该IP段代表的一个信息, 均已字符串格式表示, 列之间用\t(制表符)进行分割
- 每列分别表示如下信息:
- 第1列&第2列:IP段所属的起始和终止IP(点分十进制)
- 第3列:所属国家
- 第4列:所属省份
- 第5列:地级市/省直辖县级行政区
- 第6列:IP段所有者
- 第7列:所属运营商
- 第8列:城市/省份/国家中心点维度
- 第9列:城市/省份/国家中心点经度
- 第10列:所在时区代表城市
- 第11列:所在时区
- 第12列:中国行政区划代码(ISO_3166-1)
- 第13列:国际区号(ISO_3166-1)
- 第14列:国家代码(ISO_3166-1)
- 第15列:洲代码
DATX格式数据分析
- DATX格式都是16进制字节文件, 乍一眼看上去毫无头绪, 如下所示
- DATX分别有几个信息字段组成
------------------------------------------------|indexLen | flag |index | hole | info |------------------------------------------------| 4 | 4*256*256 | ips*9 | 262144 | * |------------------------------------------------
- flag区域是一个索引区域, 由IP的前两个字段组成的索引映射表(256*256大小的uint32数组),Key(下标)表示以该下标作为IP段起始IP前两个字段的IP段, 值(数组值)表示该下标起始的IP段集合的起始位置。
- 比如: 1.2.3.4/24就存储在下标(1*256 + 2 = 258)arr[258]=?的数组中进行映射, ?表示的是该段在IP段索引字段(index)中出现的序号。
- index区域是一个数组, 每个数组元素表示一个IP段的摘要信息, 摘要信息包含如下几个信息
- 每个摘要信息总共有9个字节组成, 分别表示如下三个信息
- IP段结束IP(4bytes), 表示该IP段的结束IP
- IP段的详细信息的相对偏移地址(3bytes),从index区域结束的地方开始计算偏移,比如第一个IP段的信息就是 262144+0 = 262144
- IP段信息的详细信息长度(2bytes), 确定了ip信息的起始位置和长度,就可以明确该IP段的所有信息
- hole区域是一个空洞区域, 该区域大小为256*256=262144, 不清楚具体是干什么的, 有了解的大神可以留言提供解答么?
- info区域是一个string数组, 数组中每个信息,存储了该IP段的所有坐标信息(TXT格式从第三列开始的信息), 每个信息段都已\t(制表符)进行分割
- indexLen区域, 讲完了其他区域再来讲第一个区域更好理解, indexLen表示了从flag区域开始, 到hole区域结束的字节长度, 统一表示为索引部分的总长度。
- 需要注意的地方
- indexLen部分为大端字节序写入
- flag部分的数组使用小端字节序
- index部分
- 结束IP使用大端字节序
- IP段的偏移地址使用小端字节序
- IP段的信息长度使用大端字节序
- info部分全部使用大端字节序
IPIP.Net地址库格式分析相关推荐
- 纯真IP地址库转UTFWry格式的方法
纯真IP地址库的默认的文件是QQwry.dat,一些网站需要UTF格式的,直接用自带的是不行的,读取是乱码,虽然可以从程序上进行设置解析,如果程序后期使用的话还是较为麻烦一些,不如直接转换来的合适. ...
- 【Android RTMP】RTMP 数据格式 ( FLV 视频格式分析 | 文件头 Header 分析 | 标签 Tag 分析 | 视频标签 Tag 数据分析 )
文章目录 安卓直播推流专栏博客总结 一. RTMP 格式解析 二. 文件头 Header 分析 三. 标签 Tag 分析 四. 视频标签 Tag 数据分析 安卓直播推流专栏博客总结 Android R ...
- AAC音频格式分析与解码
原文地址为: AAC音频格式分析与解码 一直在做一个语音项目,到了测试阶段,近来不是很忙,想把之前做的内容整理一下. 关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia. ...
- <整理总结>H264/265码流数据包格式分析(带mp4v2封装H264/265为MP4的源码示例)
H264/265码流数据包格式分析 前言: 一.H.264码流解析 I帧P帧B帧说明: 二.H.265码流解析 三.主要源码 前言: 最近在学习使用MP4v2将H264/H265码流以及AAC音频封装 ...
- linux 可执行文件格式分析
UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出).COFF(Common Object F ...
- UNIX/LINUX 平台可执行文件格式分析
UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出).COFF(Common Object F ...
- 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
文章目录 一.resources.arsc 资源映射表 混淆 二.resources.arsc 资源映射表二进制格式分析 三.参考资料 资源混淆时 , 需要修改混淆 resources.arsc 资源 ...
- MMDB ip地址库操作
MMDB ip地址库操作 @(JAVA)[java] MMDB即Maxmind DB,是一个设计用于存储IPv4和IPv6的数据信息的数据库,mmdb文件是一个二进制格式的文件,它使用一个二分查找树加 ...
- spring boot 整合 ip2region(ip地址库)
Ip2region是什么? ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nod ...
- IP地址库介绍 (转)
IP地址库介绍 摘要 在CDN系统中,IP地址库在流量调度.网络服务质量监测等方面起到重要的作用,本文主要介绍了IP地址库的功能.内容以及IP地址库的生成和评价方法 什么是IP地址库? 所谓IP地址库 ...
最新文章
- 一台主机装两个mysql数据库_一台主机装两个mysql数据库
- 杭州往事之与L项目SME Cathy小聚
- java ui调试_如何使用 IBM i System Debugger 调试 Java 程序
- awk 分隔符 多个空格_如何在awk中指定多个分隔符
- Python 数值计算库之-[Pandas](六)
- NAS——在VMware 15虚拟机中安装黑群晖DSM解决方案
- Linux命令工作中常用的总结
- github 公钥 私钥_github快速使用
- Jmeter压力测试快速使用
- java开辟_仿照百度文库_FlexPaper
- 计算机操作系统|汤小丹|第四版|习题答案(六)
- 如何用python编写问卷调查_通过Python实现自动填写调查问卷
- python 用余弦值反算出角度
- LOJ10102旅游航道
- php 判断百度蜘蛛抓取,百度蜘蛛抓取不存在目录 对应的解决方法
- 搜狗站长html标签验证,悦然建站分享:搜狗站长平台使用教程之添加网站
- pngimg 可以商用吗_推荐几个个人收藏的外国高清、免费、无版权可商用的网站...
- 明明都保意外,定期寿险和意外险到底区别在哪里?
- 2.SPSS入门基础——数据录入数据管理编程规则图表可视化
- 2021年中国宽带网速发展状况分析:我国宽带网速增长快速[图]
热门文章
- Java中什么是句柄
- BeanUtils与PropertyUtils的copyProperties方法的差别
- python自定义函数拟合_python自定义函数拟合
- 优化设计二维鲍威尔c语言,潘隆武-B0310524-机制09-5-鲍威尔法.doc
- 如何恢复快捷方式上的小箭头
- HTML+CSS+JS实现十款好看的登录注册界面模板,赶紧收藏起来吧!
- 2022年Python最新面试题汇总及答案
- ​越狱iOS必备神器Flex使用指南-屏蔽越狱检测的破解利器
- python 结巴分词学习
- 电商数据应用体系建设总结(二)—— 数据应用层架构介绍和规范总结