user_interface.c

来自「数据包过滤(packet filtering)是一个用软件或硬件设备对向网络上传」· C语言 代码 · 共 48 行

C
48
字号
#include <asm/types.h>
#include <fcntl.h>
#include <linux/fs.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>

int main(int argc, char* argv[])
{
	int f=open("/dev/packet",1);
	argv++;
	if (!strcmp(*argv,"addip"))	/* 增加一个IP到屏蔽列表	*/
	{
		ioctl(f,1,inet_addr(*++argv));
		return 1;
	}
	if (!strcmp(*argv,"releaseip"))		/* 释放屏蔽列表中的一个IP	*/
	{
		ioctl(f,2,inet_addr(*++argv));
		return 1;
	}
	if (!strcmp(*argv,"showiplist"))	/* 显示当前被屏蔽的IP列表	*/
	{
		ioctl(f,3,0);
		return 1;
	}	
	if (!strcmp(*argv,"addport"))		/* 增加一个端口到屏蔽列表	*/
	{
		ioctl(f,4,htons(atoi(*++argv)));
		return 1;
	}
	if (!strcmp(*argv,"releaseport"))	/* 释放屏蔽列表中的一个端口	*/
	{
		ioctl(f,5,htons(atoi(*++argv)));
		return 1;
	}
	if (!strcmp(*argv,"showportlist"))	/* 显示当前被屏蔽的服务端的端口	*/
	{
		ioctl(f,6,0);
		return 1;
	}
	/* 用户输入不正确, 提示出错信息	*/
	printf("input error, please read the manual first\n");	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?