网络上的IP数据库以纯真版的最为流行,本文不研究格式只给个将其转换为文本格式的代码。
关于纯真ip数据库的格式。本文参考了 Luma大虾的文章和LumaQQ的IPseeker类的代码,用c语言编写。本来是想写个专门读纯真ip数据库的类的,所以本文的代码本来是个测试代码,后来懒了就没继续做下去,所以代码看上去比较乱,嘿嘿。
//file:getlist.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <assert.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#define IP_DBPATH "/usr/local/LumaQQ/QQWry.dat"
#define HEAD_SIZE 8
char* record_mmap;
#define IP_QUAD_FORMAT_STRING "%03u.%03u.%03u.%03u"
#define IP_QUAD_LE(x) /
*((unsigned char*)x + 3),/
*((unsigned char*)x + 2),/
*(
关于纯真ip数据库的格式。本文参考了 Luma大虾的文章和LumaQQ的IPseeker类的代码,用c语言编写。本来是想写个专门读纯真ip数据库的类的,所以本文的代码本来是个测试代码,后来懒了就没继续做下去,所以代码看上去比较乱,嘿嘿。
//file:getlist.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <assert.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#define IP_DBPATH "/usr/local/LumaQQ/QQWry.dat"
#define HEAD_SIZE 8
char* record_mmap;
#define IP_QUAD_FORMAT_STRING "%03u.%03u.%03u.%03u"
#define IP_QUAD_LE(x) /
*((unsigned char*)x + 3),/
*((unsigned char*)x + 2),/
*(