ARP欺骗原理及实现

这篇具有很好参考价值的文章主要介绍了ARP欺骗原理及实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、ARP协议原理

二、ARP协议的报文字段以及字段含义

三、ARP攻击与欺骗

1、ARP攻击原理

2、ARP欺骗原理

四、ARP攻击与欺骗演示

五、Windows使用ARP命令

六、ARP攻击及欺骗排查和防御

1、ARP攻击排查

2、ARP攻击防护


一、ARP协议原理

ARP协议的用途是为了从网络层使用的IP地址,解析出在数据链路层使用的MAC地址

当主机A要向本局域网上的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。也有可能查不到主机B的IP地址的项目,在这种情况下,主机A就自动运行ARP,然后按以下步骤找出主机B的硬件地址:

(1)ARP进程在本局域网上广播发送一个ARP请求分组

(2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组

(3)主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址

(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射

当主机A向B发送数据报时,很可能以后不久主机B还要向A发送数据报,因而主机B也可能要向A发送ARP请求分组。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就把自己的IP地址到硬件地址的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就把主机A的这一地址映射写入主机B自己的ARP高速缓存中。以后主机B向A发送数据报时就很方便了

arp欺骗实现,网络安全,网络,系统安全,网络协议

二、ARP协议的报文字段以及字段含义

ARP是一个独立的三层协议,所以ARP报文在向数据链路层传输时不需要经过IP协议的封装,而是直接生成自己的报文,其中包括ARP报头,到数据链路层后再由对应的数据链路层协议(如以太网协议)进行封装。ARP报文分为ARP请求和ARP应答报文两种,它们的报文格式可以统一为下图所示

arp欺骗实现,网络安全,网络,系统安全,网络协议

  • 硬件类型:占2字节,表示ARP报文可以在哪种类型的网络上传输,值为1时表示为以太网地址。
  • 上层协议类型:占2字节,表示硬件地址要映射的协议地址类型,映射IPV4地址时的值为0x0800。
  • MAC地址长度:占1字节,标识MAC地址长度,以字节为单位,此处为6
  • IP协议地址长度:占1字节,标识IP得知长度,以字节为单位,此处为4
  • 操作类型:占2字节,指定本次ARP报文类型。1 标识ARP请求报文,2 标识ARP应答报文,3 标识RARP请求报文,4 标识RARP应答报文。
  • 源MAC地址:占6字节,标识发送设备的硬件地址。
  • 源IP地址:占4字节,标识发送方设备的IP地址。
  • 目的MAC地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00,表示任意地址,因为现在不知道这个MAC地址。
  • 目的IP地址:占4字节,表示接受方的IP地址。

三、ARP攻击与欺骗

1、ARP攻击原理

ARP 协议的缺陷在于缺乏验证机制。当主机接收到 ARP 数据包时,不会进行任何认证就刷新自己的 ARP 高速缓存。利用这一点可以实现 ARP 欺骗,造成 ARP 缓存中毒。所谓 ARP 缓存中毒,就是主机将错误的IP地址和MAC地址的映射信息记录在自己的ARP高速缓存中

ARP攻击发送的是ARP应答,但是ARP应答包中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信

如下图所示:如果PC2对主机PC1发起ARP攻击,使其无法访问互联网,就需要对网关或PC1发送虚假的ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障

arp欺骗实现,网络安全,网络,系统安全,网络协议

2、ARP欺骗原理

1)、欺骗网关

ARP欺骗的目的不是为了让被攻击主机无法访问互联网,而是让被攻击主机访问互联网时的数据经过 PC2 再由网关转发到Internet,所以这时被攻击主机PC1和网关收到的都是真实的MAC地址,是攻击主机PC2的MAC地址

arp欺骗实现,网络安全,网络,系统安全,网络协议

2)、欺骗主机

原理和欺骗网关一致,都是为了截获被攻击主机发送给其他主机的数据流量

arp欺骗实现,网络安全,网络,系统安全,网络协议

 ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的

四、ARP攻击与欺骗演示

1、实验环境:

靶机:Win10

攻击机:Kali Linux

确保两台主机都能上网,可以互相通信,这里两台主机都使用NAT模式(ARP断网攻击是局域网攻击,我们要保证目标主机必须和自己处于一个局域网内)

2、查看Win10和Kali的IP相关参数

arp欺骗实现,网络安全,网络,系统安全,网络协议

arp欺骗实现,网络安全,网络,系统安全,网络协议

Win10:

        IP地址:192.168.206.138

        MAC地址:00-0C-29-7E-9F-87

        网关IP地址:192.168.206.2

        网关MAC地址:00-50-56-fb-d1-77

arp欺骗实现,网络安全,网络,系统安全,网络协议

Kali:

        IP地址:192.168.206.128

        MAC地址:00:0c:29:08:bd:c0

3、在Kali上面安装网络嗅探工具包dsniff

arp-get install dsniff

4、在Kali上面实施ARP攻击

arpspoof -i eth0 -t 192.168.206.138 192.168.206.2 
# -i   接口名称
# -t   攻击主机目标地址 攻击主机网关地址

arp欺骗实现,网络安全,网络,系统安全,网络协议

 5、Win10使用arp -a命令ARP缓存表,发现网关的MAC地址映射为Kali的MAC地址

arp欺骗实现,网络安全,网络,系统安全,网络协议

 6、在Win10使用Wireshark抓取ARP数据包,发现有大量从Kali发往Win10的ARP响应数据包

arp欺骗实现,网络安全,网络,系统安全,网络协议

 7、此时用Win10去ping www.baidu.com是不通的,因为数据包已经被Kali拦截

arp欺骗实现,网络安全,网络,系统安全,网络协议

 8、用Wireshark抓取ping www.baidu.com的ICMP报文,目的MAC地址为Kali的MAC地址

arp欺骗实现,网络安全,网络,系统安全,网络协议

9、在Kali的/proc/sys/net/ipv4/ip_forward文件中,开启Kali的IP数据包转发,然后去ping www.baidu.com,才可以ping通

  • 开启转发的第一种方法:
echo 1 > /proc/sys/net/ipv4/ip_forward
  • 开启转发的另一种方法:
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf    #修改linux系统的内核参数
sysctl -p /etc/sysctl.conf                          #载入sysctl配置文件

arp欺骗实现,网络安全,网络,系统安全,网络协议

五、Windows使用ARP命令

1、显示当前ARP缓存表

arp -a

2、清空ARP缓存,包括静态绑定

arp -d

3、静态ARP绑定网关

  • 查看要进行ARP绑定的网关的Idx编号
#以下两个命令都可以
netsh i i show in 
netsh interface ipv4 show in
  •   ARP绑定网关(路由器)
#以下两个命令都可以
netsh -c "interface ipv4" add neighbors idx "网关IP地址" "网关MAC地址"
netsh -c "i i" add neighbors idx "网关IP地址" "网关的MAC地址"
  •   使用arp -a可以查看是否绑定成功
  •   解除绑定
#以下两个命令都可以
netsh -c "interface ipv4" del neighbors Idx
netsh -c "i i" delete neighbors Idx

六、ARP攻击及欺骗排查和防御

1、ARP攻击排查

1)、主机无法上网(ARP攻击)

  • 查看连接是否连通(网线、网卡)
  • 是否有对应的TCP/IP参数(IP地址、网关、DNS服务器地址)
  • 主机是否可以和网关通信,如果无法通信,确认网关是否存在(直接给网关发送ARP报文,确认是否有回应),根据回应的ARP响应报文情况来确定是否一个IP地址对应多个MAC地址

2)、主机可以上网(ARP欺骗)

1)、主机直接向网关发送ARP请求报文,查看回应情况

  • 回应的ARP报文中,网关对应了多个MAC地址说明遭受欺骗

2)、在主机上使用路由跟踪,查看跟踪到的路由情况

  • 自己的网关如果不在第一跳说明遭受欺骗

3)、抓包分析

  • 使用主机正常访问网站,通过报文得出有很多tcp retransmission中继报文和tcp out-of-order乱序报文,说明遭受欺骗

2、ARP攻击防护

  • 安装安全软件

  • 静态绑定ARP

# 在Windows系统中也可以使用以下命令绑定网关
arp -s "网关的IP地址" "网关的MAC地址"
  • 在网关设备上开启ARP防护文章来源地址https://www.toymoban.com/news/detail-572644.html

到了这里,关于ARP欺骗原理及实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索网络攻击:ARP断网、ARP欺骗和DNS欺骗实验解析

    目录 前言 一、ARP概述 1.1 什么是ARP 1.2 ARP协议的基本功能 1.3 ARP缓存表 1.4 ARP常用命令 二、ARP断网实验 三、ARP欺骗实验 3.1 内网截获图片 3.2 HTTP账户密码获取 四、DNS欺骗实验 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filot

    2024年02月06日
    浏览(45)
  • 计算机网络实验二:ARP欺骗

    博客链接:https://www.blog.23day.site/articles/66 要求:配置并使用wireshark,在无线环境下监听 非本机 的数据码流,记录并解释如下集中情况下听到的数据包的意义,并对比分析 Wireshark是一种抓包工具,这种工具比fiddler更强大,消息量更多。大家可能会问:有了fiddler,为什么还要

    2024年02月05日
    浏览(51)
  • 什么是ARP欺骗,ARP欺骗现象是什么?如何判断ARP欺骗

          因为在进行通信的时候,数据是通过MAC地址与IP地址的对应关系来进行转发的。若其中MAC地址与IP地址对应的关系出错,就会导致数据错误转发,影响正常通信。通过某种手段,来更改MAC与IP地址的对应关系,导致电脑无法正常上网,这就是 ARP欺骗 。 ARP欺骗的现象:

    2024年02月05日
    浏览(49)
  • Python ARP缓存投毒(ARP欺骗)

    https://mohen.blog.csdn.net/article/details/100576912 ARP投毒的逻辑:欺骗目标设备,使其相信我们是它的网关;然后欺骗网关,告诉它要发给目标设备的所有流量必须交给我们转发。网络上的每一台设备,都维护着一段ARP缓存,里面记录着最近一段时间本地网络上的MAC地址和IP地址的对

    2024年02月15日
    浏览(42)
  • ARP伪造使用抓包工具进行ARP欺骗arp伪造攻击

    ARP(英文全写:Address Resolution Protocol),翻译成中文的意思是“地址解析协议”。 在局域网中,网络以“帧”的形式传输数据,一个主机要和另一个主机进行直接通信,就必须要知道目标主机的MAC地址。显然,在双方通信之初,发送方是无法知道目标主机的MAC地址的。那么,

    2023年04月17日
    浏览(52)
  • arp欺骗(http)与dns欺骗

    win7:    ip:192.168.127.147    mac:00-0C-29-4F-1C-36 kali:    ip:192.168.127.133    mac:00:0c:29:4c:4d:92 arp -a  获取网关 网关:ip:192.168.127.0     mac:00-0c-29-4c-4d-92 fping -g 192.168.127.0/24 192.168.127.133 is alive 192.168.127.147 is alive 安装dsniff 更改sources.list源,apt-get update 更新数据源列表   更改网关

    2024年02月07日
    浏览(37)
  • ARP欺骗

    目录 一、ARP协议 二、ARP欺骗的原理  三、实验环境 四、实验步骤 一、ARP协议 每一个主机都有一个ARP高速缓存,此缓存中记录了最近一段时间内其它IP地址与其MAC地址的对应关系。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则

    2024年02月01日
    浏览(46)
  • 什么是ARP欺骗

    ARP欺骗的本质是把虚假的IP-MAC映射关系通过ARP报文发给主机,让主机把虚假的IP-MAC映射存入ARP缓存表(可能是IP地址错误,也可能是MAC地址错误),让其无法正确发送数据 ARP协议是无连接 操作系统收到ARP请求或响应后无法确认senderMAC和senderIP真假 攻击者B伪造ARP报文(senderI

    2023年04月08日
    浏览(41)
  • 攻击实施 | ARP欺骗攻击实验

    1、确定两台主机在一个子网中,具有相同IP的前缀 win10(192.168.112.131)(00-0c-29-d6-f8-97) kali(192.168.112.128)(00:0c:29:3b:63:2a) 2、测试两者连通性 可以ping通 3、安装arp欺骗工具 4、开启kali的路由转发   5、实施攻击 6、安装driftnet工具对win 10主机访问外网流量捕获图像并显示

    2024年02月08日
    浏览(51)
  • 通讯工程——ARP欺骗+泛洪攻击

    目录: 1.补充完整通信过程 2.分析ARP报文中携带的内容 思考广播报文会带来哪些安全问题 PC1与PC2进行通信 1.PC1先查找自身的ARP表项,看是否存在对端IP对应的MAC地址 如果存在则直接封装,如果不存在则需要发起ARP request报文进行解析 2.交换机收到ARP request报文,先根据SMAC学习

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包