目前,我正在尝试编写一个将在启动时运行的脚本(Debian Linux),并计算每十秒钟每秒传入的数据包数。这样做的目的是研究减轻DoS攻击的不同方法,但我真的不知道如何设置脚本的这个基本功能。我已经做了很多关于实现这个目标的最佳方法的研究,但实际上找不到我想要的东西。由于我是Linux脚本的初学者,有人可以用外行的术语描述完成此过程的过程吗?非常感谢你!
答案 0 :(得分:1)
试试这个:
eth0
其中eth0
是目标界面。
来自评论,如果您想要在速率超过20个数据包/秒时禁用#!/bin/bash
old_packets=0
while true; do
packets=$(awk '$1 == "eth0:"{print $3}' /proc/net/dev)
if ((old_packets)); then
clear
# the variable rate contains the packets/seconds
rate=$(bc <<< "($packets - $old_packets) / 10")
echo "$rate packets/seconds"
if ((rate>20)); then
ip link set eth0 down
fi
fi
old_packets=$packets
sleep 10
done
:
/etc/rc.local
如果要在启动时运行此脚本,可以编辑using System;
class Program
{
static void Main(string[] args)
{
int zahl = 1, j;
double root = (zahl / 2);
while (zahl <= 10);
{
j = 0;
while (j++ < 5)
{
Console.WriteLine("{0,5}", root = (root + (zahl / root)) / 2);
}
}
}
}
文件,并在启动过程结束时执行该文件。