ifconfig命令主要用于配置或显示网络设备(Network Interface Controller 网卡、网络适配器)。使用ifconfig命令还可以指定网络接口地址(ip地址)。

语法:

ifconfig [-a | -s | -v] [网络设备] [down | up |[-]allmulit | [-]arp | [-]promisc] [add <地址>] [del <地址>] [hw<网络设备类型> <硬件地址>] [io_addr <I/O地址>] [irq <IRQ地址>] [media <网络介质类型>] [mem_start <内存地址>] [metric <数目>] [mtu <字节>] [netmask <子网掩码>] [tunnel <地址>] [[-]broadcast <地址>] [[-]pointtopoint <地址>] [IP地址]
  • -a :显示全设备信息 。(默认显示激活的设备)
  • -s :显示设备简短信息。
  • -v :显示详细信息。
  • [网络设备] :网络设备的名称。如eth0
  • down : 关闭指定的网络设备。
  • up :启动指定的网络设备。
  • allmulit : 决定网络设备是否要接收多播数据包。负号表示接收,不加符号表示不接收。
  • arp :关闭或启动指定网络设备的ARP以获取硬件地址。符号表示关闭,不加符号表示启动。
  • promisc :关闭或者启动指定网络设备的promiscuous模式(接收所有网络数据包)。负号表示关闭,不加负号表示启动。
  • add <地址> : 设置网络设备IPv6的IP地址。
  • del <地址> : 删除网络设备IPv6的IP地址。
  • hw <网络设备类型> <硬件地址> :设置网络设备的类型与硬件地址。所支持的类型有ether、ax25、APCnet和netrom。
  • io_add <I/O地址> : 设置网络设备的I/O地址。
  • irq <IRQ 地址> :设置网络设备的中断请求。
  • media <网络介质类型> :设置网络设备的介质类型。
  • mem_start <内存地址> :设置网络设备在内存中所占用的起始地址。
  • metric <数目> :指定在计算数据包的传送次数时,所要加上的数目。
  • mtu <字节> : 设置网络设备的最大传输单位,单位为字节。
  • netmask <子网掩码> :设置网络设备的子网掩码。
  • tunnel <地址> : 建立IPv4与IPv6之间的隧道通信地址。
  • broadcast <地址> : 以广播的形式将数据包送到指定地址。负号表示关闭,不加负号表示启动。
  • -pointtopoint <地址> : 与指定地址的网络设备建立直连接,此模式具有保密功能。
  • [IP地址]:指定网络设备的IP地址。



Android ifconfig调试 ifconfig -s_子网掩码



上图是ifconfig命令的输出。具体表明:


  • eth0 :表示当前系统的第一块以太网卡。如果有多块网卡,其他网卡编号会eth1,eth2 以此类推。
  • lo :本地回环网卡。
  • HWaddr :MAC地址。
  • inet addr :IP地址。(IPv4标准)
  • Bcast : 广播地址。
  • Mask :子网掩码。
  • inet6 addr :IP地址。(IPv6标准)
  • MTU :设备的最大传输单元。
  • Metric:设备的度量值。
  • RX : 接收的数据包。
  • TX : 传送的数据包。
  • Interrupt :中断号。
  • Base address :端口号。

示例:

$ ifconfig eth0 192.168.1.105 netmask 255.255.255.0 broadcast 192.168.1.255 
## 设置eth0 网络接口IP为 192.168.1.105 。 子网掩码为 255.255.255.0 广播地址为 192.168.1.255

$ ifconfig ehto down
## 禁用 eth0 网络接口

$ ifconfig etho up
## 启用 eth0 网络接口

$ ifconfig eth0 add addr fe80::20c:29ff:fedb:ace6/64
## 添加一个IPv6 地址