blob: 5442093537bcd3267316dac58308bd70a0d22d4a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
typedef struct _stappinfo
{
char op_state; //deem
char op_flag; //deem
short pad;
struct lurker_node *listeners;
int serverpkt;
int clientpkt;
unsigned long creattime;
unsigned long lastmtime;
char *pkillinfo;
}stAppInfo;
struct tuple4 {
u_short source;
u_short dest;
u_int saddr;
u_int daddr;
};
#define MAX_CACHE_LEN 16
/*°ë½ṹ̶¨Ò£º*/
struct half_stream
{
char *data; /*ʵ½µÄCP¸ºÔʾÝ/
u_int offset; /*dataÖµÚ»¸öÚÚCPʾÝ÷Ä«Ò*/
u_int count; /*´Ó¬½ӽ¨bƵ½ÏÔΪֹ£¬µ½´ïʾÝܳ¤¶ÈֽÚýu_int count_new; /*±¾´Îµ½µÄýÚýu_int count_ideal; /*´Ó¬½ӽ¨bƵ½ÏÔΪֹ£¬ÀÂÉӦ¸õ½´ïʾÝܳ¤¶È/
u_int pktcout; /*±¾²à¼Ƶ½´ï°ü/
u_int pktcout_new; /*±¾´Îµ½´ï°ü/
u_int seq; /*±¾²à¾ÝڴýкÅ/
u_int first_data_seq; /*±¾²à¾ÝðĵÄeqкÅ/
u_int ack_seq; /*±¾²à¾ÝîʹӵĦ´ð/
u_short window; /*±¾²à¾ݻ¬¶¯´°¿ڴó/
u_short pad; /*ԤÁ²¹Æ*/
u_int *sigpktlen; /*µ¥°üý׳¤¶Èª pktcout_new*/
u_char *tcpflag; /*µ¥°üg×,Ê׳¤¶Èª pktcout_new*/
void *pktinfo; /*µ¥°üÅ¢Ê×£¬ԤÁ£¬Ê׳¤¶Èª pktcout_new*/
};
/*Á½ṹ̶¨Ò£º*/
/*struct stream½ṹ¶¨Ò£º*/
struct tcp_stream {
struct tuple4 addr; /*ͨѶ˫·½µÄĪ×*/
u_char nids_state; /*µ±ǰt½ӵÄ´̬*/
u_char dir; /*µ±ǰËԪײ¶»ñý·µķ½Ï*/
u_char appproto; /*µ±ǰt½ӵĦӲãÒÀ±ð u_char thread_num; /*µ±ǰt½ÓùÁºÅ/
struct half_stream client; /*µ½clientµÄCPl½ÓÅ¢*/
struct half_stream server; /*µ½ serverµÄCPl½ÓÅ¢*/
stAppInfo *appinfo; /*ӦÓ²ãϢָÕ,t½Ӹս¨bΪNULL,ÓӦÓ²㸳ֵ,²¢ÇÔºóý¹Ó*/
};
/*
struct _sttcp_appinfo
{
#define MAX_APPCOUNT 8
char appreg[MAX_APPCOUNT];
int appstat[MAX_APPCOUNT];
void (*item)()[MAX_APPCOUNT];
void *data[MAX_APPCOUNT];
}
*/
struct pktinfo{
u_char ipproto; /*ip²ãÒÀ±ðx06 TCP 0x11 UDP ½ø×µÄýpЭÒ£¬δÖ׵ĻÂΪ0 */
void *pdata; /*Á½ṹÌ£¬»òpÖ׺óp±¨Î*/
};
|