⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parser.l

📁 又一个检测黑客远程禁止服务攻击主机的程序
💻 L
字号:
%{#include <stdio.h>#include <stdlib.h>#include <strings.h>#include "grammer.h"/*   our grammer for the config file is:	begin <ID>	  send <PROTOCOL> <OPTIONS>	  recv <PROTOCOL> <OPTIONS>	end <ID>	PROTOCOLS are:	  ICMP, UDP, TCP	OPTIONS are name=value:	  ICMP: <seq>|<id>|<type>|<code>|<data>	  UDP: <sport>|<dport>|<data>	  TCP: <sport>|<dport>|<seq>|<ack>|<win>|<data>	NOTE: We treat numbers as strings and let the compiler worry about		conversions internally */%}ws	[ \t]+nl	\ncomment	#.*ident	[a-zA-Z][a-zA-Z0-9]*num	[0-9]+qt	\"[^\"\n]*[\"\n]%%{ws}		;{comment}	;send		{ return SEND; }recv		{ return RECV; }start		{ return START; }icmp		{ return ICMP; }tcp		{ return TCP; }udp		{ return UDP; }sport=		{ return SPORT; }dport=		{ return DPORT; }seq=		{ return SEQ; }id=		{ return ID; }type=		{ return TYPE; }code=		{ return CODE; }data=		{ return DATA; }ack=		{ return ACK; }win=		{ return WIN; }nmatch=		{ return NMATCH; }end		{ return END; }{ident}		{ yylval.string = (char *)strdup(yytext); return QSTRING; }{num}		{ yylval.string = (char *)strdup(yytext); return QSTRING; }{qt}		{ yylval.string = (char *)strdup(yytext + 1);  /* Skip quote */		   if(yylval.string[yyleng-2] != '"')			fprintf(stderr, "Unterminated string");		   else 			yylval.string[yyleng-2]='\0';		   return QSTRING;		}{nl}		{ ; }.		{ return yytext[0]; }%%int yywrap() { return 1; }

⌨️ 快捷键说明

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