Skip to content

Commit 53954ef

Browse files
committed
2 parents 62bdf74 + 292f486 commit 53954ef

File tree

2 files changed

+148
-115
lines changed

2 files changed

+148
-115
lines changed

command/traceroute.md

Lines changed: 99 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,99 @@
1-
traceroute
2-
===
3-
4-
显示数据包到主机间的路径
5-
6-
## 补充说明
7-
8-
**traceroute命令** 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。
9-
10-
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
11-
12-
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。
13-
14-
### 语法
15-
16-
```
17-
traceroute(选项)(参数)
18-
```
19-
20-
### 选项
21-
22-
```
23-
-d:使用Socket层级的排错功能;
24-
-f<存活数值>:设置第一个检测数据包的存活数值TTL的大小;
25-
-F:设置勿离断位;
26-
-g<网关>:设置来源路由网关,最多可设置8个;
27-
-i<网络界面>:使用指定的网络界面送出数据包;
28-
-I:使用ICMP回应取代UDP资料信息;
29-
-m<存活数值>:设置检测数据包的最大存活数值TTL的大小;
30-
-n:直接使用IP地址而非主机名称;
31-
-p<通信端口>:设置UDP传输协议的通信端口;
32-
-r:忽略普通的Routing Table,直接将数据包送到远端主机上。
33-
-s<来源地址>:设置本地主机送出数据包的IP地址;
34-
-t<服务类型>:设置检测数据包的TOS数值;
35-
-v:详细显示指令的执行过程;
36-
-w<超时秒数>:设置等待远端主机回报的时间;
37-
-x:开启或关闭数据包的正确性检验。
38-
```
39-
40-
### 参数
41-
42-
主机:指定目的主机IP地址或主机名。
43-
44-
### 实例
45-
46-
```
47-
traceroute www.58.com
48-
traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets
49-
1 unknown (192.168.2.1) 3.453 ms 3.801 ms 3.937 ms
50-
2 221.6.45.33 (221.6.45.33) 7.768 ms 7.816 ms 7.840 ms
51-
3 221.6.0.233 (221.6.0.233) 13.784 ms 13.827 ms 221.6.9.81 (221.6.9.81) 9.758 ms
52-
4 221.6.2.169 (221.6.2.169) 11.777 ms 122.96.66.13 (122.96.66.13) 34.952 ms 221.6.2.53 (221.6.2.53) 41.372 ms
53-
5 219.158.96.149 (219.158.96.149) 39.167 ms 39.210 ms 39.238 ms
54-
6 123.126.0.194 (123.126.0.194) 37.270 ms 123.126.0.66 (123.126.0.66) 37.163 ms 37.441 ms
55-
7 124.65.57.26 (124.65.57.26) 42.787 ms 42.799 ms 42.809 ms
56-
8 61.148.146.210 (61.148.146.210) 30.176 ms 61.148.154.98 (61.148.154.98) 32.613 ms 32.675 ms
57-
9 202.106.42.102 (202.106.42.102) 44.563 ms 44.600 ms 44.627 ms
58-
10 210.77.139.150 (210.77.139.150) 53.302 ms 53.233 ms 53.032 ms
59-
11 211.151.104.6 (211.151.104.6) 39.585 ms 39.502 ms 39.598 ms
60-
12 211.151.111.30 (211.151.111.30) 35.161 ms 35.938 ms 36.005 ms
61-
```
62-
63-
记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是`-q`的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用`traceroute -q 4 www.58.com`,表示向每个网关发送4个数据包。
64-
65-
有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
66-
67-
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加`-n`参数来避免DNS解析,以IP格式输出数据。
68-
69-
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。
70-
71-
72-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
1+
traceroute
2+
===
3+
4+
显示数据包到主机间的路径
5+
6+
## 补充说明
7+
8+
**traceroute命令** 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。
9+
10+
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
11+
12+
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。
13+
14+
### 语法
15+
16+
```
17+
traceroute(选项)(参数)
18+
```
19+
20+
### 选项
21+
22+
```
23+
-d:使用Socket层级的排错功能;
24+
-f<存活数值>:设置第一个检测数据包的存活数值TTL的大小;
25+
-F:设置勿离断位;
26+
-g<网关>:设置来源路由网关,最多可设置8个;
27+
-i<网络界面>:使用指定的网络界面送出数据包;
28+
-I:使用ICMP回应取代UDP资料信息;
29+
-m<存活数值>:设置检测数据包的最大存活数值TTL的大小;
30+
-n:直接使用IP地址而非主机名称;
31+
-p<通信端口>:设置UDP传输协议的通信端口;
32+
-r:忽略普通的Routing Table,直接将数据包送到远端主机上。
33+
-s<来源地址>:设置本地主机送出数据包的IP地址;
34+
-t<服务类型>:设置检测数据包的TOS数值;
35+
-v:详细显示指令的执行过程;
36+
-w<超时秒数>:设置等待远端主机回报的时间;
37+
-x:开启或关闭数据包的正确性检验。
38+
```
39+
40+
### 参数
41+
42+
主机:指定目的主机IP地址或主机名。
43+
44+
### 实例
45+
46+
```
47+
traceroute www.58.com
48+
traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets
49+
1 unknown (192.168.2.1) 3.453 ms 3.801 ms 3.937 ms
50+
2 221.6.45.33 (221.6.45.33) 7.768 ms 7.816 ms 7.840 ms
51+
3 221.6.0.233 (221.6.0.233) 13.784 ms 13.827 ms 221.6.9.81 (221.6.9.81) 9.758 ms
52+
4 221.6.2.169 (221.6.2.169) 11.777 ms 122.96.66.13 (122.96.66.13) 34.952 ms 221.6.2.53 (221.6.2.53) 41.372 ms
53+
5 219.158.96.149 (219.158.96.149) 39.167 ms 39.210 ms 39.238 ms
54+
6 123.126.0.194 (123.126.0.194) 37.270 ms 123.126.0.66 (123.126.0.66) 37.163 ms 37.441 ms
55+
7 124.65.57.26 (124.65.57.26) 42.787 ms 42.799 ms 42.809 ms
56+
8 61.148.146.210 (61.148.146.210) 30.176 ms 61.148.154.98 (61.148.154.98) 32.613 ms 32.675 ms
57+
9 202.106.42.102 (202.106.42.102) 44.563 ms 44.600 ms 44.627 ms
58+
10 210.77.139.150 (210.77.139.150) 53.302 ms 53.233 ms 53.032 ms
59+
11 211.151.104.6 (211.151.104.6) 39.585 ms 39.502 ms 39.598 ms
60+
12 211.151.111.30 (211.151.111.30) 35.161 ms 35.938 ms 36.005 ms
61+
```
62+
63+
记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是`-q`的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用`traceroute -q 4 www.58.com`,表示向每个网关发送4个数据包。
64+
65+
有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
66+
67+
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加`-n`参数来避免DNS解析,以IP格式输出数据。
68+
69+
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。
70+
71+
**跳数设置**
72+
73+
```
74+
[root@localhost ~]# traceroute -m 10 www.baidu.com
75+
traceroute to www.baidu.com (61.135.169.105), 10 hops max, 40 byte packets
76+
1 192.168.74.2 (192.168.74.2) 1.534 ms 1.775 ms 1.961 ms
77+
2 211.151.56.1 (211.151.56.1) 0.508 ms 0.514 ms 0.507 ms
78+
3 211.151.227.206 (211.151.227.206) 0.571 ms 0.558 ms 0.550 ms
79+
4 210.77.139.145 (210.77.139.145) 0.708 ms 0.729 ms 0.785 ms
80+
5 202.106.42.101 (202.106.42.101) 7.978 ms 8.155 ms 8.311 ms
81+
6 bt-228-037.bta.net.cn (202.106.228.37) 772.460 ms bt-228-025.bta.net.cn (202.106.228.25) 2.152 ms 61.148.154.97 (61.148.154.97) 772.107 ms
82+
7 124.65.58.221 (124.65.58.221) 4.875 ms 61.148.146.29 (61.148.146.29) 2.124 ms 124.65.58.221 (124.65.58.221) 4.854 ms
83+
8 123.126.6.198 (123.126.6.198) 2.944 ms 61.148.156.6 (61.148.156.6) 3.505 ms 123.126.6.198 (123.126.6.198) 2.885 ms
84+
9 * * *
85+
10 * * *
86+
```
87+
88+
其它一些实例
89+
90+
```
91+
traceroute -m 10 www.baidu.com # 跳数设置
92+
traceroute -n www.baidu.com # 显示IP地址,不查主机名
93+
traceroute -p 6888 www.baidu.com # 探测包使用的基本UDP端口设置6888
94+
traceroute -q 4 www.baidu.com # 把探测包的个数设置为值4
95+
traceroute -r www.baidu.com # 绕过正常的路由表,直接发送到网络相连的主机
96+
traceroute -w 3 www.baidu.com # 把对外发探测包的等待响应时间设置为3秒
97+
```
98+
99+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

command/watch.md

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,49 @@
1-
watch
2-
===
3-
4-
周期性的方式执行给定的指令
5-
6-
## 补充说明
7-
8-
**watch命令** 以周期性的方式执行给定的指令,指令输出以全屏方式显示。watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。
9-
10-
### 语法
11-
12-
```
13-
watch(选项)(参数)
14-
```
15-
16-
### 选项
17-
18-
```
19-
-n:指定指令执行的间隔时间(秒);
20-
-d:高亮显示指令输出信息不同之处;
21-
-t:不显示标题。
22-
```
23-
24-
### 参数
25-
26-
指令:需要周期性执行的指令。
27-
28-
### 实例
29-
30-
```
31-
#watch uptime
32-
#watch -t uptime
33-
#watch -d -n 1 netstat -ntlp
34-
#watch -d 'ls -l | fgrep goface' //监测goface的文件
35-
#watch -t -differences=cumulative uptime
36-
#watch -n 60 from //监控mail
37-
#watch -n 1 "df -i;df" //监测磁盘inode和block数目变化情况
38-
```
39-
40-
FreeBSD和Linux下watch命令的不同,在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果,如:`watch -n 1 -d netstat -ant`,而在FreeBSD下的watch命令是查看其它用户的正在运行的操作,watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用。
41-
42-
43-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
1+
watch
2+
===
3+
4+
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令
5+
6+
## 补充说明
7+
8+
**watch命令** 以周期性的方式执行给定的指令,指令输出以全屏方式显示。watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。
9+
10+
### 语法
11+
12+
```
13+
watch(选项)(参数)
14+
```
15+
16+
### 选项
17+
18+
```bash
19+
-n # 或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
20+
-d # 或--differences 用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
21+
-t # 或-no-title 会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
22+
-h, --help # 查看帮助文档
23+
```
24+
25+
### 参数
26+
27+
指令:需要周期性执行的指令。
28+
29+
### 实例
30+
31+
```bash
32+
watch -n 1 -d netstat -ant       # 命令:每隔一秒高亮显示网络链接数的变化情况
33+
watch -n 1 -d 'pstree|grep http' # 每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。
34+
watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l' # 实时查看模拟攻击客户机建立起来的连接数
35+
watch -d 'ls -l|grep scf' # 监测当前目录中 scf' 的文件的变化
36+
watch -n 10 'cat /proc/loadavg' # 10秒一次输出系统的平均负载
37+
watch uptime
38+
watch -t uptime
39+
watch -d -n 1 netstat -ntlp
40+
watch -d 'ls -l | fgrep goface' # 监测goface的文件
41+
watch -t -differences=cumulative uptime
42+
watch -n 60 from # 监控mail
43+
watch -n 1 "df -i;df" # 监测磁盘inode和block数目变化情况
44+
```
45+
46+
FreeBSD和Linux下watch命令的不同,在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果,如:`watch -n 1 -d netstat -ant`,而在FreeBSD下的watch命令是查看其它用户的正在运行的操作,watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用。
47+
48+
49+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)