2023-09-20 16:13:41 +08:00
|
|
|
|
#ifndef __ROUTER_H__
|
|
|
|
|
#define __ROUTER_H__
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <sys/socket.h>
|
|
|
|
|
#include <netinet/ether.h>
|
|
|
|
|
#include <unistd.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <sys/types.h> //recvfrom
|
|
|
|
|
#include <netinet/ether.h> //ETH_P_ALL
|
|
|
|
|
#include <arpa/inet.h> //inet_ntop
|
|
|
|
|
#include <net/if.h> //ifreq
|
|
|
|
|
#include <sys/ioctl.h> //ioctl
|
|
|
|
|
#include <netpacket/packet.h> //sockaddr_ll
|
|
|
|
|
#include <pthread.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <mysql/mysql.h> // mysql
|
|
|
|
|
#include <netinet/ip.h> // ip
|
|
|
|
|
#include <pcap/pcap.h>
|
|
|
|
|
#include <regex.h> // 正则表达式,用于ip地址检查
|
|
|
|
|
|
|
|
|
|
// 定义全局变量
|
|
|
|
|
int sockfd; // 原始套接字
|
|
|
|
|
int ret; // 调用数据库的返回值
|
|
|
|
|
char *errmsg; // 错误信息
|
|
|
|
|
char **dbResult;
|
|
|
|
|
int nrow;
|
|
|
|
|
int ncolumn;
|
|
|
|
|
|
|
|
|
|
void show(void); // 后端控制菜单
|
|
|
|
|
void net_init(); // 网络初始化
|
|
|
|
|
void *net_task(void *arg); // 网络任务
|
|
|
|
|
int is_blocked_ip(unsigned char *ip); // 黑名单探测
|
2023-09-20 16:51:37 +08:00
|
|
|
|
void printResult(MYSQL_ROW row, char (*columns)[30], int cols); // 显示查询结果的回调函数
|
2023-09-20 16:13:41 +08:00
|
|
|
|
int is_ip_valid(const char *ip); // 检查ip地址是否合法
|
|
|
|
|
|
|
|
|
|
#endif
|