OpenVAS Libraries
9.0.3
misc
ids_send.h
Go to the documentation of this file.
1
/* OpenVAS
2
* $Id$
3
* Description: IDS stressing functions.
4
*
5
* ids_send() sends data spliced into several packets, with bad packets
6
* between them, thus making bad NIDSes reassemble the tcp stream awkwardly;
7
*
8
* ids_open_sock_tcp() opens a tcp socket and immediately sends a badly
9
* formed RST packet to the remote host, thus making bad NIDSes think
10
* the connection was immediately dropped on our end.
11
*
12
* Authors:
13
* Renaud Deraison <deraison@nessus.org> (Original pre-fork development)
14
*
15
* Copyright:
16
* Based on work Copyright (C) 1998 - 2002 Renaud Deraison
17
*
18
* This library is free software; you can redistribute it and/or
19
* modify it under the terms of the GNU Library General Public
20
* License as published by the Free Software Foundation; either
21
* version 2 of the License, or (at your option) any later version.
22
*
23
* This library is distributed in the hope that it will be useful,
24
* but WITHOUT ANY WARRANTY; without even the implied warranty of
25
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26
* Library General Public License for more details.
27
*
28
* You should have received a copy of the GNU General Public License
29
* along with this program; if not, write to the Free Software
30
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
31
*/
32
33
#ifndef __OPENVAS_IDS_SEND_H__
34
#define __OPENVAS_IDS_SEND_H__
35
36
/* for struct arglist */
37
#include "
arglists.h
"
38
39
/*
40
* Transport layer options
41
* XXX: These defines were moved here from libopenvas.h sind they
42
* are used most often in ids_send module. More reengineering
43
* probably needed.
44
*/
45
#define OPENVAS_CNX_IDS_EVASION_SPLIT 1L
/* Try to evade NIDS by spliting sends */
46
#define OPENVAS_CNX_IDS_EVASION_INJECT 2L
/* Split + insert garbage */
47
#define OPENVAS_CNX_IDS_EVASION_SHORT_TTL 4L
/* Split + too short ttl for garbage */
48
#define OPENVAS_CNX_IDS_EVASION_FAKE_RST 8L
/* Send a fake RST from our end after each established connection */
49
50
#define OPENVAS_CNX_IDS_EVASION_SEND_MASK (OPENVAS_CNX_IDS_EVASION_SPLIT|OPENVAS_CNX_IDS_EVASION_INJECT|OPENVAS_CNX_IDS_EVASION_SHORT_TTL)
51
52
int
ids_send
(
int
,
void
*,
int
,
int
);
53
int
ids_open_sock_tcp
(
struct
arglist
*,
int
,
int
,
int
);
54
55
#endif
arglists.h
ids_open_sock_tcp
int ids_open_sock_tcp(struct arglist *, int, int, int)
Definition:
ids_send.c:688
arglist
Definition:
arglists.h:29
ids_send
int ids_send(int, void *, int, int)
Definition:
ids_send.c:524
Generated on Mon Apr 25 2022 14:03:04 for OpenVAS Libraries by
1.8.17