小编Asa*_*een的帖子

记录 tcpdump 输出

我基本上想要的是每 3 天将所有 tcpdump 捕获的数据包写入一个文件。所以基本上 tcpdump 应该在第 1 天运行 24 小时并将输出写入 Day1.log 和类似的 Day2 和 Day3。在第 4 天,它应该重复并将日志再次写入 Day1。这基本上是为了检查我的服务器上的 DDoS 尝试并找出攻击类型,包括攻击者的 IP,因为在过去 7 天我的机器被 DDoS 攻击,我希望它再次发生。我知道它是由一些 cronjobs 完成的,但我需要将实际命令放在那里?

我还想知道哪个 IP 以 mb/sec 为单位的最大输入量,因为我的流量很高,因此我几乎需要 6 个小时才能继续搜索这些文件以查找攻击者的 IP。那么在分析这些文件的过程中,WireShark 中是否有任何内容可以说明 IP 对我的服务器进行了多少 mb/s 的输入?如果没有,我应该如何找到它?

编辑: --------------------------------------------

你们也可以自由发表您的反击想法。我所需要的只是找到攻击者的 IP、他发送的数据包数据以及以 mb/s 为单位的输入到我的服务器。我的客户不会产生超过 300kb/s 的输入,所以如果我们设置一个过滤器来捕获超过 1mb/s 的输入,我们可以捕获它。

networking logging tcpdump

5
推荐指数
2
解决办法
1万
查看次数

tcpdump - 如何检查数据包的速率?

我正在使用这个脚本来实际检查传入数据包的速率,如果速率达到 5mbps 或更高,它就会被触发。然后将数据包记录到 tcpdump 文件中。

interface=eth0
dumpdir=/tmp/

while /bin/true; do
  pkt_old=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`
  sleep 1
  pkt_new=`grep $interface: /proc/net/dev | cut -d :  -f2 | awk '{ print $2 }'`

  pkt=$(( $pkt_new - $pkt_old ))
  echo -ne "\r$pkt packets/s\033[0K"

  if [ $pkt -gt 5000 ]; then
    echo -e "\n`date` Under attack, dumping packets."
    tcpdump -n -s0 -c 2000 -w $dumpdir/dump.`date +"%Y%m%d-%H%M%S"`.cap
    echo "`date` Packets dumped, sleeping now."
    sleep 300
  fi …
Run Code Online (Sandbox Code Playgroud)

tcpdump

5
推荐指数
1
解决办法
3万
查看次数

需要iptables高手帮忙吗?

经过详细的分析,我收集了这些细节。

我处于 UDP Flood 之下,它更依赖于应用程序。我运行了一个游戏服务器,一个攻击者用“getstatus”查询淹没了我,这使得 GameServer 通过对查询的回复做出响应,这导致输出到攻击者的 IP 高达 30mb/s 和服务器延迟。

这是包的详细信息,

数据包以 4 个字节 0xff 开始,然后是 getstatus。
理论上,数据包类似于“\xff\xff\xff\xffgetstatus”

现在我已经尝试了很多 iptables 变体,比如状态和速率限制,但这些都不起作用。速率限制工作良好,但仅当服务器未启动时。一旦服务器启动,似乎没有 iptables 规则阻止它。

其他人有更多解决方案吗?有人让我联系提供商并在网络/路由器上完成,但这看起来很奇怪,我相信他们可能不会这样做,因为这也会影响其他客户。


回应所有这些答案,我会说:

首先,它是一个 VPS,所以他们不能为我做。其次,我不在乎是否有东西进来,但由于它的应用程序生成,所以必须有一个操作系统级别的解决方案来阻止传出的数据包。至少必须停止传出的。

其次,它不是 Ddos,因为只有 400kb/s 的输入从我的 GameServer 生成 30mb/s 的输出。这在 D-dos 中永远不会发生。在这种情况下应该使用询问供应商/硬件级别的解决方案,但这个是不同的。是的,禁止他的 IP 会阻止传出数据包的泛滥,但他有更多的 IP 地址,因为他欺骗了他的原始地址,所以我只需要一些东西来自动阻止他。

甚至尝试了很多防火墙,但正如你所知,它们只是 iptables 的前端,所以如果某些东西在 iptables 上不起作用,防火墙会做什么?

这些是我尝试过的规则,

iptables -A INPUT -p udp -m state --state NEW -m recent --set --name DDOS --rsource
iptables -A INPUT -p udp -m state --state NEW -m recent --update --seconds 1 --hitcount 5 --name …
Run Code Online (Sandbox Code Playgroud)

firewall iptables

3
推荐指数
1
解决办法
7792
查看次数

禁用 ICMP 不可达回复

我使用的是 Debian 6 - 64 位操作系统,我的服务器不时通过 udp 协议被 ddos​​ed/淹没。我基本上托管游戏服务器,我的防火墙设置为对允许端口上的数据包进行速率限制,但有时每个 IP 的速率很低,但 IP 数量更多,因此我的服务器向攻击 IP 发送传出的 icmp 无法访问的回复受益,但使端口更加窒息/饱和。

我正在研究如何禁用此功能。实际上,被攻击的端口是允许通过防火墙的,虽然可以解决问题,但我无法禁用它们。我在一些端口范围内运行了许多服务器,所以我不能不断地一个接一个地接受这些端口,并决定允许我可能需要的总端口范围。

我正在寻找一些内核能力来阻止这个?

networking kernel

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

networking ×2

tcpdump ×2

firewall ×1

iptables ×1

kernel ×1

logging ×1