欢迎来到代码驿站!

当前位置:首页 >

qqwry.dat的数据结构图文解释第1/2页

时间:2021-04-30 10:10:21|栏目:|点击:

输入:IP地址―――>输出:这个IP地址所在的国家,地名,有时甚至能精细到楼层。

网络上的IP数据库以纯真版的最为流行,LumaQQ也采用了纯真版IP数据库做为IP查询功能的基础。不过关于其格式的文档却非常之少,后来终于在网上找到了几份文档,才知道其内幕,现在将我对Qqwry.dat的数据结构的理解展现出来。让更多人明白它的内幕。

                  详解解构:

1.         qq.dat的数据存储格式:

 1.1三大块:
   文件头;
   记录区;
   索引区;
   如图:
 1.2详细解释三大块:
   1.2.1第一块:文件头
        文件头是8个字节长度,前四个字节存储了第一条索引的绝对地址,后四个字节存储了最后一条索引的绝对地址。
格式如图:
   1.2.2第二块:索引区:
 索引区格式如下图:
先说一下IP地址的起始IP和结束IP。例如:中国,美国,英国每个国家都分配有不同的IP段,IP段就是由起始IP和结束IP组成,从起始IP到结束IP内的所有IP就组成了我们所说的IP段。比如:
010.018.132.000 010.018.132.255 [河北][承德169用户]
010.018.160.000 010.018.255.255 [河北][唐山]
再来说一下索引区的存储结构,它存储了很多条索引,每条索引的格式为7个字节,前四个字节表示的是一个IP段的起始字节,后三个字节是链接到以这个起始IP开始的IP段内的所有IP记录的地址,也就是说它是一个绝对地址,用于到链接到记录区查询国家,地区的数据。
   1.2.3第三块:记录区:
        记录区的数据格式不定,数据主要有以下类型:
        A:结束IP
        B:国家记录 (以0x 00结束 )
        C: 地区记录 (以0x 00结束 )
        D:标识字符:
        E:绝对偏移量
 
 
以上是我参考了网上各位大虾的解释后,根据自己的了解和感受,把这个问题再详细的解释一次,希望能给大家帮助。
附:本文图片是参考的

上一篇:docker实现重新打tag并删除原tag的镜像

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:qqwry.dat的数据结构图文解释第1/2页

本文地址:http://www.codeinn.net/misctech/111585.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有