本地网络计算机中的 DoS

信息安全 身份证 拒绝服务 打喷嚏
2021-08-24 16:04:50

我正在使用 Snort 来研究检测,我想模拟从内部到家庭网络中另一台计算机的 DoS 攻击,但我有一个问题。

如果我开始用网络请求淹没目标计算机,那只会影响目标计算机,或者如果我发送太多数据包,我还会阻塞整个网络吗?

4个回答

先说一点背景。如您所知,当通过网络进行通信时,程序将原始数据拆分为“数据包”,这些数据包以及这些原始数据还包含一些额外的信息:

  • 这个特定的数据包在被传输的整个数据块中的什么位置?
  • 数据包来自谁?
  • 需要交付给谁?

路由器是使用上述额外信息移动数据包的物理设备。根据规范,路由系统应该负责两件事:

  • 将数据包送到正确的位置
  • 不将数据包发送到不该去的地方

第二点对您的问题很重要。这意味着除了多播数据包外,路由器仅在到达目的地所需经过的路由上转发数据包。其他路由甚至不应该知道数据包的存在。

理论上,如果您在攻击者和目标之间放置一个专用路由器,则唯一会注意到负载的设备是

  • 目标;
  • 那些直接连接到路由器的(因为路由器会开始丢包);
  • 那些联系目标的人(因为他们不会收到回复)。

这解决了你的问题。现在,我并不是说所有路由器都会尊重这一点,但它应该是它的工作方式。

通常,如果您正在从计算机到另一台计算机进行 DoS,那么您会以相同的负载在它们之间击中任何东西(如路由器,...)。

既然您提到了家庭网络,我将提出他们可能独有的几点。

首先,使用哑开关。很多时候,家庭客户端设备将使用不支持生成树的哑非托管交换机。在内部,这可能是一个单独的开关芯片,也可能集成到主片上系统中。这些交换机可能会因大量数据包而过载。路由器在网络层进行路由,而交换机在数据链路层进行自己的转发。他们还需要读取帧,获取 MAC 地址,然后进行转发。如果负载太高,它们的开关可能会变得无响应。如果交换机不是一个单独的芯片,它可以降低整个 CPE。一个简单的查看方法是使用普通的家用路由器、一根网络电缆,然后将电缆连接到路由器上的两个交换机端口。将电缆连接大约一分钟,然后观察会发生什么。

下一个可能不是那么明显的问题是其中一台(或者更糟的是两台!)计算机是否通过 WiFi 连接。WiFi是一种共享媒体,有一个非常重要的空中时间概念,即传输一帧所需的时间。这个时间很大程度上取决于网络使用的数据速率。

基本上,即使它们在不同的网络中,同一频道上一次只能有一个发射器在 WiFi 上工作。该发送器将在传输其帧时控制通道,而其他发送器必须保持沉默并等待它完成。如果您有两台计算机在 WiFi 和一个接入点上的场景,那么一台计算机必须传输到 AP,然后 AP 必须传输到第二台计算机,然后再次返回以确认接收。

如果您使用 WiFi 进行实验,那么根据所使用的接入点,如果您发送大量小数据包,您可能会饿死其他用户的通话时间,尤其是在您的计算机使用低数据速率的情况下。如果您尝试结合 WiFi 和多播,这将是一个特别大的问题。由于在这种情况下没有确认接收到多播数据包,许多接入点将默认使用它们支持的最低数据速率,以最大限度地增加潜在接收器的数量。在许多设备上,这可以低至 IEEE 802.11(没有字母)的速度,即 1 Mb/s 或 2 Mb/s!这将严重破坏该频道上任何 WiFi 网络的任何操作,因为它会占用广播时间。

它肯定会影响整个网络,因为发送过多的数据包会导致本地网络的带宽不足。此外,如果您连接的路由器无法处理所有数据包,它可能会开始丢弃数据包!

我宁愿建议您在虚拟环境中测试 DDoS。