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终点不可达报文。

     

  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/raoxinyue/p/11945837.html
Copyright © 2011-2022 走看看