![为什么 ping 泛洪域名会卡住,而不是直接 ip 地址](https://linux22.com/image/543720/%E4%B8%BA%E4%BB%80%E4%B9%88%20ping%20%E6%B3%9B%E6%B4%AA%E5%9F%9F%E5%90%8D%E4%BC%9A%E5%8D%A1%E4%BD%8F%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E7%9B%B4%E6%8E%A5%20ip%20%E5%9C%B0%E5%9D%80.png)
我想知道为什么当 ping 洪水泛滥到一个域时,ping 洪水会在几秒钟后冻结,然后继续,并且这种冻结、解冻一直持续到我停止 ping 洪水。
当我使用 IP 进行相同操作时,它不会冻结。永远不会。
例如我这样做了sudo ping -f IP
(它没有冻结)
然后我这样做了sudo ping -f DomainName
(它在几秒钟后冻结)
为什么 ping 洪泛某个 IP 不会冻结,而使用域名 ping 洪泛同一位置会冻结。
编辑 - 我所说的冻结是指 ping 泛洪的行为应该发送 ping 并为每个 ping 创建一个点 (.),但在收到回显请求后也删除每个点 (.)。看起来像这样:
.......... <- 这意味着您只需发送 10 个 ping 请求。
如果请求是答案,则对于每个请求答案,都会删除一个点。当发送或接收时会发生冻结。这些点将保持冻结状态,就像没有接收或发送任何数据包一样。
对于 PING 洪水攻击。我的意思不是用邪恶的方式淹没一个地方,而是用测试的方式。测试 ping 请求的发送和响应的性能/速度。如果你向 google 的 IP 发送 ping 洪水攻击大约 10 秒钟,你将发送大约 1000 个数据包。但是如果你对 google 的域名 (google.com) 进行此操作,它将导致我所说的冻结。
重要提示 — 请不要将其与使用死亡之 ping 攻击淹没网站相混淆。
答案1
我也遇到了同样的问题,在“ strace ping -f DomainName
”之后我发现它在收到每个数据包时都会尝试将 IP 地址解析为主机名。解决方案很简单,只需添加-n
参数以避免主机名查找。