博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ICMP协议
阅读量:7079 次
发布时间:2019-06-28

本文共 855 字,大约阅读时间需要 2 分钟。

1. ICMP消息类型和编码类型

ICMP协议


2. ICMP应用-ping

ICMP协议

<br/>
2.1、-a 指定源IP地址ping目标IP地址
ICMP协议
<br/>
2.2、-c指定ping请求包的个数,默认是5个
ICMP协议

3.ICMP应用-Tracert

Tracert的工作原理:Tracert使用IP包的TTL值和ICMP错误消息来判断主机达到目标地址中间经过的路由个数;

首先,Tracert发送一个UDP包的端口大于30000,TLL值为1,一次性发送3个包,因为UDP是不可靠的,所以发送3个包保证传输的可靠性,只要有一个包达到目标即可;
在路径上的第一个路由器收到包之后,TTL值减1,此时TTL值为0,路由器就会丢弃数据包,返回一个ICMP Replay包(包括发送方路由器的IP地址等);
Tracert收到ICMP Replay包之后,知道下一跳的IP地址是存在;
Tracert第二次发送一个和第一个数据包端口一样的,TTL值位2,当路径上第二台路由器收到数据包之后,TTL值减1,此时TTL值为0(每经过一个路由器,TTL值减1),这个重复的动作持续到数据包达到目的地;
当目的地收到这个数据包时,发现自己并没有这个端口号,就会返回一个端口不可达的ICMP Replay包,此时,tracert就知道到达目的地了。
1、默认已经配好IP地址 and 路由
ICMP协议
选中R2的Ethernet0/0/0端口进行抓包
2、在R1路由器 tracert 路由器R5的IP地址 1.1.4.2
ICMP协议
3、R1访问R5的端口30005,TTL值为1
ICMP协议
4、当R2路由器收到R1发送的数据包之后,发现TTL值为1,因转发一台路由器,TTL值减1,那么R2发现TTL值为0就不会再继续转发数据包,就会告诉R1,TTL值已超出,此时R1也就知道了他的下一跳的IP地址是1.1.1.2
ICMP协议
5、当数据包达到目的地后,R5发现没有30005这个端口,就告诉R1端口不可达。
ICMP协议

转载于:https://blog.51cto.com/158573116/2406343

你可能感兴趣的文章
wordpress模板各文件函数解析
查看>>
Silverlight+WCF 新手实例 象棋 棋子移动-吃子(五)
查看>>
利用for循环插入多条数据
查看>>
[Cocoa]深入浅出 Cocoa 之 Core Data(4)- 使用绑定
查看>>
清除浮动的方法
查看>>
UniversalImageLoader处理图片错乱
查看>>
Oracle数据完整性和锁机制
查看>>
oracle调用返回游标的存储过程
查看>>
jquery笔记 的高级选择器
查看>>
PHP configure --help说明
查看>>
pkg-config用法
查看>>
Android手机新功能将支持视频聊天和面部识别
查看>>
javaScript遮罩
查看>>
选择网店软件二次开发的公司需谨慎 源代码“暗门”
查看>>
《Python网络编程基础》学习笔记
查看>>
Oracle二三事之 数据迁移注意事项
查看>>
Elasticsearch嵌套聚合
查看>>
PHP无限分类树算法相关
查看>>
Tomcat的java.lang.OutOfMemoryError与java.lang.OutOfM
查看>>
oracle sql中的“+”加号 以及实现将两个字段的值合并更新至另一字段的sql
查看>>