第7讲 | ICMP与ping:投石问路的侦察兵

244 阅读1分钟

ICMP 

  • 什么是ICMP:

    • Internet Control Message Protocol 互联网控制报文协议 用于监察网络情况
    • 封装在IP包里
  • 报文类型

    • 查询报文类型:主动请求,获取主动应答的ICMP协议

      • 例如:ping

      • 标识符

        • 请求:ICMP ECHO REQUEST
        • 回复:ICMP ECHO REPLY\
      • 序号

    • 差错报文类型:异常情况

      • 例如:终点不可达为 3,源抑制为 4,超时为 11,重定向为 5

      • 终点不可达:目的地不通

      • 源站抑制:源站放慢速度\

      • 时间超时:超时\

      • 路由重定向:转发给别的路由器

\

ping

  • 过程:

    • 源主机构建ICMP 请求数据包(类型字段+顺序号(目的:可以计算往返时间))\

    • 构建IP包

    • 加入mac头(ARP缓存+ARP查询)

    • 主机B检查MAC地址,IP地址,并返回类型=0+顺序号发送给主机A

  • 通过 tcpdump -i eth0 icmp,查看包有没有到达某个点,回复的包到达了哪个点,可以更加容易推断出错的位置\

Traceroute

  • 差错报文

  • 作用:

    • 1.故意设置特殊的 TTL,来追踪去往目的地时沿途经过的路由器
    • 2.故意设置不分片,从而确定路径的 MTU

总结

  • ICMP 相当于网络世界的侦察兵\

  • ping 使用查询报文,Traceroute 使用差错报文\

\