Netstat:如何知道它是人类还是Bot / Spider / DDOS

我正在使用以下命令来检查从一个IP有多less个连接

netstat -anp |grep ':80' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 

如果是DDOS攻击(500多个连接),则很容易检测到。 但是在任何时候,我仍然有从单个IP连接60-100个连接。 它可以是人类还是某种机器人/蜘蛛?

这是我现在(前6)。

 48 217.212.230.*** 54 46.63.105.*** 55 62.235.175.*** 56 79.235.188.*** 60 178.27.93.*** 63 31.16.96.*** 

显然,由于我们不知道你的服务/应用程序是什么或者它的行为如何,所以很难以经验的方式来回答 – 这种连接的数量可以通过devise来实现。

但是理解这个问题的最好方法是从一个已知的知识产权(IP)中对典型的网站访问进行基准testing,观察用户通常期望的任何交易/search过程中“用户故事”期间发生的情况。

现在看看连接是如何工作的。 这个基准是否与你通过netstat看到的一致?

如果是的话,至less你知道你在哪里。 如果它们less得多,而且没有理由认为这些IP有一个合理的理由成为多个“用户故事”的来源,那么你可能确实有某种forms的蜘蛛/ DOS /任何forms。

不要忘记,你可以随时nslookup和地理定位这些地址。 在处理这种事情时,它可能是一个非常有用的工具。 如果你也担心,也不要害怕浏览/探测它们。

您需要深入了解发生的事情,看看stream量是否合法。

合法的交通

合法的机器人可以由他们的用户代理识别。 检查IP的所有者或反向DNS通常可以帮助查明欺骗用户代理数据。

我曾见过Googlebot,Yahoo的Slurp和其他蜘蛛创build了40多个连接到系统。

请注意,浏览器最多可以连接20个连接(我认为默认大约是8)到服务器。 如果你有几个用户在NAT后面,他们可以很容易地使用20-40个连接。

DDoS的迹象

我已经看到DDoS攻击我们的连接水平低,但从广泛的IP地址。 例如,攻击者通常不会有超过100个到服务器的连接,但有几十个甚至数百个IP。

这种策略被用来破坏可用于阻止HTTP洪水的某些速率限制方法。

在这些情况下,我挑选了最常犯的IP并查看了几个项目:

  • 他们起源于哪个国家(IP Whois)
  • 他们来自同一类C / Bnetworking吗?
  • 他们在访问什么(检查Apache日志)
  • 他们似乎有正常的用户行为
  • 用户代理string中的共同点

例如,在最近的DDoS缓解过程中,我们发现进行攻击的平台本身就是一种特定的浏览器/语言组合。 提供一个规则来放弃这些请求消除了60%的攻击。

在另一个案例中,我发现大约有50%的攻击IP被分配到了中国的一个地区。 使用国家特定的IP块,我们能够放弃这个stream量。

因此,挖掘顶级IP应该很快告诉你是否应该允许或阻止它。

我注意到,你还没有答案(至less你没有,当我发布这个安全SE ),所以这是我的两个位。

一个浏览器(由一个人运行)不应该发送那么多的连接。 但是,同一站点上的同一networking中的许多用户可能会导致并发连接数量增加。 如果他们在同一个NATnetworking上,他们将使用相同的IP。

您可能希望在浏览器中使用networking检查器,testing网页的加载情况,并确定要放置多less个连接。 浏览器确实有自己的并发连接限制,但这是浏览器特定的。

像search引擎这样的机器人或者蜘蛛不可能做任何事情比浏览器。

检查Web服务器日志。 代理的名字在那里。 所有的大机器人都认同自己。