icmp时间戳请求和应答程序实现_ICMP/ARP协议解析及ARP欺骗

ICMP

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

ICMP协议的功能只要有:

1. 确认IP包是否到达目标地址

2. 通知在发送过程中IP包被丢弃的原因

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

ICMP常见的报文类型
51ec90e08d7255a15bcdffc97513fd37.png

常见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 到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。

举个例子:

5ea548bbf2dd22343cdd4e83aa0627e2.png

ICMP Destination Unreachalbe

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

06ed6d77040a6d199e48b92bb1c5ca2a.png

icmp request

2e18ff62721d5cb2131bb23562988e0d.png

icmp reply

ARP协议

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

通信过程:

1、主机A要和主机B进行通信,首先要知道主机B的mac地址,所以会发送ARP广播

2、其他主机收到后,发现找的不是自己,就会丢弃

3、主机B拆包后,发现找的是自己,会进行单播回应,并记录在自己的ARP缓存表中

ea179e5aad5c0acb2fe90908981b764f.png

ARP解析

8291a4b6dcb81b47a060f77e10690b32.png

ARP表

代理ARP

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

为什么需要代理ARP?

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

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

f3a226395a060b979375a59ff7f53849.png

代理ARP

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

RARP协议

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

276891e94472c1585fe7f66b71133de3.png

RARP

免费ARP

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

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

ARP欺骗

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值