linux中一些比较大的常用的命令
traceroute 路由追踪
traceroute可以追踪网络数据包,并展现路由途径
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址
https://tools.ipip.net/traceroute.php
使用
首先你要下载traceroute
yum install traceroute -y
traceroute [参数] 主机
实战
[root@gogogo ~]# traceroute www.baidu.com
traceroute to www.baidu.com (180.101.49.11), 30 hops max, 60 byte packets
1 10.0.0.130 (10.0.0.130) 1.151 ms 1.582 ms 2.369 ms
2 10.255.106.1 (10.255.106.1) 1.056 ms 1.647 ms 2.266 ms
3 10.128.0.1 (10.128.0.1) 0.441 ms 0.421 ms 0.389 ms
4 115.231.100.65 (115.231.100.65) 2.023 ms 2.055 ms 2.201 ms
5 10.100.128.21 (10.100.128.21) 1.844 ms 1.977 ms 2.696 ms
6 172.31.110.249 (172.31.110.249) 0.632 ms 0.645 ms 0.630 ms
7 172.31.123.53 (172.31.123.53) 0.536 ms 0.685 ms 0.623 ms
8 * * *
9 61.164.31.120 (61.164.31.120) 2.390 ms 220.191.194.116 (220.191.194.116) 3.258 ms 61.164.31.122 (61.164.31.122) 2.264 ms
10 220.191.200.201 (220.191.200.201) 6.861 ms 220.191.200.217 (220.191.200.217) 6.413 ms 220.191.200.201 (220.191.200.201) 5.955 ms
11 202.97.76.10 (202.97.76.10) 13.005 ms 202.97.75.174 (202.97.75.174) 14.885 ms 202.97.22.6 (202.97.22.6) 19.543 ms
12 58.213.95.118 (58.213.95.118) 19.171 ms 58.213.95.2 (58.213.95.2) 14.327 ms 58.213.94.118 (58.213.94.118) 15.157 ms
13 * 58.213.95.126 (58.213.95.126) 20.922 ms 58.213.95.134 (58.213.95.134) 16.233 ms
14 58.213.96.102 (58.213.96.102) 14.907 ms 58.213.96.94 (58.213.96.94) 15.467 ms 58.213.96.90 (58.213.96.90) 15.166 ms
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
最左边的是表示每一条的序号,从1开始,每一个序号表示一跳,每一跳表示一个网关
第二个字段表示主机名和对应ip
后面三个表示发送的三个包所返回的时间
一行*号 有可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
# 添加每次发送的数据包个数
traceroute -q 4 www.baidu.com
# 不查主机名,仅显示ip地址
traceroute -n www.baidu.com
# 设置跳数数量
traceroute -m 10 www.baidu.com
# 发送到直连主机
traceroute -r www.baidu.com
工作原理
Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。
Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。
每次写到TTL值访问路由,每到达一个路由,TTL值减少1 到0返回, 重新装载比上次+1的TTL值访问路由,如此循环
记住他只记录路由, 如果是二层之间的机器访问是不是只有一条?
mtr 路由追踪
MTR是Linux平台上一款非常好用的网络诊断工具,集成了traceroute、ping、nslookup的功能,用于诊断网络状态非常有用。下面请看简单介绍。
安装
yum install mtr -y
使用方法
mtr ip或域名
My traceroute [v0.85]
PG-VPN (0.0.0.0) Wed Oct 9 18:22:54 2019
Resolver: Received error response 2. (server failure)er of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 115.231.97.1 0.0% 20 0.8 1.0 0.8 1.3 0.0
2. 10.100.129.24 0.0% 20 0.9 0.9 0.9 1.0 0.0
3. 10.100.128.65 0.0% 20 0.9 1.0 0.9 1.1 0.0
4. 10.100.129.27 0.0% 20 1.3 1.1 1.0 1.3 0.0
5. 124.14.9.238 0.0% 20 4.0 4.1 3.8 4.3 0.0
第一列(Host) : IP地址和域名 按n键可以切换IP和域名
第二列(Loss%): 丢包率
第三列(Snt): 设置每秒发送数据包的数量,默认是10 可以通过参数-c来指定
第四列(Last): 最近一次的Ping值
第五六七列(AVG BEST WRST) : 分别是Ping的平均 最好 最差值
第八列(StDev): 标准偏差
其他用法
$ mtr -h #提供帮助命令
$ mtr -v #显示mtr的版本信息
$ mtr -r #已报告模式显示
$ mtr -s #用来指定ping数据包的大小
$ mtr --no-dns #不对IP地址做域名解析
$ mtr -a #来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
$ mtr -i #使用这个参数来设置ICMP返回之间的要求默认是1秒
$ mtr -4 #IPv4
$ mtr -6 #IPv6
域名查询工具 dig
常用的域名查询工具,可以用来测试域名系统工作是否正常
dig (选项)(参数)
alpaca@hzj � ~ � dig www.baidu.com
; <<>> DiG 9.10.6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24008
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 582 IN CNAME www.a.shifen.com.
www.a.shifen.com. 227 IN A 180.101.49.11
www.a.shifen.com. 227 IN A 180.101.49.12
;; Query time: 8 msec
;; SERVER: 192.168.5.11#53(192.168.5.11)
;; WHEN: Fri Nov 15 15:31:34 CST 2019
;; MSG SIZE rcvd: 101