ifconfig
命令功能
ifconfig命令用来查询和设置网卡的IP地址、网络掩码、网关、硬件mac地址等参数。并能够启用/关闭网卡。
命令格式
ifconfig [option]
option:
-
[-a]
-
<interface> <address> [netmask <mask>] [gateway <address>]
-
[hw ether <address>] [mtu <size>]
-
[inet6 add <address>]
-
[inet6 del <address>]
-
[up|down]
参数说明
表1 参数说明
参数 | 参数说明 | 取值范围 |
---|---|---|
不带参数 | 打印所有网卡的IP地址、网络掩码、网关、硬件mac地址、MTU、运行状态等信息。 | N/A |
-a | 打印协议栈收发数据信息。 | N/A |
interface | 指定网卡名,比如eth0。 | N/A |
address | 设置IP地址,比如192.168.1.10,需指定网卡名。 | N/A |
netmask | 设置子网掩码,后面要掩码参数,比如255.255.255.0。 | N/A |
gateway | 设置网关,后面跟网关参数,比如192.168.1.1。 | N/A |
hw ether | 设置mac地址, 后面是MAC地址,比如00:11:22:33:44:55。目前只支持ether硬件类型。 | N/A |
mtu | 设置mtu大小,后面是mtu大小,比如1000。 | - 仅支持ipv4情况下的范围为 [68,1500]。 - 支持ipv6情况下的范围为 [1280,1500]。 |
add | 设置ipv6的地址,比如2001:a:b:c:d:e:f:d,需指定网卡名和inet6。 | N/A |
del | 删除ipv6的地址,需指定网卡名和加"inet6"选项,详见示例。 | N/A |
up | 启用网卡数据处理,需指定网卡名。 | N/A |
down | 关闭网卡数据处理,需指定网卡名。 | N/A |
使用指南
-
命令需要启动TCP/IP协议栈后才能使用。
-
由于IP冲突检测需要反应时间,每次使用ifconfig设置IP后会有2S左右的延时。
使用实例
-
ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31
-
ifconfig -a
-
ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d
-
ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d
输出说明
-
示例1 设置网络参数
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 OHOS:/$ ifconfig lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 ip6: ::1/64 HWaddr 00 MTU:0 Running Link UP eth0 ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1 HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP
输出的各参数说明如下表所示:
表2 参数说明
参数 | 说明 |
---|---|
ip | 板子IP地址。 |
netmask | 网络掩码。 |
gateway | 网关。 |
HWaddr | 板子硬件mac地址。 |
MTU | 网络最大传输单元。 |
Running/Stop | 网卡是否正在运行。 |
Default | 有这项说明此网卡连接到默认网关。 |
Link UP/Down | 网卡连接状态。 |
-
示例2 获取协议栈统计信息
OHOS # ifconfig -a RX packets:6922 errors:0 ip dropped:4312 link dropped:67 overrun:0 bytes:0 (0.0 B) RX packets(ip6):3 errors:0 dropped:0 overrun:0 bytes:0 (0.0 B) TX packets:1394 errors:0 link dropped:67 overrun:0 bytes:0(0.0 B) TX packets(ip6):3 errors:0 overrun:0 bytes:0(0.0 B)
输出的各参数说明如下表所示:
表3 ifconfig -a 参数说明
参数 | 说明 |
---|---|
RX packets | IP层已接收的正常数据包的个数。 |
RX error | IP层已接收的错误数据包的个数,错误类型包括长度错误,校验错误,IP option错误,IP首部protocol错误等。 |
RX dropped | IP层已丢弃的数据包的个数,丢弃原因包括数据包错误,封包无法转发,本地网卡处于关闭状态等。 |
RX overrun | MAC层向上层协议栈投递封包失败的个数,失败原因主要是协议栈资源不足。 |
RX bytes | IP层已接收的正常数据包的总长度,不包括重组未完成的分片的长度。 |
TX packets | IP层已正常发送或转发的数据包的个数。 |
TX error | IP层发送失败的数据包的个数,失败原因包括封包无法路由,封包在协议栈内处理失败等。 |
TX dropped | MAC层由于发送失败而丢弃的数据包个数,失败原因包括网卡驱动处理封包失败等。 |
TX overrun | 暂未使用。 |
TX bytes | IP层已正常发送或者转发的数据包的总长度。 |
-
示例3 设置IPv6的地址信息
OHOS:/$ ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d NetifStatusCallback(eth0): nsc event: 0x8 NetifStatusCallback(eth0): nsc status changed: 0 NetifStatusCallback(eth0): nsc event: 0x200 NetifStatusCallback(eth0): nsc event: 0x8 NetifStatusCallback(eth0): nsc status changed: 1 NetifStatusCallback(eth0): nsc event: 0x200 NetifStatusCallback(eth0): nsc event: 0x200 OHOS:/$ ifconfig lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 ip6: ::1/64 HWaddr 00 MTU:0 Running Link UP eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 ip6: 2001:A:B:C:D:E:F:D/64 HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP
-
示例4 删除IPv6的地址信息
OHOS:/$ ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d NetifStatusCallback(eth0): nsc event: 0x200 OHOS:/$ ifconfig lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 ip6: ::1/64 HWaddr 00 MTU:0 Running Link UP eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP