当前位置: 首页 > news >正文

攻击实验(ARP欺骗、MAC洪范、TCP SYN Flood攻击、DNS欺骗、DHCP饿死)

实验一 ARP欺骗

一、拓扑

二、实验准备、

1.设置终端

漏洞靶机集合

选择需要的数量和镜像

打开设备上的驱动精灵安装网卡

安装成功后查看IP地址、网关信息等。

三、实验步骤

1.实验原理

中间人(攻击者)在终端与网关之间持续发送伪造的 ARP 应答包双向欺骗终端和网关---让终端误认为攻击者是网关,让网关误认为攻击者是终端,从而使两者的通信数据均经攻击者转发(即 “中间人” 角色)。

❓如果我只欺骗网关会发生什么

假设只欺骗网关(告诉网关:“我是受害者,请把数据发给我!”):

  1. 上行流量(受害者 → 网关)

    1. 受害者正常发送数据到网关 ✅

    2. 攻击者无法截获(流量不经过攻击者) ❌

  2. 下行流量(网关 → 受害者)

    1. 网关将本应发给受害者的数据发给攻击者 ✅

    2. 但攻击者无法将数据送回受害者(受害者不认识攻击者的MAC,所以受害者不会接收攻击者发送的数据) ❌

  3. 结果
  • 受害者收不到网关返回的数据(如网页响应)→ 网络中断!
  • 攻击者只能收到单向残破数据(如下行流量),无法完成监听或篡改。

❓如果我只欺骗受害者会发生什么

攻击流程拆解

假设攻击者(192.168.1.100)只向受害者(192.168.1.10)发送欺骗报文:

1. 受害者发出的流量(上行)

  • 受害者访问百度:
    192.168.1.10 → 攻击者MAC(受害者以为攻击者是网关) → 数据包到达攻击者 ✅
    结果:攻击者可监听/篡改受害者发出的所有请求(如 HTTP 登录密码)。

2. 网关返回的流量(下行)

  • 网关处理完请求后,需将百度响应返回给 192.168.1.10
    192.168.1.1 → 受害者真实MAC,网关未被欺骗,直接发给受害者 → 数据包直达受害者 ✅
    结果:攻击者完全收不到下行流量 ❌

结果:网络为何中断

关键问题:TCP 连接断裂

当受害者发出 SYN 请求(如访问网站):

  1. SYN 包被攻击者截获 → 攻击者可选择丢弃或转发给网关

  2. 网关收到 SYN 后回复 SYN-ACK → 直接发给受害者(未经过攻击者)。

  3. 受害者收到 SYN-ACK 后回复 ACK → 再次发给攻击者(因受害者以为攻击者是网关)。

致命矛盾出现

  • 网关在等待 ACK 确认包(受害者已发出,但被攻击者截获)

  • 受害者发出的 ACK 被攻击者拿走 → 网关永远收不到 ACK

  • TCP 三次握手失败 → 连接无法建立 → 受害者无法加载任何网页!


❓为什么网关能收到受害者数据包?

受害者发送数据包中信息:

攻击方收到后动作(关键):

  • 查询 自己的路由表,将真实网关mac地址重新封装!!

2.使用Ettercap工具进行攻击

使用命令ettercap -G打开Ettercap

在Ettercap上绑定一个网口

选择一个网口

 选择完成后界面发生改变

发现局域网中的主机

扫描结果

添加欺骗目标

为了保证被欺骗的主机可以上网执行这一步

kali总是发送这样的应答型无故ARP。

欺骗成功

实验二、MAC洪范攻击

一、实验过程

1.MAC攻击的原理

泛洪攻击即是攻击者利用这种学习机制不断发送不同的MAC地址给交换机,填满整个 MAC表,此时交换机只能进行数据广播,攻击者凭此获得信息。

2.在kali终端上使用命令攻击

macof

3.攻击后交换机

实验三 TCP SYN Flood攻击

1.用hping3攻击

2.防御:

实验四 DNS欺骗 

1.原理

通过篡改 DNS 解析过程中的数据,将用户原本请求的域名指向错误的 IP 地址,从而引导用户访问恶意网站或拦截其网络流量。

2.具体操作步骤

修改/etc /ettercap/etter.dns的配置文件

添加域名与ip映射,表示主机访问任意域名都转化成10.0.0.135

开启apache服务,并测试,进入cd /etc/init.d,开启服务./apache2 start

攻击者的网页

进行ARP欺骗ettercap -G,设置欺骗的对象

双击dns_spoof,打开插件

在被欺骗主机上ping baidu.com发现是攻击者ip

访问网页发现是攻击者设置的网页

实验五 DHCP饿死

一、实验原理

由于DHCP没有什么验证机制,任何一发送过来的DHCP请求都可以请求到地址。那么就可以伪造大量的DHCP Discover报文。使得DHCP服务器的地址耗尽,不能正常工作。

二、实验过程

步骤一:打开工具yersinia -G

步骤二:使用dhcp模块,发起dhco discover报文。

http://www.dtcms.com/a/325146.html

相关文章:

  • VGG改进(1):基于Global Attention模块的详解与实战
  • RL代码实践 02——策略迭代
  • ai生成完成后语音通知
  • Starlink卫星终端对星策略是终端自主执行的还是网管中心调度的?
  • 如何部署图床系统 完整教程
  • python魔法属性__module__与__class__介绍
  • 学习numpy详解
  • Shell脚本-其他变量定义
  • 全面了解机器语言之kmeans
  • Redis缓存穿透、缓存击穿、缓存雪崩
  • Mock与Stub
  • 组合期权:水平价差
  • day29 消息队列
  • CST支持对哪些模型进行特征模仿真?分别有哪些用于特征模分析的求解器?
  • 信号处理函数中调用printf时,遇到中断为什么容易导致缓冲区损坏?
  • 介绍一下线程的生命周期及状态?
  • 化工设备健康管理解决方案:基于多物理场监测的智能化技术实现
  • 【系统分析师】软件需求工程——第11章学习笔记(上)
  • 堆(Java实现)
  • 大数据架构演变之路
  • [激光原理与应用-222]:机械 - 3D设计与2D设计的异同比较
  • 赋值运算符指南
  • GoBy 工具安装 | Windows 操作系统安装 GoBy
  • 某市智慧社区企业管理平台原型设计:数据驱动的社区治理新路径
  • 常用hook钩子函数
  • 设备活动审计技术方案解析
  • WSL创建虚拟机配置VNC
  • Linux系统编程——进程控制
  • 编程基础之多维数组——计算鞍点
  • 六、RuoYi-Cloud-Plus OSS文件上传配置