TCP/IP程序工具

ping 程序

  • 发送 ICMP 回显请求报文给目的主机,并等待返回 ICMP 回显应答报文.以此来判断目的主机是否可达.

  • Ping 程序将把 ICMP 回显请求报文中的标识符字段置成发送进程的 PID 值.而序列号从 1 开始,每发送一次新的回显请求就加 1. 

  • Ping 程序通过在 ICMP 回显请求报文数据中存放发送请求时的时间值来计算往返时间,Ping 程序在收到 ICMP 回显应答时,会用当前时间减去存放在 ICMP 报文中的时间值,即是往返时间.

选项

  • -n 仅使用数字形式的 IP 地址,即不试图通过 DNS 来查询 IP 地址对应的域名,此时可以大大减少时间.

-T

  • 设置 IP 数据包中的 Time Stamp 选项,

  • 语法为: -T option,其中 option 用于指定 Time Stamp 选项标志字段的值,可取: tsonly(标志字段取 0),tsandaddr(标志字段取 1),tsprespec host1 [host2 [host3 [host4]]](标志字段取 3).

  • 当取 tsonly 时,ping 会首先将 IP 数据包从本机发出时的 timestamp 复制到清单中,同时更新 ptr 字段的取值.

  • 当取 tsandaddr 时,ping 会首先将 IP 数据包从本机发出时,本机出口 IP 地址与 timestamp 复制到清单中,同时更新 ptr 字段的值.

-R

  • 记录路由,此时会在 IP 首部启用 RR 选项.如下:

200458_NIVs_1383479.jpeg

A$ ping -R E
PING E 56 bytes of data.
64 bytes from E
    A2
    B2
    C2
    D2
    E1
    D1
    C1
    B1
64 bytes from E
64 bytes from E

  • 具体过程:

  1. A 构建 ICMP 回显请求报文;构建 IP 数据包,启用 RR 选项,并且首先将出口地址(A2)填充到 IP RR 选项中.

  2. ... 期间每一个路由器都将出口地址(B2,C2,D2)填充到 IP RR 选项中;

  3. 到达 E 点(此时并未将 E 的入口地址填充 IP RR 选项中);构建 ICMP 回显应答报文;构建 IP 数据包,启用 RR 选项,并且将接收到的 ICMP 回显请求中的 RR 选项清单(即 A2,B2,C2,D2)与自身出口地址(E1)复制到 IP RR 选项中.

  4. ... 期间每一个路由器都将出口地址(D1,C1,B1)填充到 IP RR 选项中;

  5. 到达 A 点,Ok

traceroute

  • 可以用来显示数据包在 IP 网络经过的路由器的 IP 地址.通过 TTL 与 ICMP 超时报文来实现,如:

$ traceroute www.oschina.net -n # -n 使用数字的 IP 地址.
traceroute to www.oschina.net (121.9.213.124), 30 hops max(最大 TTL 值), 60 byte packets
 1  10.201.1.254  2.020 ms  2.537 ms  3.361 ms
# TTL 为 1.到达路由器 10.201.1.254,RTT=(2.020+2.537+3.361)/3.
# 即此时会发送三个 TTL 为1的 UDP 报文.若此时路由选择不一致,则会令起一行,一种可能的情况为:
# 1 10.201.1.254 2.020 ms 2.537 ms
# 1 10.201.1.28  3.361 ms 表明此次路由与前 2 次不同.
 2  10.1.1.1  0.693 ms  0.670 ms  0.627 ms
 3  112.2.23.145  0.860 ms  0.856 ms  0.834 ms
 4  183.213.2.9  0.825 ms  0.810 ms  1.388 ms
 5  221.181.246.9  4.865 ms  4.843 ms  4.798 ms
 6  112.4.9.33  2.795 ms  3.231 ms  3.222 ms
 7  221.183.14.33  4.981 ms  4.349 ms  4.334 ms
 8  221.183.10.154  4.319 ms  22.678 ms  4.287 ms
 9  221.176.15.1  28.006 ms  26.623 ms  27.019 ms
10  221.176.15.82  25.724 ms  28.535 ms  26.420 ms
11  221.176.23.54  25.484 ms 202.97.15.189  28.805 ms 221.176.23.54  29.289 ms
12  202.97.57.189  52.467 ms  52.411 ms  48.384 ms
13  202.97.56.18  52.100 ms  52.039 ms  55.144 ms
14  183.59.14.45  48.972 ms  49.577 ms  52.114 ms
15  * * *
# TTL=15,在发送报文后,若一定时间内没有收到 ICMP 超时报文/ICMP 端口不可达报文,则打印一个星号.
16  113.98.159.150  120.599 ms  118.905 ms  117.003 ms
17  61.145.72.154  51.843 ms  56.042 ms  55.834 ms
18  121.9.213.124  51.839 ms  51.581 ms  51.010 ms

route

  • 用来显示内核 IP 路由表.IP 层根据该路由表进行选路.

$ route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         10.201.1.254    0.0.0.0         UG    0      0        0 eth0
10.201.1.0      0.0.0.0         255.255.255.0   U     1      0        0 eth0

  • 标志字段的意义.

    • U 表示该路由条目可以使用.

    • G 表示该路由条目是一个间接路由,即目的主机/目的网络与当前主机不再同一个物理网络,此时需要路由器进行转发,路由器的地址由网关指定.若没有 G 选项,则表明该路由条目是一个直接路由.即目的主机/网络与当前主机在同一个物理网络中.

    • H 表示目标是一个主机 IP,即该路由条目用于路由到主机;否则表明目标是一个网络,该路由条目用于路由到网络.

    • D 该路由条目是由重定向报文创建的

    • M 该路由已被重定向报文修改





转载于:https://my.oschina.net/u/1383479/blog/284184

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值