我正在尝试通过定期 ping 服务器和 Google 并比较 ping 时间来绘制服务器的正常运行时间图表。我想在一段时间内(比如说一周)继续这样做。
我向每个节点发送一组 5 个 ping,超时时间为 5 秒,每组间隔为 2 分钟。以下是命令bash
。
while true; do echo Google; date; ping -c 5 -t 5 www.google.com; sleep 120; echo Outlook; date; ping -c 5 -t 5 https://outlook.office365.com/; sleep 120; done >> pings.txt
我担心服务器是否将此视为 DDoS 攻击。
答案1
我向每个服务器发送一组 5 次 ping,超时时间为 5 秒,每组间隔为 2 分钟。[…] 我担心服务器是否会将此视为 DDoS 攻击。
简短的答案是:
我非常有信心,您所描述的网络行为类型绝不会被视为 DDoS 行为,而可能被系统管理员简单地视为正常的流量/诊断行为。
请记住,任何公共网站都会受到持续不断的探测;系统管理员不能因为每次系统探测事件而失眠。大多数管理得当的系统上都设置了防火墙规则,可以拦截这种“唾手可得”的攻击,让它们变得毫无意义。
较长的答案是:
说实话,我认为如果一组 5 次 ping 的超时时间为 5 秒,间隔 2 分钟的“让我们再试一次”的间隔来自一台机器,那么这根本不算 DDoS 攻击。请记住,DDoS 是一种分布式拒绝服务攻击,关键词是分散式。这意味着多台分布式机器需要协同执行“坏事”,攻击才会被视为 DDoS。即使您有 100 台服务器使用 5 次 ping、5 秒超时和 2 分钟间隔,系统管理员也可能将其视为“有趣”的事件,但不会将其视为威胁。
那么,什么才算是真正的 DDoS 攻击ping
?它使用“ping flood” 定义如下;粗体强调部分是我所加的:
ping 泛洪是一种简单的拒绝服务攻击,攻击者使用 ICMP 回显请求 (ping) 数据包淹没受害者。使用 ping 的泛洪选项最有效,该选项会尽快发送 ICMP 数据包而不等待回复。大多数 ping 实现都要求用户具有权限才能指定泛洪选项。如果攻击者的带宽比受害者多(例如攻击者使用 DSL 线路,受害者使用拨号调制解调器),则最容易成功。攻击者希望受害者会用 ICMP Echo Reply 数据包进行响应,从而消耗传出带宽和传入带宽。如果目标系统足够慢,则可能会消耗足够的 CPU 周期,使用户注意到明显的减速。
这意味着发生 ping DDoS 的唯一方式是受害者一侧的带宽被淹没,以致系统运行速度变得非常慢而“瘫痪”。
要从命令行实现真正的、简单的“ping flood”,您需要运行如下命令:
sudo ping -f localhost
现在你想知道,如果你对一个真正的目标运行该命令,会发生什么。好吧,如果你从你的单机电脑对目标执行该命令,在接收端看起来根本不会有什么。只是无休止的 ping 请求,几乎不会消耗带宽。但老实说,大多数称职的 Web 系统管理员都会为他们的服务器设置防火墙规则来阻止 ping 泛滥。
所以,再说一遍,你自己在一个系统上不会触发任何接近 DDoS 的情况。但是让几百台服务器对目标系统这样做,然后你的行为将被视为 DDoS 攻击。