router模块: 调整菜单, 注销原始套接字相关 (使用了libpcap进行捕获数据拆包, 使用libnet进行数据组装发包)
This commit is contained in:
parent
88fe7c48f5
commit
949891e366
Binary file not shown.
|
@ -14,7 +14,7 @@ int main(int argc, char const *argv[])
|
||||||
// pthread_create(&thread_net_task, NULL, net_task, NULL);
|
// pthread_create(&thread_net_task, NULL, net_task, NULL);
|
||||||
// pthread_join(thread_net_task, NULL);
|
// pthread_join(thread_net_task, NULL);
|
||||||
|
|
||||||
close(sockfd); // 关闭原始套接字
|
// close(sockfd); // 关闭原始套接字
|
||||||
close_mysql(); // 关闭数据库连接
|
close_mysql(); // 关闭数据库连接
|
||||||
|
|
||||||
// 关闭网络设备
|
// 关闭网络设备
|
||||||
|
@ -27,12 +27,12 @@ int main(int argc, char const *argv[])
|
||||||
void net_init()
|
void net_init()
|
||||||
{
|
{
|
||||||
// 创建原始套接字
|
// 创建原始套接字
|
||||||
sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); // 参数列表:协议族、套接字类型、协议类型
|
// sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); // 参数列表:协议族、套接字类型、协议类型
|
||||||
if (sockfd < 0)
|
// if (sockfd < 0)
|
||||||
{
|
// {
|
||||||
perror("socket");
|
// perror("socket");
|
||||||
exit(-1);
|
// exit(-1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 数据连接测试
|
// 数据连接测试
|
||||||
if (connect_mysql("localhost", 3306, "flykhan", "1202", "router") == 0)
|
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()
|
void show()
|
||||||
{
|
{
|
||||||
printf("************************************************\n");
|
printf("**************************************************\n");
|
||||||
printf("**********路由器黑名单管理系统******************\n");
|
printf("** **\n");
|
||||||
printf("**************1.添加黑名单IP********************\n");
|
printf("** 模拟路由后端管理系统 **\n");
|
||||||
printf("**************2.显示所有黑名单******************\n");
|
printf("** **\n");
|
||||||
printf("**************3.删除黑名单**********************\n");
|
printf("** 1.添加黑名单IP **\n");
|
||||||
printf("**************4.开启路由器**********************\n");
|
printf("** 2.显示所有黑名单 **\n");
|
||||||
printf("**************5.刷新ARP表缓存*******************\n");
|
printf("** 3.删除黑名单 **\n");
|
||||||
printf("**************6.显示所有ARP表缓存***************\n");
|
printf("** 4.开启路由器 **\n");
|
||||||
printf("**************9.重新打印菜单********************\n");
|
printf("** 5.刷新ARP表缓存 **\n");
|
||||||
printf("**************0.退出此系统**********************\n");
|
printf("** 6.显示所有ARP表缓存 **\n");
|
||||||
printf("************************************************\n");
|
printf("** 9.重新打印菜单 **\n");
|
||||||
|
printf("** 0.退出此系统 **\n");
|
||||||
|
printf("** **\n");
|
||||||
|
printf("**************************************************\n");
|
||||||
|
printf("********** 版权所有 FLY-NOOB **********\n");
|
||||||
|
printf("**************************************************\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断IP地址格式是否正确
|
// 判断IP地址格式是否正确
|
||||||
|
@ -188,6 +193,7 @@ void menu_choice()
|
||||||
// 后端查询黑名单 ip
|
// 后端查询黑名单 ip
|
||||||
else if (2 == choice)
|
else if (2 == choice)
|
||||||
{
|
{
|
||||||
|
printf("黑名单列表如下:\n");
|
||||||
const char *select_ip_fw_sql = "select * from ip_fw";
|
const char *select_ip_fw_sql = "select * from ip_fw";
|
||||||
query(select_ip_fw_sql, printResult);
|
query(select_ip_fw_sql, printResult);
|
||||||
}
|
}
|
||||||
|
@ -249,6 +255,7 @@ void menu_choice()
|
||||||
// 显示 ARP 表
|
// 显示 ARP 表
|
||||||
else if (6 == choice)
|
else if (6 == choice)
|
||||||
{
|
{
|
||||||
|
printf("ARP 表如下:\n");
|
||||||
const char *select_arp_result_sql = "select * from ip_mac";
|
const char *select_arp_result_sql = "select * from ip_mac";
|
||||||
query(select_arp_result_sql, printResult);
|
query(select_arp_result_sql, printResult);
|
||||||
}
|
}
|
||||||
|
@ -262,14 +269,6 @@ void menu_choice()
|
||||||
// 退出此系统
|
// 退出此系统
|
||||||
else if (0 == choice)
|
else if (0 == choice)
|
||||||
{
|
{
|
||||||
|
|
||||||
close(sockfd); // 关闭原始套接字
|
|
||||||
close_mysql(); // 关闭数据库连接
|
|
||||||
|
|
||||||
// 关闭网络设备
|
|
||||||
pcap_close(device1);
|
|
||||||
pcap_close(device2);
|
|
||||||
|
|
||||||
printf("退出此系统\n");
|
printf("退出此系统\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <regex.h> // 正则表达式,用于ip地址检查
|
#include <regex.h> // 正则表达式,用于ip地址检查
|
||||||
|
|
||||||
// 定义全局变量
|
// 定义全局变量
|
||||||
int sockfd; // 原始套接字
|
// int sockfd; // 原始套接字
|
||||||
int ret; // 调用数据库的返回值
|
int ret; // 调用数据库的返回值
|
||||||
char *errmsg; // 错误信息
|
char *errmsg; // 错误信息
|
||||||
char **dbResult;
|
char **dbResult;
|
||||||
|
|
Loading…
Reference in New Issue