zoukankan      html  css  js  c++  java
  • ping命令和traceroute命令

    ping命令和traceroute命令

    ping命令和traceroute命令是ICMP的排错工具。

    ping

    ping命令的功能是检测某个主机是否能够响应。ping命令用到的是ICMP分组。源主机发送一个ICMP回送请求报文,如果目标主机能够响应,就会返回一个ICMP回送回答报文。ping在回送请求和回送回答报文中设置了标识符字段。每发送一个新的报文序号就会增加。ping命令还可以用来计算往返的时间。ping发送序号从0开始的报文,对于每一次的探测,都给出一个往返时间RTT。

    ping本机ip地址

    ping baidu.com

    traceroute

    traceroute是用来跟踪过一个分组从源点到终点的路径。这里利用了ICMP的超时报文和终点不可达报文来找出一个分组的路由。基于UDP的服务。

    首先,源主机会向重点发送一个TTL=1的分组,然后路由器R1收到后,TTL的值减为0,路由器就丢弃这个分组,并且返回一个超时ICMP报文,计下发送分组的时间。

    然后源主机的收到这个ICMP报文后,利用ICMP的分组源地址来找出路由器R1的地址,计下分组的到达时间,求出时间差即为往返时间。

    然后源主机再发送一个TTL=2的分组,这里R1会转发这个报文,但是R2会丢弃并且返回一个超时ICMP报文。这样就可以找到R2的地址,并且获得往返时间。

    每次源主机都发送一个TTL+1的分组,直到最终跟踪到目标。

    在分组到达最后的终点时候,不会被丢弃,那么如何返回一个ICMP报文呢?这里就用到了终点不可达报文了,traceroute把目标的UDP端口设置成一个不支持的端口,那么在分组到达的时候就会返回一个ICMP终点不可达报文。

     

  • 相关阅读:
    Python记录12:迭代器+生成器+生成式
    Python记录11:叠加多个装饰器+有参装饰器
    Python记录10:模块
    Day7
    Day7
    Day7
    Day7
    Day7
    Day7
    Day7
  • 原文地址:https://www.cnblogs.com/raoxinyue/p/11945837.html
Copyright © 2011-2022 走看看