輸入:IP地址———>輸出:這個(gè)IP地址所在的國(guó)家,地名,有時(shí)甚至能精細(xì)到樓層。
網(wǎng)絡(luò)上的IP數(shù)據(jù)庫(kù)以純真版的最為流行,LumaQQ也采用了純真版IP數(shù)據(jù)庫(kù)做為IP查詢(xún)功能的基礎(chǔ)。不過(guò)關(guān)于其格式的文檔卻非常之少,后來(lái)終于在網(wǎng)上找到了幾份文檔,才知道其內(nèi)幕,現(xiàn)在將我對(duì)Qqwry.dat的數(shù)據(jù)結(jié)構(gòu)的理解展現(xiàn)出來(lái)。讓更多人明白它的內(nèi)幕。
詳解解構(gòu):
1. qq.dat的數(shù)據(jù)存儲(chǔ)格式:
1.1三大塊:
文件頭;
記錄區(qū);
索引區(qū);
如圖:

1.2詳細(xì)解釋三大塊:
1.2.1第一塊:文件頭
文件頭是8個(gè)字節(jié)長(zhǎng)度,前四個(gè)字節(jié)存儲(chǔ)了第一條索引的絕對(duì)地址,后四個(gè)字節(jié)存儲(chǔ)了最后一條索引的絕對(duì)地址。
格式如圖:
1.2.2第二塊:索引區(qū):
索引區(qū)格式如下圖:

先說(shuō)一下IP地址的起始IP和結(jié)束IP。例如:中國(guó),美國(guó),英國(guó)每個(gè)國(guó)家都分配有不同的IP段,IP段就是由起始IP和結(jié)束IP組成,從起始IP到結(jié)束IP內(nèi)的所有IP就組成了我們所說(shuō)的IP段。比如:
010.018.132.000 010.018.132.255 [河北][承德169用戶(hù)]
010.018.160.000 010.018.255.255 [河北][唐山]
再來(lái)說(shuō)一下索引區(qū)的存儲(chǔ)結(jié)構(gòu),它存儲(chǔ)了很多條索引,每條索引的格式為7個(gè)字節(jié),前四個(gè)字節(jié)表示的是一個(gè)IP段的起始字節(jié),后三個(gè)字節(jié)是鏈接到以這個(gè)起始IP開(kāi)始的IP段內(nèi)的所有IP記錄的地址,也就是說(shuō)它是一個(gè)絕對(duì)地址,用于到鏈接到記錄區(qū)查詢(xún)國(guó)家,地區(qū)的數(shù)據(jù)。
1.2.3第三塊:記錄區(qū):
記錄區(qū)的數(shù)據(jù)格式不定,數(shù)據(jù)主要有以下類(lèi)型:
A:結(jié)束IP
B:國(guó)家記錄 (以0x 00結(jié)束 )
C: 地區(qū)記錄 (以0x 00結(jié)束 )
D:標(biāo)識(shí)字符:
E:絕對(duì)偏移量
以上是我參考了網(wǎng)上各位大蝦的解釋后,根據(jù)自己的了解和感受,把這個(gè)問(wèn)題再詳細(xì)的解釋一次,希望能給大家?guī)椭?/FONT>
附:本文圖片是參考的
12下一頁(yè)閱讀全文