【问题标题】:DDOS Attack on WHM with CentOS 6CentOS 6 对 WHM 的 DDOS 攻击
【发布时间】:2015-03-09 16:14:12
【问题描述】:

我有以下命令来连接当前的 IP:

netstat -ntu | awk '{打印 $5}' | egrep -o -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' |排序 |唯一的-c | awk '{if ($1 > 50) print $2" # "$1" times."}' |排序-n

当我运行上面的命令会得到如下结果:

68.4.90.74 # 185 次。
77.42.241.230 #258 次。
78.40.177.38 #658 次。
79.171.81.237 #798 次。
79.172.252.26 # 435 次。

运行此程序以获取上述 IP 的详细信息

netstat -noap | grep 68.4.90.74

会给你(简单的):

tcp 0 0 xxx.xxx.xxx.xxx:80 68.4.90.74:56484 ESTABLISHED 10561/httpd keepalive (6398.07/0/0) tcp 0 0 xxx.xxx.xxx.xxx:53 68.4.90.74:56480 ESTABLISHED 10519/httpd keepalive (6379.57/0/0) tcp 0 0 xxx.xxx.xxx.xxx:53 68.4.90.74:56481 ESTABLISHED 9817/httpd keepalive (6379.56/0/0) tcp 0 0 xxx.xxx.xxx.xxx:53 68.4.90.74:56483 ESTABLISHED 9838/httpd keepalive (6379.56/0/0) tcp 0 0 xxx.xxx.xxx.xxx:80 68.4.90.74:56482 ESTABLISHED 10505/httpd keepalive (6379.34/0/0)

我的问题是如何更新第一个代码以使 IP 不通过端口 80 连接虽然以下代码可以通过特定端口连接 IP:

netstat -ntu | awk '/\:80\ / {打印 $5}' | egrep -o -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' |排序 |唯一的-c | awk '{if ($1 > 50) print $2" # "$1" times."}' |排序-n

【问题讨论】:

  • 所以你只想要端口 80 上的连接not
  • 没错,这就是我想要的。

标签: linux apache bash tcp awk


【解决方案1】:

这个 awk 脚本会为您完成大部分工作:

netstat -ntu | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ && !($5 ~ /:80$/){split($5,a,":");++seen[a[1]]}END{for(i in seen)print i, "#", seen[i], "times."}'

第一个模式与您的相似,但我使用+ 而不是* 来匹配一个或多个数字。第二种模式确保第 5 个字段不以 :80 结尾。只处理匹配第一个模式但不匹配第二个模式的行。

将第 5 个字段拆分为数组 a 并保留数组 seen 中所有 IP 地址的计数。最后,循环遍历seen 中的所有元素并打印输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多