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。 | - 仅支持ipv4情况下的范围为<br/> [68,1500]。<br/>- 支持ipv6情况下的范围为<br/> [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 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 packets | IP层已接收的正常数据包的个数。 | 112 | RX error | IP层已接收的错误数据包的个数,错误类型包括长度错误,校验错误,IP option错误,IP首部protocol错误等。 | 113 | RX dropped | IP层已丢弃的数据包的个数,丢弃原因包括数据包错误,封包无法转发,本地网卡处于关闭状态等。 | 114 | RX overrun | MAC层向上层协议栈投递封包失败的个数,失败原因主要是协议栈资源不足。 | 115 | RX bytes | IP层已接收的正常数据包的总长度,不包括重组未完成的分片的长度。 | 116 | TX packets | IP层已正常发送或转发的数据包的个数。 | 117 | TX error | IP层发送失败的数据包的个数,失败原因包括封包无法路由,封包在协议栈内处理失败等。 | 118 | TX dropped | MAC层由于发送失败而丢弃的数据包个数,失败原因包括网卡驱动处理封包失败等。 | 119 | TX overrun | 暂未使用。 | 120 | TX 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