zoukankan      html  css  js  c++  java
  • 学习:ICMP协议

    ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议,属于网络层协议。

    ICMP作为IP的上层协议在工作,如下图可以看出来

    默认ping 发4个请求报文,接收到4个应答报文,总共8条

    ICMP报文结构:

    前14个字节为以太网帧头
    
    后20个字节为IP帧头
    
    然后就是ICMP信息头,再后面就是ICMP数据
    

    如下图所示

    ICMP信息头和ICMP数据如下:

    请求包:

    响应包:

    关于 Time to live(生存时间):

    标识IP数据包还能生存多久,根据操作系统不同,TTL默认值不同,每次经过一个三层设备如路由器,TTL就会减一,当TTL为0的时候,还是没有传送到目的主机,那么就自动丢弃该数据包。

    如ping ubuntu系统,结果如下:

    默认情况下:
    Linux系统的TTL值为64或255
    Windows NT/2000/XP系统的TTL值为128
    Windows 98系统的TTL值为32
    UNIX主机的TTL值为255

    那么可以初步判断为对方系统linux,并且在网络传输中经过了13个路由,也不一定准确,可能目标是windows经过75个路由,同样是51

    tracert跟踪路由命令tracert baidu.com

    tracert原理:

    对于第一个路由,IP协议的TTL字段属性设置为1,到第一个路由-1=0就回来了,因此获取到了第一跳路由信息。

    对于第二个路由,TTL = 2,到第二个路由器TTL减到0,转发信息回主机获取。

    对于第三个路由,TTL = 3,以此类推。

  • 相关阅读:
    print 带颜色打印
    bootstrap-duallistbox使用
    Linux 查看和更改系统字符集
    nginx 不重装实现动态添加模块
    ubuntu 安装openssh-server出现依赖关系解决
    linux安装和使用zookeeper
    网页背景蜘蛛丝特效
    RabbitMQ与SpringBoot整合
    Redis常用命令
    设计模式(Design Patterns)
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/12288537.html
Copyright © 2011-2022 走看看