|
|
51CTO旗下网站
|
|
移动端

ICMP/ARP协议解析及ARP欺骗

ICMP是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

作者:小小网络人来源:今日头条|2019-10-31 08:43

ICMP

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP协议的功能只要有:

  • 确认IP包是否到达目标地址
  • 通知在发送过程中IP包被丢弃的原因

ICMP的报文分为两类,一类是ICMP询问报文;一类是ICMP差错报告报文

ICMP/ARP协议解析及ARP欺骗

常见ICMP类型

不发送ICMP差错报文的情况:

  • 对于第一个ip分片后的所有ip分片报文不发送ICMP差错报文
  • 对具有组播地址的数据报不发送ICMP报文
  • 对具有特殊地址(127.0.0.0或0.0.0.0)不发送ICMP差错报文

ICMP 协议多应用在 ping 和 tracert 命令:

  • ping 命令使用 ICMP 回送请求和应答报文:在网络可达性测试中使用的分组网间探测命令 ping 能产生 ICMP 回送请求和应答报文。目的主机收到 ICMP 回送请求报文后立刻回送应答报文,若源主机能收到 ICMP 回送应答报文,则说明到达该主机的网络正常。
  • 路由分析诊断 tracert 使用了 ICMP时间超过报文:tracert 命令主要用来显示数据包到达目的主机所经过的路径。通过执行一个 tracert 到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。

举个例子:

ICMP/ARP协议解析及ARP欺骗

ICMP Destination Unreachalbe

看下回送请求和回送应答的报文

ICMP/ARP协议解析及ARP欺骗

icmp request

ICMP/ARP协议解析及ARP欺骗

icmp reply

ARP协议

地址解析协议(Address Resolution Protocol),只要通过目标设备的IP地址,查询目标设备的MAC地址。

通信过程:

  • 主机A要和主机B进行通信,首先要知道主机B的mac地址,所以会发送ARP广播
  • 其他主机收到后,发现找的不是自己,就会丢弃
  • 主机B拆包后,发现找的是自己,会进行单播回应,并记录在自己的ARP缓存表中

ICMP/ARP协议解析及ARP欺骗

ARP解析

ICMP/ARP协议解析及ARP欺骗

ARP表

代理ARP

代理ARP一般就是通过网关设备,使用自己的 MAC 地址来对另一设备的ARP请求作出应答。

为什么需要代理ARP?

先要了解,路由器的重要功能之一就是隔离广播域,阻止广播包扩散,否则会造成网络风暴。

ARP请求是个广播包,如果目标地址在同一个局域网内,就会收到应答。但是如果目标地址不在同一个局域网,该如何处理?路由器就提供了代理ARP解决这个问题。

ICMP/ARP协议解析及ARP欺骗

代理ARP

两台主机PC1和PC2,PC1发送ARP请求PC2的MAC地址时,由于路由器不转发广播包,ARP请求只能到达路由器。如果路由器启用了代理ARP功能,并知道PC2属于它连接的网络,那么路由器就用自己接口的MAC地址代替PC2的MAC地址来对主机PC1进行ARP应答。

RARP协议

反向地址转换协议(Reverse Address Resolution Protocol)允许局域网的物理机器从网关服务器的ARP表或者缓存上请求其 IP 地址。即:根据其MAC地址寻找IP地址。

ICMP/ARP协议解析及ARP欺骗

RARP

免费ARP

在获取或变更IP地址时,向外发出一个ARP,但请求的目标IP为本地。

一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。正常情况下发送免费ARP请求不会收到ARP应答,如果收到了一个ARP应答,则说明网络中存在与本机相同的IP地址的主机,发生了地址冲突。

ARP欺骗

通过广播向局域网的其他主机广播一个伪造的网关MAC地址和IP地址对应表,局域网其他主机收到这个伪造的信息之后就会更新自己的ARP表。这样,当这些主机向外发送报文时,虽然会根据正确的网关的IP地址发包,但实际上却发送到了一个错误的MAC地址上,导致数据包无法发送出去,从而出现无法上网等情况。

可以通过设置静态的MAC->IP对应表,不再接收广播收到的ARP信息。

【编辑推荐】

  1. ICMP协议两个典型的应用你都会用了吗?
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

384人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

137人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

286人订阅学习

读 书 +更多

嬴在用户:Web人物角色创建和应用实践指南

您如何保证您的网站确实给予用户他们所需要的,并对您产生商业成果?您需要了解谁是您的用户,您的用户的目标、行为和观点是什么,还要把他...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微