优化:
添加主要处理函数Processing_IP_addresses(src_ip); 数据处理放到cache.c 暂时未发现Bug
This commit is contained in:
36
cache.h
36
cache.h
@@ -6,12 +6,44 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
|
||||
#define MAXIPSET_ 256
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <pcap.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/ip.h> // IP header
|
||||
#include <netinet/tcp.h> // TCP header
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include <unistd.h>
|
||||
#include <getopt.h>
|
||||
#include <string.h>
|
||||
|
||||
#define MAXIPSET_ 10240
|
||||
#define MAXIPLEN 32
|
||||
|
||||
extern char cn_ip[MAXIPSET_][MAXIPLEN];
|
||||
#define CACHE_TTL 180 // 设定缓存的存活时间为 600 秒 (10 分钟)
|
||||
#define MAX_CACHE_SIZE 100 // 缓存最多存储 100 个 IP 地址
|
||||
extern int cache_size; // 当前缓存中的 IP 数量
|
||||
|
||||
// 定义链表结构,用于缓存 IP 地址
|
||||
struct ip_cache_node {
|
||||
char ip[INET_ADDRSTRLEN]; // 存储 IP 地址
|
||||
time_t timestamp; // 记录缓存时间
|
||||
struct ip_cache_node *next; // 指向下一个节点
|
||||
};
|
||||
|
||||
extern void add_ip_to_cache(const char *ip);
|
||||
extern int is_ip_in_cache(const char *ip);
|
||||
extern void free_ip_cache();
|
||||
|
||||
extern char cn_ip[MAXIPSET_][MAXIPLEN];
|
||||
extern int add_cn_ip(char cn_ip[MAXIPSET_][MAXIPLEN], char *ip);
|
||||
extern int is_ip_in_set(char cn_ip[MAXIPSET_][MAXIPLEN], const char *ip);
|
||||
extern int cn_ip_len(char cn_ip[MAXIPSET_][MAXIPLEN]);
|
||||
|
||||
Reference in New Issue
Block a user