ICMP基础知识

  1、ICMP(Internet Control Message Protocol):Internet控制报文协议。它传递差错报文以及其它需要注意的信息。

  2、应用场景:

  1)Ping程序。Ping的目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。

  2)ICMP端口不可达错误。如图,向本机61535端口发送一个UDP数据报(对应下图tcpdump捕获到的第一个数据包),但该端口没有进程在监听,因此:

  

  系统会增加/proc/net/snmp文件的UDP NoPorts计数器,并给源主机返回一个ICMP端口不可达报文。

  

  观察tcpdump捕获到的第二个数据包(ICMP报文):

  它没有源和目的端口;第一个包的IP首部+IP数据(图中1)作为第二个包的ICMP报文数据部分(图中2)。ICMP端口不可达报文的类型字段和代码字段均为3(0303),首部共8个字节(分别为1字节类型字段+1字节代码字段+2字节检验和+4字节未用字段)。

  另外,由于TCP/UDP/ICMP/IGMP都要向IP传送数据(即ICMP封装在IP数据报内部),因此IP在首部中存入8bit的协议域,1/2/6/17分别表示ICMP/IGMP/TCP/UDP。这可以从第二个包4001中的01这一字节中得到验证。

 

 

  参考资料:

  《TCP/IP详解 卷1:协议》

 

 

 

不断学习中。。。

转载于:https://www.cnblogs.com/hanerfan/p/4190836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值