summaryrefslogtreecommitdiff
path: root/include/private/nids_tmp2.h
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±¨Î*/
};