我如何找出谁向服务器发出了大量请求?

我如何找出谁向服务器发出了大量请求?

我正在运行 Apache 服务器,想使用命令行找出过去 24 小时内谁(IP 地址)发出了大量请求。还想找出目前谁拥有最多的开放连接?

答案1

我正在运行 Apache 服务器,想使用命令行找出过去 24 小时内谁(IP 地址)发出了大量请求。

awk '/29\/Sep\/2011/ { print $1 }' /path/to/access_log | sort | uniq -c | sort -rn | head

还想了解目前谁拥有最开放的连接?

netstat -natp | grep httpd | awk '{ print $5 }' | cut -d: -f1 | sort | uniq -c | sort -rn | head

答案2

您可以使用tail /path/to/apache_log_file(签入/var/log/apache2)。查看当前连接的一种方法是使用mod_status. 您还可以使用netstat -a |grep www

相关内容