1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
## drop-packet
本功能统计内核态一段时间内,在各个TCP/UDP连接上,各个环节的报文数量。统计丢包发生的位置。
### 查看帮助信息
通过如下命令查看本功能的帮助信息:
```
diagnose-tools drop-packet --help
```
结果如下:
```
drop-packet usage:
--help drop-packet help info
--activate
verbose VERBOSE
source-addr source addr you want monitor
source-port source port you want monitor
dest-addr dest addr you want monitor
dest-port dest port you want monitor
--deactivate
--report dump log with text.
--log
sls=/tmp/1.log store in file
syslog=1 store in syslog.
```
### 安装KO
参见《安装和卸载KO》一节
### 激活功能
激活本功能的命令是:
```
diagnose-tools drop-packet --activate
```
在激活本功能时,可用参数为:
* verbose 该参数设置输出级别,暂时未用。
* source-addr 要监控的源地址,可以不设置。
* source-port 要监控的源端口,可以不设置。
* dest-addr 要监控的目的地址,可以不设置。
* dest-port 要监控的目的端口,可以不设置。
例如,如下命令设置输出级别为1:
```
diagnose-tools drop-packet --activate='verbose=1'
```
如果成功,将输出:
```
功能设置成功,返回值:0
输出级别:1
```
如果失败,将输出:
```
功能设置失败,返回值:-16
输出级别:1
```
### 测试用例
运行如下命令启动本功能的测试用例:
```
sh /usr/diagnose-tools/test.sh drop-packet
```
### 查看设置参数
使用如下命令查看本功能的设置参数:
```
diagnose-tools drop-packet --settings
```
结果如下:
```
功能设置:
是否激活:√
输出级别:0
```
### 查看结果
执行如下命令查看本功能的输出结果:
```
diagnose-tools drop-packet --report
```
输出结果示例如下:
```
协议类型:UDP, 源IP:10.0.2.15, 源端口:54578, 目的IP:30.14.128.1, 目的端口:53
ETH_RECV: pkg-count: 1, true-size: 896, len: 194, datalen: 0
GRO_RECV: pkg-count: 1, true-size: 896, len: 180, datalen: 0
GRO_RECV_ERR: pkg-count: 0, true-size: 0, len: 0, datalen: 0
RECV_SKB: pkg-count: 1, true-size: 896, len: 180, datalen: 0
RECV_SKB_DROP: pkg-count: 0, true-size: 0, len: 0, datalen: 0
IP_RCV: pkg-count: 0, true-size: 0, len: 0, datalen: 0
IP_RCV_FINISH: pkg-count: 0, true-size: 0, len: 0, datalen: 0
DST_INPUT: pkg-count: 1, true-size: 896, len: 180, datalen: 0
LOCAL_DELIVER: pkg-count: 1, true-size: 896, len: 180, datalen: 0
LOCAL_DELIVER_FINISH: pkg-count: 1, true-size: 896, len: 180, datalen: 0
UDP_RCV: pkg-count: 1, true-size: 896, len: 160, datalen: 0
TCP_V4_RCV: pkg-count: 0, true-size: 0, len: 0, datalen: 0
SEND_SKB: pkg-count: 1, true-size: 768, len: 85, datalen: 0
```
输出结果中,包含了报文在各个阶段被接收/发送的次数。
每次输出结果后,历史数据将被清空。
### 关闭功能
通过如下命令关闭本功能:
diagnose-tools drop-packet --deactivate
如果成功,将输出:
drop-packet is not activated
如果失败,将输出:
deactivate drop-packet fail, ret is -1
关闭功能后,本功能将不会对系统带来性能影响。
|