diff --git a/router/router b/router/router new file mode 100755 index 0000000..e5c91c6 Binary files /dev/null and b/router/router differ diff --git a/router/router.c b/router/router.c index f4b11c3..4fee16b 100644 --- a/router/router.c +++ b/router/router.c @@ -14,7 +14,7 @@ int main(int argc, char const *argv[]) // pthread_create(&thread_net_task, NULL, net_task, NULL); // pthread_join(thread_net_task, NULL); - close(sockfd); // 关闭原始套接字 + // close(sockfd); // 关闭原始套接字 close_mysql(); // 关闭数据库连接 // 关闭网络设备 @@ -27,12 +27,12 @@ int main(int argc, char const *argv[]) void net_init() { // 创建原始套接字 - sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); // 参数列表:协议族、套接字类型、协议类型 - if (sockfd < 0) - { - perror("socket"); - exit(-1); - } + // sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); // 参数列表:协议族、套接字类型、协议类型 + // if (sockfd < 0) + // { + // perror("socket"); + // exit(-1); + // } // 数据连接测试 if (connect_mysql("localhost", 3306, "flykhan", "1202", "router") == 0) @@ -87,17 +87,22 @@ void printResult(MYSQL_ROW row, char (*columns)[30], int cols) void show() { - printf("************************************************\n"); - printf("**********路由器黑名单管理系统******************\n"); - printf("**************1.添加黑名单IP********************\n"); - printf("**************2.显示所有黑名单******************\n"); - printf("**************3.删除黑名单**********************\n"); - printf("**************4.开启路由器**********************\n"); - printf("**************5.刷新ARP表缓存*******************\n"); - printf("**************6.显示所有ARP表缓存***************\n"); - printf("**************9.重新打印菜单********************\n"); - printf("**************0.退出此系统**********************\n"); - printf("************************************************\n"); + printf("**************************************************\n"); + printf("** **\n"); + printf("** 模拟路由后端管理系统 **\n"); + printf("** **\n"); + printf("** 1.添加黑名单IP **\n"); + printf("** 2.显示所有黑名单 **\n"); + printf("** 3.删除黑名单 **\n"); + printf("** 4.开启路由器 **\n"); + printf("** 5.刷新ARP表缓存 **\n"); + printf("** 6.显示所有ARP表缓存 **\n"); + printf("** 9.重新打印菜单 **\n"); + printf("** 0.退出此系统 **\n"); + printf("** **\n"); + printf("**************************************************\n"); + printf("********** 版权所有 FLY-NOOB **********\n"); + printf("**************************************************\n"); } // 判断IP地址格式是否正确 @@ -188,6 +193,7 @@ void menu_choice() // 后端查询黑名单 ip else if (2 == choice) { + printf("黑名单列表如下:\n"); const char *select_ip_fw_sql = "select * from ip_fw"; query(select_ip_fw_sql, printResult); } @@ -249,6 +255,7 @@ void menu_choice() // 显示 ARP 表 else if (6 == choice) { + printf("ARP 表如下:\n"); const char *select_arp_result_sql = "select * from ip_mac"; query(select_arp_result_sql, printResult); } @@ -262,14 +269,6 @@ void menu_choice() // 退出此系统 else if (0 == choice) { - - close(sockfd); // 关闭原始套接字 - close_mysql(); // 关闭数据库连接 - - // 关闭网络设备 - pcap_close(device1); - pcap_close(device2); - printf("退出此系统\n"); return; } diff --git a/router/router.h b/router/router.h index 983963c..fd8996a 100644 --- a/router/router.h +++ b/router/router.h @@ -21,7 +21,7 @@ #include // 正则表达式,用于ip地址检查 // 定义全局变量 -int sockfd; // 原始套接字 +// int sockfd; // 原始套接字 int ret; // 调用数据库的返回值 char *errmsg; // 错误信息 char **dbResult;