网络协议攻击与模拟_02ARP协议

一、arp协议简介

 一个工作在二层的三层协议,事一个2.5层协议

ARP协议地址解析协议,将一个已知的Ip地址解析为MAC地址,从而进行二层数据交互

二、工作流程

1、两个阶段

  • ARP请求
  • ARP响应
    两台主机IP地址主机A和主机B,IP地址和MAC地址如图所示:主机A发送数据给主机B会先发送给ARP请求报文给主机B,主机B收到请求后会给主机A发送响应即ARP响应。

    主机A发送数据给主机B,首先要知道主机B的IP地址,主机A在数据封装的时候会进行三层封装和二层封装,三层封装会将源IP和目的IP封装进去,二层封装会将源MAC地址和目的MAC地址封装进去,主机A初始不知道目的MAC地址,是以广播的MAC地址00-00,以广播的方式发送请求。响应的时候是单播。
  • ARP请求很简单就是一个请求一个响应,由于很简单所以会造成不安全的因素,就比如你广播发送出去数据,中间有个人冒充主机B及性能响应就会造成ARP欺骗。

2、实验

ARP请请求和响应的过程

主机A(192.168.2.12)和主机B(192.168.2.16)

  • 打开主机B的winshark,并在主机A上ping主机B(192.168.2.16)

ARP报文:一个是ARP请求报文一个是ARP响应报文

(1)ARP请求报文

 显示出来目标的MAC地址是一个广播地址,源MAC地址是主机A(192.168.2.12)、Type类型是0x0806

整体的ARP请求里面的在整体内容,这里有源MAC地址和目标MAC地址,因为目标MAC地址它不知道所以用全零来填充。上面的destination是broadcast广播。

(2)ARP响应报文

主机B(192.168.2.16)收到之后会进行响应

ARP请求里面源MAC是自己,目的MAC是对方。

3、ARP协议报文

(1)ARP报文格式

  • 以太网的数据帧格式是这样的
    目的MC、接着是源MAC,帧的类型,中间是网络层的数据包,后面是帧校验
  • 对比ICMP报文,可以看到数据链路层下来是网络层,但是ARP协议是二层之后就到了ARP协议,没有网络层。
    目的MC、接着是源MAC,帧的类型,中间是ARP的数据包,后面是帧校验

(2)ARP数据帧

  • ARP报文数据帧格式:
    • 硬件类型
    • 协议类型
    • 硬件地址长度
    • 协议地址长度
    • Opcode操作类型标识报文时请求报文还是响应报文,1代表请求 2代表响应
    • 发送方MAC地址
    • 发送方IP地址 
    • 接收方的MAC地址 
    • 接收方的IP地址

4、ARP缓存

主要目的是为了避免去重复发送ARP请求 

(1)windows的ARP命令

重新抓取流量就不会有ARP请求和响应的报文了,因为主机中存在了ARP缓存

  • 使用arp -a命令可以查看arp缓存

  • arp -d清空缓存

下一次访问会重新发送ARP请求。通过请求和响应的出来的是动态学习到的

  • 使用arp -s命令可以静态绑定

(2)思科设备GNS3

c3600设备三台,改变图标为两台主机一台交换机

  • PC1 ping PC2、关闭交换机路由功能
R2#
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#no ip routing
R2(config)#int  f0/0
R2(config-if)#ip add 192.168.2.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#hostname PC1
PC2(config)#
R3#
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#no ip routing
R3(config)#int f0/0
R3(config-if)#ip add 192.168.2.2 255.255.255.0
R3(config-if)#no shut
R3(config-if)#
*Mar  1 00:03:54.163: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:03:55.163: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R3(config-if)#hostname PC2
PC2(config)#
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#hostname SW
SW(config)#
SW(config)#no ip routing
SW(config)#
  • PC1pingPC2

  • show arp

  • clear arp

  • 永久绑定(直接绑定的还没有通信) 

  • 清除静态绑定的

  • 静态绑定虚假MAC地址成功
    ping 不通目标主机,给虚假的MAC地址发信息目标主机收不到。

  • 引出安全性因素

主机C想主机A响应虚假MAC地址,主机A学习到了主机C响应的虚假的MAC地址,主机A就会想虚假的MAC地址发信息,主机A无法通信,这就是ARP攻击。

场景:主机C响应给主机A自己的MAC地址,造成主机A误认为主机C是主机B,当主机A给主机B发送消息的时候就会发送给主机C。主机C截获主机A发给主机B的数据,这就是ARP欺骗。

三、ARP攻击和ARP欺骗

1、ARP攻击

伪造ARP应答向被攻击主机和网关响应虚假的MAC地址

当被攻击主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击主机无法访问网络。

示例:

主机A发送arp请求在整个网络中进行广播,当主机收到ARP请求会进行响应,此时发送方主机就学习到目的主机的MAC地址。若主机C伪造ARP应答,向被攻击主机响应虚假的MAC地址就实施了ARP攻击。

当被攻击主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击主机无法访问网络。

主机A访问公网,首先会向网络中发送ARP请求,主机B主机C和路由器都能够收到ARP请求,正常的当路由器收到主机A数据发现主机A请求得路由器得IP地址会进行响应,如果此时主机C(攻击主机)向主机A响应虚假得MAC地址,造成主机无法进行网络通信。

2、 ARP欺骗

(1)欺骗网关

  • 伪造ARP应答,向被攻击主机和网关响应真实的MAC地址
  • 当被攻击主机进行网络通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据。这时被攻击主机时可以进行网络通信的。

主机A访问互联网会将数据交给自己的出口路由器,攻击主机C向主机A发送ARP应答,响应自己的MAC地址给主机A,主机A访问公网的时候就会将数据给到主机C,还要在攻击主机上开启ARP转发的功能,主机C向出口路由器发送ARP应答,告诉出口路由器主机A的MAC地址时主机C自己的MAC地址从而实现数据监听。

(2)欺骗主机

  • 伪造ARP应答向被攻击主机和网关响应真实的MAC地址
  • 当被攻击主机进行主机通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据。

主机A发送数据给主机B,主机C向主机A发送应答,主机C向主机发应答

3、避免ARP攻击/欺骗

  • ARP防火墙
  • 主机上进行ARP静态绑定(设备基本都有此功能)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338195.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vivado 工程管理

管理项目 打开项目 当项目打开时,Vivado IDE会从项目已关闭。项目状态包括当前源文件顺序、已禁用和已启用 源文件、活动约束文件和目标约束文件,以及合成、模拟和实现运行。要打开项目,请使用以下方法之一: •在“入门”页面…

C++ 多态以及多态的原理

文章目录 多态的概念多态的构成条件虚函数的重写虚函数重写的两个例外 重载、重写(覆盖)、重定义(隐藏)对比C11 final 和 override关键字抽象类接口继承和普通继承多态的原理虚函数表多态的原理 单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表 多态的概念 …

LJ3405-红外热释电处理芯片

描述: LJ3405 是一款专为热释电红外传感器信号放大及处理输出的数模混合专用芯片,内部集成了运算放大器、 双门限电压比较器、参考电压源、延时时间定时器和封 锁时间定时器及状态控制器等,专用于防盗报警系统、 人体门控制装置、照明控制开关…

Word2Vec的CBOW模型

Word2Vec中的CBOW(Continuous Bag of Words)模型是一种用于学习词向量的神经网络模型。CBOW的核心思想是根据上下文中的周围单词来预测目标单词。 例如,对于句子“The cat climbed up the tree”,如果窗口大小为5,那么…

[机缘参悟-122] :IT人如何认识自己的?自省、面试、考核、咨询?

目录 一、为什么要认识自己 二、认识自己的哪些方面? 三、如何认识自己 3.1 通过自省认识自己 3.2 通过面试认识自己 3.3 通过咨询认识自己 3.4 通过相亲认识自己 3.5 通过一段感情关系认识自己 一、为什么要认识自己 认识自己在人类的成长和心灵发展过程中…

光纤知识总结

1光纤概念: 光导纤维(英语:Optical fiber),简称光纤,是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具。 微细的光纤封装在塑料护套中,使得它能够…

CSND修改付费专栏价格

人工客服在个人中心右下角可以找到 客服回复已订阅专栏不支持修改价格

【ECShop电子商务系统__软件测试作业】ECSHOP系统搭建文档+接口测试用例+接口文档+接口测试脚本

一、选题题目可选《ECShop电子商务系统》、《EPShop电子商城系统》或者自选其它的开源系统(至少有十个以上的功能模块的系统,不得选功能少、简单的系统)。 软件测试作业 说明:接口测试相关资料 二、具体要求 1、搭建测试系统并写出搭建被测系统的全过程。 2、根…

Nginx介绍与安装

目录 nginx服务 1、Nginx 介绍 2、为什么选择 nginx 3、IO多路复用 1、I/O multiplexing【多并发】 2、一个请求到来了,nginx使用epoll接收请求的过程是怎样的? 3、异步,非阻塞 4、nginx 的内部技术架构 5、yum安装部署nginx和配置管理 1.获取…

Kafka集群部署 (KRaft模式集群)

KRaft 模式是 Kafka 在 3.0 版本中引入的新模式。KRaft 模式使用了 Raft 共识算法来管理 Kafka 集群元数据。Raft 算法是一种分布式共识算法,具有高可用性、可扩展性和安全性等优势。 在 KRaft 模式下,Kafka 集群中的每个 Broker 都具有和 Zookeeper 类…

Redis命令总结

1、启动Redis服务,登录Redis # 开启redis服务 redis-server redis配置文件路径例子: redis-server redis.windows.conf# 连接redis 【无密码】 redis-cli# 连接redis【有密码】 # 1 先连接再输入密码 redis-cli auth 密码 2、连接时输入 IP址、端口号、…

仿蓝奏云网盘 /file/list SQL注入漏洞复现

0x01 产品简介 仿蓝奏网盘是一种类似于百度网盘的文件存储和共享解决方案。它为用户提供了一个便捷的平台,可以上传、存储和分享各种类型的文件,方便用户在不同设备之间进行文件传输和访问。 0x02 漏洞概述 仿蓝奏云网盘 /file/list接口处存在SQL注入漏洞,登录后台的攻击…