qqwry.dat的数据结构解释

本文详细介绍了Qqwry.dat文件的数据结构,包括文件头、记录区和索引区的详细内容,以及如何通过该数据文件实现IP地址到国家、地区的映射。通过解析,读者可以更好地理解Qqwry.dat的内部工作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 简介: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整体结构:­

图片­

以上是我参考了网上各位人士的解释后,根据自己的了解和感受,把这个问题再详细的解释一次,希望能给大家帮助。­

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值