拒绝服务入侵机制及处理办法(一)
概要:以下的代码在使用前应当更改一些参数。 #defineDNS_REQUEST_MAX5000 #defineICMP_REQUEST_MAX1000 通知ngrep最大的请求跟踪数(在检测攻击之前)。传输较为繁忙的网站应当增加这一数值(网络流量较为繁忙的网站DNS的请求数最好在10,000,而ICMP请求为2000-3000) #defineFLOOD_THRESHOLD20 用在10秒中内有多少同一类型的攻击包来确认为真正的攻击。数目设计的越大,程序报受攻击的可能性就越小。假如您老是收到错误的警报,那么您应当增加一下这个数值。 #defineDNS_SERVER_IP"10.0.0.
拒绝服务入侵机制及处理办法(一),标签:电脑网络知识,网络基础知识,http://www.5ijcw.com
以下的代码在使用前应当更改一些参数。
#define DNS_REQUEST_MAX 5000
#define ICMP_REQUEST_MAX 1000
通知ngrep最大的请求跟踪数(在检测攻击之前)。传输较为繁忙的网站应当增加这一数值(网络流量较为繁忙的网站DNS的请求数最好在10,000,而ICMP请求为2000-3000)
#define FLOOD_THRESHOLD 20
用在10秒中内有多少同一类型的攻击包来确认为真正的攻击。数目设计的越大,程序报受攻击的可能性就越小。假如您老是收到错误的警报,那么您应当增加一下这个数值。
#define DNS_SERVER_IP "10.0.0.8"
Ngrep通过监视DNS服务器的53端口的UDP包来跟踪向内的DNS请求(只有UDP)。因此,ngrep需要知道您的DNS服务器的IP地址。
我们的设备可能会有多个DNS服务器,但我们认为对一台DNS服务器的支持足以证明这项技术的能力。
#define TTL_THRESHOLD 150
tfn2k SYN flood 攻击使用的 TTL值通常在200-255的范围内。估计到攻击者与目标主机之间不止50跳,因此我们可以只查找TTL时间高于150的包。假如您相信攻击者在50跳左右,那么您可以对TTL的限制进行一下更改。
如果/usr/local/include 和/usr/local/include/net目录在linux系统中不存在的话,安装会失败。加入您在安装时遇到了pcap.h 或 bpf.h的错误时你可以运行
mkdir /usr/local/include; mkdir /usr/local/include/net然后重新运行make install-incl。然后我们需要编译ngrep 。首先解包
tar x www.5ijcw.com vzf ngrep-1.35.tar.gz
然后进行配置
cd ngrep; ./configure
然后把ngrep.c复制到ngrep目录里。你可以覆盖也可以备份原始的ngrep.c文件。在这里,您应当回顾在修改过的ngrep.c里的配置,至少您应当把DNS_SERVER_IP更改为您所使用的DNS的地址。更改完毕后你就可以运行make,这样就建立了ngrep应用程序。
Modified ngrep.c source code
/********* TFN detection defines *******************************/
/* how many DNS and ICMP requests to track */
#define DNS_REQUEST_MAX 5000
#define ICMP_REQUEST_MAX 1000
/* flood threshold is matches per 10 seconds */
#define FLOOD_THRESHOLD 20
/* IP of your DNS server */
#define DNS_SERVER_IP "10.9.100.8"
/* TFN syn uses ttl between 200-255. Assuming less than 50 hops,
flag stuff with ttl > TTL_THRESHOLD (other critera are used
as well) */
#define TTL_THRESHOLD 150
/**************************************************************/
#include
#include
#include
#ifdef LINUX
#include
#endif
#if defined(BSD) || defined(SOLARIS)
#include
#include
#include
#include
#include
#include
#include
#endif
#if defined(LINUX) && !defined(HAVE_IF_ETHER_H)
h>
#include
#include
#include "regex.h"
#include "ngrep.h"
static char rcsver[] = "$Revision: 1.35 $";
int snaplen = 65535, promisc = 1, to = 1000;
int show_empty = 0, show_hex = 0, quiet = 0;
int match_after = 0, keep_matching = 0, invert_match = 0;
int matches = 0, max_matches = 0;
char pc_err[PCAP_ERRBUF_SIZE], *re_err;
int (*match_func)();
int re_match_word = 0, re_ignore_case = 0;
struct re_pattern_buffer pattern;
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
关键字: Tag:网络知识,电脑网络知识,网络基础知识,电脑学习 - 网络知识
上一篇:解决“正在连接”无线的故障
《拒绝服务入侵机制及处理办法(一)》相关文章
- 拒绝服务入侵机制及处理办法(一)
- › 拒绝服务入侵机制及处理办法(一)
- 在百度中搜索相关文章:拒绝服务入侵机制及处理办法(一)
- 在谷歌中搜索相关文章:拒绝服务入侵机制及处理办法(一)
- 在soso中搜索相关文章:拒绝服务入侵机制及处理办法(一)
- 在搜狗中搜索相关文章:拒绝服务入侵机制及处理办法(一)