openharmony 鸿蒙 kernel-small-debug-shell-net-ifconfig

2022-08-09 浏览 (1403)

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 packetsIP层已接收的正常数据包的个数。
RX errorIP层已接收的错误数据包的个数,错误类型包括长度错误,校验错误,IP option错误,IP首部protocol错误等。
RX droppedIP层已丢弃的数据包的个数,丢弃原因包括数据包错误,封包无法转发,本地网卡处于关闭状态等。
RX overrunMAC层向上层协议栈投递封包失败的个数,失败原因主要是协议栈资源不足。
RX bytesIP层已接收的正常数据包的总长度,不包括重组未完成的分片的长度。
TX packetsIP层已正常发送或转发的数据包的个数。
TX errorIP层发送失败的数据包的个数,失败原因包括封包无法路由,封包在协议栈内处理失败等。
TX droppedMAC层由于发送失败而丢弃的数据包个数,失败原因包括网卡驱动处理封包失败等。
TX overrun暂未使用。
TX bytesIP层已正常发送或者转发的数据包的总长度。
  • 示例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
    

你可能感兴趣的鸿蒙文章

harmony 鸿蒙内核

harmony 鸿蒙内核编码规范

harmony 鸿蒙标准库支持

harmony 鸿蒙中断管理

harmony 鸿蒙事件

harmony 鸿蒙互斥锁

harmony 鸿蒙消息队列

harmony 鸿蒙信号量

harmony 鸿蒙双向链表

harmony 鸿蒙内存管理

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/1cefa5ffdbe54e2f9344ab6b95b94bb3