在 Linux 上写一个脚本来检测 DDOS 攻击时间,并保留有关信息,可以这样做:
使用 netstat 命令查看当前网络连接信息。
通过过滤出 ESTABLISHED 状态的连接来查看有哪些 IP 地址与服务器建立了连接。
对这些 IP 地址进行计数,如果某个 IP 地址的连接数超过了一个设定的阈值,就认为服务器可能被 DDOS 攻击。
记录下当前时间和攻击报文,并将这些信息保存到日志文件中。
下面是一个示例脚本,请注意,这仅供参考,还需要根据你的具体情况进行调整:
#!/bin/bash
# 设置阈值,超过这个数值就认为是 DDOS 攻击
threshold=10
# 查看当前网络连接信息,并过滤出 ESTABLISHED 状态的连接
connections=$(netstat -an | grep ESTABLISHED)
# 对每个 IP 地址进行计数
ip_count=()
for conn in $connections; do
# 从连接信息中解析出 IP 地址
ip=$(echo $conn | awk '{print $5}' | awk -F: '{print $1}')
# 如果这个 IP 地址之前没有出现过,就初始化一个计数器
if [ -z "${ip_count[$ip]}" ]; then
ip_count[$ip]=0
fi