用于计算每秒传入数据包数的脚本?

时间:2018-02-22 19:13:23

标签: linux scripting debian denial-of-service

目前,我正在尝试编写一个将在启动时运行的脚本(Debian Linux),并计算每十秒钟每秒传入的数据包数。这样做的目的是研究减轻DoS攻击的不同方法,但我真的不知道如何设置脚本的这个基本功能。我已经做了很多关于实现这个目标的最佳方法的研究,但实际上找不到我想要的东西。由于我是Linux脚本的初学者,有人可以用外行的术语描述完成此过程的过程吗?非常感谢你!

1 个答案:

答案 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); } } } } 文件,并在启动过程结束时执行该文件。