当前位置: 首页 > 图文教程 > 网络编程 > 其它综合 > qqwry.dat的数据结构图文解释

其它综合
多种语言下获取当前页完整URL及其参数
asp php 清空access mysql mssql数据库的代码
ibatis简单实现与配置
初探 SOA
初探 SOA(补充)
java asp分析各种搜索引擎的关键字,自动识别url 中关键字的编码
qqwry.dat的数据结构图文解释
UE、UI、UCD、Interaction Design、UED、UX、HCI、Usability,IA
IE 打开服务器下的MHT文件的实现方法
unicode utf-8 gb18030 gb2312 gbk各种编码对比
Http 状态代码 指示(ajax,bs结构用的到)
CSDN 博客的代码高亮问题自己修复
电子邮件 退信原因大全
支付宝 接口开发帮助(asp,php,asp.net,jsp)
在CODEIGNITER中 在CI中引入外部的JS与CSS呢
获取键盘键的值 集合 方便监控键盘事件
字符编码详解(基础)
国外开发者谈为何放弃PHP而改用Python
提示“处理URL时服务器出错”和“HTTP 500错误“的解决方法
开发人员一定要加入收藏夹的网站 推荐

其它综合 中的 qqwry.dat的数据结构图文解释


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 99 ::
收藏到网摘: n/a

QQwry.dat可以看作是一种数据文件,通过它能完成以下任务

输入: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:绝对偏移量
所有记录都是上述类型的组合:
第一种:
第二种:
第三种:
第四种:
第五种:
1.3整体结构:
以上是我参考了网上各位大虾的解释后,根据自己的了解和感受,把这个问题再详细的解释一次,希望能给大家帮助。
附:本文图片是参考的