• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ifconfig
2
3
4## 命令功能
5
6ifconfig命令用来查询和设置网卡的IP地址、网络掩码、网关、硬件mac地址等参数。并能够启用/关闭网卡。
7
8
9## 命令格式
10
11ifconfig [option]
12
13option:
14
15- [_-a_]
16
17- <_interface_> <_address_> [_netmask <mask>_] [_gateway <address>_]
18
19- [_hw ether <address>_] [_mtu <size>_]
20
21- [_inet6 add <address>_]
22
23- [_inet6 del <address>_]
24
25- [_up|down_]
26
27
28## 参数说明
29
30**表1** 参数说明
31
32| 参数 | 参数说明 | 取值范围 |
33| -------- | -------- | -------- |
34| 不带参数 | 打印所有网卡的IP地址、网络掩码、网关、硬件mac地址、MTU、运行状态等信息。 | N/A |
35| -a | 打印协议栈收发数据信息。 | N/A |
36| interface | 指定网卡名,比如eth0。 | N/A |
37| address | 设置IP地址,比如192.168.1.10,需指定网卡名。 | N/A |
38| netmask | 设置子网掩码,后面要掩码参数,比如255.255.255.0。 | N/A |
39| gateway | 设置网关,后面跟网关参数,比如192.168.1.1。 | N/A |
40| hw ether | 设置mac地址, 后面是MAC地址,比如00:11:22:33:44:55。目前只支持ether硬件类型。 | N/A |
41| mtu | 设置mtu大小,后面是mtu大小,比如1000。 | -&nbsp;仅支持ipv4情况下的范围为<br/>&nbsp;&nbsp;[68,1500]。<br/>-&nbsp;支持ipv6情况下的范围为<br/>&nbsp;&nbsp;[1280,1500]。 |
42| add | 设置ipv6的地址,比如2001:a:b:c:d:e:f:d,需指定网卡名和inet6。 | N/A |
43| del | 删除ipv6的地址,需指定网卡名和加"inet6"选项,详见示例。 | N/A |
44| up | 启用网卡数据处理,需指定网卡名。 | N/A |
45| down | 关闭网卡数据处理,需指定网卡名。 | N/A |
46
47
48## 使用指南
49
50- 命令需要启动TCP/IP协议栈后才能使用。
51
52- 由于IP冲突检测需要反应时间,每次使用ifconfig设置IP后会有2S左右的延时。
53
54
55## 使用实例
56
57- ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31
58
59- ifconfig -a
60
61- ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d
62
63- ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d
64
65
66## 输出说明
67
68- **示例1** 设置网络参数
69
70  ```
71  OHOS:/$ ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31
72  OHOS:/$ ifconfig
73  lo      ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1
74          ip6: ::1/64
75          HWaddr 00 MTU:0 Running Link UP
76  eth0    ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1
77          HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP
78  ```
79
80  输出的各参数说明如下表所示:
81
82  **表2** 参数说明
83
84  | 参数 | 说明 |
85  | -------- | -------- |
86  | ip | 板子IP地址。 |
87  | netmask | 网络掩码。 |
88  | gateway | 网关。 |
89  | HWaddr | 板子硬件mac地址。 |
90  | MTU | 网络最大传输单元。 |
91  | Running/Stop | 网卡是否正在运行。 |
92  | Default | 有这项说明此网卡连接到默认网关。 |
93  | Link&nbsp;UP/Down | 网卡连接状态。 |
94
95- **示例2** 获取协议栈统计信息
96
97  ```
98  OHOS # ifconfig -a
99  RX packets:6922  errors:0        ip dropped:4312         link dropped:67         overrun:0       bytes:0 (0.0 B)
100  RX packets(ip6):3     errors:0        dropped:0       overrun:0       bytes:0 (0.0 B)
101  TX packets:1394  errors:0        link dropped:67         overrun:0       bytes:0(0.0 B)
102  TX packets(ip6):3     errors:0        overrun:0       bytes:0(0.0 B)
103  ```
104
105  输出的各参数说明如下表所示:
106
107**表3** ifconfig -a 参数说明
108
109  | 参数 | 说明 |
110  | -------- | -------- |
111  | RX&nbsp;packets | IP层已接收的正常数据包的个数。 |
112  | RX&nbsp;error | IP层已接收的错误数据包的个数,错误类型包括长度错误,校验错误,IP&nbsp;option错误,IP首部protocol错误等。 |
113  | RX&nbsp;dropped | IP层已丢弃的数据包的个数,丢弃原因包括数据包错误,封包无法转发,本地网卡处于关闭状态等。 |
114  | RX&nbsp;overrun | MAC层向上层协议栈投递封包失败的个数,失败原因主要是协议栈资源不足。 |
115  | RX&nbsp;bytes | IP层已接收的正常数据包的总长度,不包括重组未完成的分片的长度。 |
116  | TX&nbsp;packets | IP层已正常发送或转发的数据包的个数。 |
117  | TX&nbsp;error | IP层发送失败的数据包的个数,失败原因包括封包无法路由,封包在协议栈内处理失败等。 |
118  | TX&nbsp;dropped | MAC层由于发送失败而丢弃的数据包个数,失败原因包括网卡驱动处理封包失败等。 |
119  | TX&nbsp;overrun | 暂未使用。 |
120  | TX&nbsp;bytes | IP层已正常发送或者转发的数据包的总长度。 |
121
122- **示例3** 设置IPv6的地址信息
123
124  ```
125  OHOS:/$ ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d
126  NetifStatusCallback(eth0): nsc event: 0x8
127  NetifStatusCallback(eth0): nsc status changed: 0
128  NetifStatusCallback(eth0): nsc event: 0x200
129  NetifStatusCallback(eth0): nsc event: 0x8
130  NetifStatusCallback(eth0): nsc status changed: 1
131  NetifStatusCallback(eth0): nsc event: 0x200
132  NetifStatusCallback(eth0): nsc event: 0x200
133  OHOS:/$ ifconfig
134  lo      ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1
135          ip6: ::1/64
136          HWaddr 00 MTU:0 Running Link UP
137  eth0    ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1
138          ip6: 2001:A:B:C:D:E:F:D/64
139          HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP
140  ```
141
142- **示例4** 删除IPv6的地址信息
143
144  ```
145  OHOS:/$ ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d
146  NetifStatusCallback(eth0): nsc event: 0x200
147  OHOS:/$ ifconfig
148  lo      ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1
149          ip6: ::1/64
150          HWaddr 00 MTU:0 Running Link UP
151  eth0    ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1
152          HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP
153  ```
154