user_interface.c

来自「简单的Linux包过滤防火墙设计,RedHat Linux 9.0上编译运行。」· C语言 代码 · 共 79 行

C
79
字号
/*		用户接口			*//*		作者:	胡辛遥			*//*		作者: 胡辛遥			*//*		Data: 2004.11.23			*//*		Version: 1.01			*//*		Email: MontagueHu@Hotmail		*/				#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/firewall",0);	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;	}	if (!strcmp(*argv,"addftpip"))		/* 增加一个IP到FTP屏蔽列表	*/	{		ioctl(f,7,inet_addr(*++argv));		return 1;	}	if (!strcmp(*argv,"releaseftpip"))	/* 释放FTP屏蔽列表中的一个IP	*/	{		ioctl(f,8,inet_addr(*++argv));		return 1;	}	if (!strcmp(*argv,"showftpiplist"))	/* 显示FTP屏蔽列表	*/	{		ioctl(f,9,0);		return 1;	}	if (!strcmp(*argv,"showftpport"))	/* 显示当前设置的FTP端口	*/	{		ioctl(f,10,0);		return 1;	}	if (!strcmp(*argv,"setftpport"))	/* 设置当前的FTP端口, 默认21	*/	{		ioctl(f,11,htons(atoi(*++argv)));		return 1;	}	/* 用户输入不正确, 提示出错信息	*/	printf("input error, please read the manual first\n");		return 0;}

⌨️ 快捷键说明

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