一、计算机通信过程

1.1

如下图,是数据的封装层次结构。
在网络层,数据的首部会添加IP地址,组合后的数据格式称为数据报。
在链路层,数据报的首部会添加 mac地址,组合后的数据格式称为数据帧。

1.2

如下图,是两台计算机通信的过程。
数据段、源IP和目标IP确定之后,接下来是确定源和目标MAC地址。

过程1:在该网段内,目标IP与源IP不是同一网段,所以该数据帧会发送给路由器,由路由器负责转发。 此时目标MAC地址应该指明交换机将数据帧发送给路由器,所以目标MAC 地址是M2地址。

过程2:在该网段内,路由器判断出目标IP的网段,之后从源MAC地址M3发出,送到目标MAC地址M4。

过程2:在该网段内,路由器判断出目标IP的网段,在本网段之后。因此直接找到目标IP的MAC地址。所以从源MAC地址M5发出,送到目标MAC地址M6。


总结:
1、交换机只能在本网段之内转发数据,只能根据MAC地址,将数据从一台机器送到其他机器上。
2、路由器负责网段之间的数据转发,根据目标IP地址的网段,选择合适的转发口(MAC口)。
3、交换机基于数据帧的MAC地址转发数据帧,路由器基于数据包的IP地址转发数据包。
4、MAC地址决定了数据帧下一跳哪个设备接收,而IP地址决定了数据包的起点和终点。

二、ARP协议与ARP欺骗

2.1 概念

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的**主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。**ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

2.2 ARP协议图示

因此,ARP协议就是,根据IP地址,获取硬件MAC地址的协议。


2.3 Win10下查看arp的命令

C:\Users\MIIX4>arp -a接口: 192.168.203.1 --- 0x4Internet 地址         物理地址              类型192.168.203.254       00-50-56-ff-3f-34     动态192.168.203.255       ff-ff-ff-ff-ff-ff     静态224.0.0.2             01-00-5e-00-00-02     静态224.0.0.22            01-00-5e-00-00-16     静态........
C:\Users\MIIX4>

2.4 ARP欺骗图例


如上图所示,
A 设备的IP地址为 192.168.80.20,MAC地址为 MA
B 设备的IP地址为 192.168.80.10,MAC地址为 MB
C 设备的IP地址为 192.168.80.30,MAC地址为 MC
R1 交换机的IP地址为 192.168.80.1,MAC地址为 MD

1)A设备想要访问互联网,首先要获取网关的MAC地址,通过发送广播询问 “我是设备 192.168.80.20 ,网关 192.168.80.1的MAC地址是多少?”;
2)网关 192.168.80.1接收到广播,就会将自己的MAC地址 MD,通过 IP 192.168.80.20返回给A设备;
3)A设备就可以通过网关MAC地址 MD,进行转发数据,访问互联网了;
4)B设备上装了软件“网络执法官”,这时A设备再次询问: “我是设备 192.168.80.20 ,网关 192.168.80.1的MAC地址是多少?” 的时候,B设备也会告诉 A设备,“网关 192.168.80.1的MAC地址是 MX.”,于是 A设备就会记录:网关的MAC地址是 MX
5)此时,A设备想要访问互联网的时候,交换机通过数据包MAC地址MX,发现没有设备的MAC地址是MX,就会将A设备的数据包丢弃。此时 A设备就无法访问互联网了。

注:想要防止 ARP欺骗,要同时将设备和路由器的【MAC地址,IP地址】对设置正确。如:

在Windows A设备上绑定网关的 mac地址和IP地址防止 ARP 欺骗
arp -s 192.168.80.1    00-0c-29-06-39-52  # 网关的 MAC 地址在路由器上绑定A设备的 mac地址和IP地址防止 ARP 欺骗
arp  192.168.80.20    000c.296d.b2d7  arpa  # A设备的 MAC 地址

计算机通信过程详解 与 arp欺骗相关推荐

  1. 网络-ARP协议详解与ARP欺骗(中毒)攻击实战

    目录 简介 ARP报文 ARP流程 四种情况 ARP请求 ARP响应 ARP攻击原理 实战 ARP欺骗 环境 查看arp表 更新攻击机软件 使用ettercap进行攻击 查看劫持到的图片 ARP攻击防 ...

  2. https攻击工具详解(arp欺骗、中间人攻击)(openssl+sslscan+sslsplit )

    https攻击(openssl+sslscan+SSLsolit) openssl openssl伪造证书 sslscan.sysctl.arpspoof 中间人攻击.arp欺骗工具 arp欺骗过程 ...

  3. ARP协议详解(3)--arp欺骗

    不知道为什么今天翻看csdn草稿箱发现在大一下写过这个没有发出来,也不知道为什么,忘了 文章目录 实验环境 实践 讲了那么理论知识,现在让我们来实践一下吧 实验环境 kali(欺骗方)–192.168 ...

  4. 应用请求web服务器的过程详解

    我们在做渗透测试时,需要知道互联网中是如何处理客户端与服务器端之间的请求的.本文转载一篇文章详解介绍了一次web请求过程的处理. 我们要了解一下Internet中一台计算机访问Web服务器的全部过程, ...

  5. ARP协议详解之ARP动态与静态条目的生命周期

    ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q  每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...

  6. HTTP访问一个网站的过程详解

    访问一个网站的过程详解 例如访问:http://www.baidu.com HTTP请求的准备 浏览器会将www.baidu.com这个域名发送给DNS服务器,让它解析成IP地址.由于HTTP是基于T ...

  7. OpenVZ虚拟机安装过程详解

    转自:OpenVZ虚拟机安装过程详解 鼎鼎大名的 OpenVZ 谁不知道?在主机行业被使用(滥用)很多年,依然在茁壮发展.作为一种操作系统级别的虚拟化技术,运行 OpenVZ 没有硬性的硬件要求.Op ...

  8. Hands-On Hyperledger Fabric——Byzantine-fault tolerant(BFT)过程详解

    文章目录 拜占庭问题描述 分布式架构遭遇的问题 Practical Byzantine Fault Tolerance(PBFT) PBFT过程详解 拜占庭问题描述 拜占庭将军问题是分布式计算中的一个 ...

  9. hadoop作业初始化过程详解(源码分析第三篇)

    (一)概述 我们在上一篇blog已经详细的分析了一个作业从用户输入提交命令到到达JobTracker之前的各个过程.在作业到达JobTracker之后初始化之前,JobTracker会通过submit ...

最新文章

  1. 全球缺芯的后果来了——网站推广之下小米宣布部分电视产品型号要涨价!
  2. 项目: 实时钟表(C语言)
  3. jquery点击缩略图切换视频播放的视频切换焦点图效果
  4. zigbee cc2530 adc转换
  5. scala中处理json数据
  6. JVM003_属性表
  7. mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)
  8. .axf文件_ELF文件格式与readelf命令使用
  9. 大数据分析入门小技巧
  10. 海思3559a资料目录整理
  11. linux基础篇读书笔记
  12. 关于农历闰月年份的口诀
  13. 有氧运动存在哪些误区
  14. 这部纪录片带你重新认识中华神州大地,领略你不知道的中国
  15. HTTP(9):新增功能协议
  16. Spring面向切面编程-AOP详解
  17. 安徽大学电气工程及自动化学院本科实验报告(MATLAB)——六、七章
  18. Vue.js入门(学习笔记)
  19. 如何解决Myeclipse不能自动编译
  20. linux本地dns文件,Linux本地dns配置文件详解

热门文章

  1. [AS日记]MacOS的Android Studio卡在Building Gradle Project info走不动 的处理方法
  2. mac版源码编译安装mysql
  3. 软件项目管理实践经验谈
  4. 1-乙基-3-甲基咪唑醋酸盐([EMIM][Ac]);甲基三辛基醋酸铵[N(1,8,8,8)][Ac]齐岳离子液体
  5. GitLab允许开发人员推送到master分支
  6. scale-free
  7. 电脑html动态桌面壁纸制作,电脑如何制作动态壁纸_电脑上怎么搞动态壁纸-win7之家...
  8. 完整的十字架(漫画)
  9. C++笔记——第十篇 继承 的解析,详细易懂哦
  10. 网上问政有用吗?如何能更快得到回复?