![如何识别基于 UDP 的 DoS](https://linux22.com/image/921164/%E5%A6%82%E4%BD%95%E8%AF%86%E5%88%AB%E5%9F%BA%E4%BA%8E%20UDP%20%E7%9A%84%20DoS.png)
我在 27015 UDP 端口上运行《反恐精英》游戏服务器。我使用 Amazon AWS 来托管游戏服务器。
我仅将我朋友的 IP 添加到安全组中,因此其余流量始终被阻止。
我的敌人正在使用 IP 欺骗技巧。他正在欺骗我朋友的 IP 并发送 UDP 洪水攻击。
他从 3 至 4 个 IP 发送该邮件。
我目前正在做的事情是,在 TCPdump 中捕获 IP 并手动阻止。
是否可以使用 shell 脚本或类似的东西获取这些 IP,以便我可以阻止该 IP。
谢谢!
答案1
我发现了一个非常相似的例子阻止指定长度的数据包。此处,要阻止的数据包长度为 401 至 65535。
iptables -A PREROUTING -p udp --destination-port 27015 -m length --length 401:65535 -j DROP
编辑:
如果您只想获取 IP,则可以运行以下命令,以便在 IP 地址出现时在终端中打印它们:
sudo tcpdump -n -i wlp2s0 dst port 27015 -l 2>&1 | grep length | awk -F'[ .]' -v OFS="." '$NF >= 401 { print $4,$5,$6,$7 }'
此示例适用于无线接口wlp2s0
,因此请将其更改为正确的设备,eth0
或任何您的网络设备。
您可以将此行用作脚本,但它在“for 循环”中或此后的额外管道中似乎表现不佳。