纯真IP数据库格式精解

日期: 2019-12-06 15:33 浏览次数 :

输入:IP地址———>输出:那个IP地址所在的国家,地名,不时仍是可以精致到楼堂馆所。

摘要
互连网上的IP数据库以纯真版的Infiniti流行,LumaQQ也选用了纯真版IP数据库做为IP查询成效的功底。可是关于其格式的文书档案却极其之少,后来到底在网络找到了后生可畏份文书档案,得以精晓其背景,然则那份文书档案寥寥数语,也是颇为意志力才读精通。在这里边笔者重写风度翩翩份,以此做为LumaQQ开垦者文档的朝气蓬勃局地,作者想要么不能够缺少的。本文详细介绍了纯真IP数据库的格式,况兼付诸了部分德姆o以供参考。

Luma, 武大东军大学 更改日期: 2007/01/14

Note: 在这感激纯真IP数据库小编金狐和那唯生龙活虎生龙活虎份文书档案的编辑者。

矫正历史:
2007-01-14 矫正了本来有的表达不清和错误之处

网络上的IP数据库以纯真版的Infiniti流行,LumaQQ也选取了纯真版IP数据库做为IP查询成效的根底。然则关于其格式的文书档案却格外之少,后来到底在英特网找到了几份文书档案,才精晓其背景,现在将自家对Qqwry.dat的数据布局的知道表现出来。让更多少人掌握它的背景。


                  详整解构:

1.         qq.dat的数额存款和储蓄格式:

 1.1三大块:

   文件头;

   记录区;

   索引区;

   如图: 图片 1

 1.2详尽分解三大块:

   1.2.1第一块:文件头

        文件头是8个字节长度,前三个字节存款和储蓄了第一条索引的断然地址,后多个字节存款和储蓄了最后一条索引的相对地址。

格式如图:

   1.2.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停止 卡塔尔(英语:State of Qatar)

        C: 地区记录 (以0x 00截至 卡塔尔国

        D:标记字符:

        E:相对偏移量

 

 

以上是作者参谋了网络各位大虾的分解后,依照自个儿的询问和体会,把这几个主题素材再详尽的讲授叁次,希望能给咱们扶持。

附:本文图片是参照的

12下一页阅读全文

从今有了IP数据库这种东西,QQ外挂的显得IP成效也随时而生,自己见识颇窄,是不是还应该有其余应用一窍不通,可是,IP数据库确实是个精确的事物。方今网络上最流行的IP数据库笔者想应该是纯真版的(说错了也决不扁作者),至今截止其IP记录条数已经八九不离十30000,对于有个别IP以致能标准到办公大楼礼堂酒店和招待所,不亦快哉。二〇〇四年4、2月间,正逢LumaQQ破土动工,为了抬高那么些群众都三绝韦编,然而好像人人都不明了为什么钟爱的显IP功效,笔者也应用了纯真版IP数据库,它的助益是记录多,查询速度快,它只用三个文本QQWry.dat就带有了富有记录,方便嵌入到别的程序中,也可以有益升级。

主导布局

QQWry.dat文件在构造上分为3块:文件头,记录区,索引区。常常大家要物色IP时,先在索引区寻找记录偏移,然后再到记录区读出新闻。由于记录区的笔录是不定长的,所以直接在记录区中找找是不容许的。由于记录数超级多,借使我们遍历索引区也会是有一些慢的,平日的话,大家能够用二分查找法搜索索引区,其速度比遍历索引区快若干数量级。图1是QQWry.dat的文本构造图。

图片 3

图1. QQWry.dat文件构造

要专一的是,QQWry.dat里面整套运用了little-endian字节序

大器晚成. 摸底文件头

QQWry.dat的公文头独有8个字节,其结构非常轻易,首多个字节是首先条索引的断然偏移,后多少个字节是最后一条索引的相对偏移。