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

📄 ipfilter.inc

📁 linux ip fiter source
💻 INC
字号:
;=================================================================
PF_SET_EXTENSION_HOOK_INFO	STRUCT
	ExtensionPointer		DWORD	?	;	//	包过滤函数的指针
PF_SET_EXTENSION_HOOK_INFO	ENDS
;=================================================================
CTL_Start		equ	CTL_CODE(0F000h,0f00h,METHOD_BUFFERED,FILE_ANY_ACCESS)
CTL_Stop		equ	CTL_Start + 1
CTL_Buffer		equ	CTL_Start + 2
CTL_Read		equ	CTL_Start + 3
CTL_Write		equ	CTL_Start + 4
;=================================================================
;	数据包操作定义
PF_FORWARD		equ		0		;	定义数据包应该通过(系统不再过滤)
PF_DROP			equ		1		;	定义数据包应该丢弃
PF_PASS			equ		2		;	定义数据包应该通过(系统继续过滤)
PF_ICMP_ON_DROP	equ		3		;	ICMP包被丢弃
;=================================================================
;	几种协议定义
IPPROTO_ICMP	equ		1
IPPROTO_IGMP	equ		2
IPPROTO_TCP		equ		6
IPPROTO_UDP		equ		17
INVALID_PF_IF_INDEX	equ	0ffffffffh
;=================================================================
IPHeader	STRUCT
	iph_verlen		BYTE	?	;	//	IP版本号/长度	0
	iph_tos			BYTE	?	;	//	服务类别		1
	iph_length		WORD	?	;	//	头部长度		3
	iph_id			WORD	?	;	//	IP标志			5
	iph_offset		WORD	?	;	//	段偏移			7
	iph_ttl			BYTE	?	;	//	TTL生存时间		8
	iph_protocol	BYTE	?	;	//	协议				
	iph_xsum		WORD	?	;	//	头部校验和
	iph_src			DWORD	?	;	//	来源IP地址
	iph_dest		DWORD	?	;	//	目的IP地址
IPHeader	ENDS
;=================================================================
UDPHead		STRUCT
	src_port		WORD	?	;	//	来源端口
	dest_port		WORD	?	;	//	目的端口
	len				WORD	?	;	//	UDP头部+UDP数据的总长度
	CheckSum		WORD	?	;	//	UDP校验和
UDPHead		ENDS
;=================================================================
ICMPHead	STRUCT
	ICMPType		BYTE	?	;	//	类型	(8=ECHO 0=ECHO REPLY)
	CODE			BYTE	?	;	//	未知
	CheckSum		WORD	?	;	//	ICMP校验和
	isn				WORD	?	;	//	当前序列号
	nsn				WORD	?	;	//	期望序列号
ICMPHead	ENDS
;=================================================================
TCPHead		STRUCT
	src_port		WORD	?	;	//	来源端口
	dest_port		WORD	?	;	//	目的端口
	isn				DWORD	?	;	//	当前序列号
	nsn				DWORD	?	;	//	期望序列号
	dataoffset		BYTE	?	;	//	数据偏移
	flags			BYTE	?	;	//	TCP标志
	window			WORD	?	;	//	数据窗口
	checkSum		WORD	?	;	//	TCP校验和
	expoint			WORD	?	;	//	附加数据指针
;	其实后面还有数据,但是我们没有必要关心了
TCPHead		ENDS
;=================================================================
st_packet	STRUCT
	ip_src			DWORD	?	;	//	来源IP地址	IP地址为16进制				esi
	ip_dest			DWORD	?	;	//	目的IP地址	而且高低位互换				edi
	ip_protocol		BYTE	?	;	//	协议		ICMP-1 IGMP-2 TCP-6 UDP-17	cl
	ip_direction	BYTE	?	;	//	方向		2-发送   1-接收   0-任意	ch
	src_port		WORD	?	;	//	来源端口	高低位互换					ax
	dest_port		WORD	?	;	//	目的端口	网络字节顺序				bx
	tcp_sign		BYTE	?	;	//	TCP标识位	SYN--2   RST--4				dl
	ip_operation	BYTE	?	;	//	操作		1-通过   0-拦截				dh
st_packet	ENDS
;=================================================================

⌨️ 快捷键说明

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