ifconfig 是一个用于配置和显示网络接口参数的经典命令行工具,虽然在现代 Linux 发行版(包括 Kali)中,它已经被更强大的 ip 命令所取代,但由于其简单直观,ifconfig 仍然是网络管理员和安全研究人员非常常用的工具。

ifconfig 是什么?
ifconfig 是 "interface configuration" 的缩写,它可以用来:
- 查看网络接口状态:显示系统中所有网络接口(如
eth0,wlan0,lo)的详细信息,包括 IP 地址、子网掩码、MAC 地址等。 - 启用/禁用网络接口:可以手动开启或关闭一个网络接口。
- 配置网络接口:可以为接口设置 IP 地址、子网掩码等。
如何安装 ifconfig?
在较新的 Kali Linux 版本中,ifconfig 默认没有安装,因为它属于一个过时的软件包 net-tools,系统默认推荐使用 ip 命令。
如果你习惯使用 ifconfig,可以轻松安装它,打开终端,输入以下命令:
sudo apt update sudo apt install net-tools
安装完成后,你就可以直接使用 ifconfig 了。

ifconfig 的基本用法
a. 查看所有网络接口信息
这是最常用的用法,不带任何参数直接运行 ifconfig。
ifconfig
输出示例解析:
执行后,你会看到类似下面的输出,每个网络接口(如 eth0, wlan0, lo)都有自己独立的区块。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.105 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fe4e:66a1 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:4e:66:a1 txqueuelen 1000 (Ethernet)
RX packets 152342 bytes 153456789 (153.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 98765 bytes 12345678 (11.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 456 bytes 38016 (37.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 456 bytes 38016 (37.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.15 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::c0ff:eecf:fe12:3456 prefixlen 64 scopeid 0x20<link>
ether c0:ff:ee:cf:12:34 txqueuelen 1000 (Ethernet)
RX packets 2541 bytes 1987654 (1.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1234 bytes 543210 (530.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
关键字段解释:

eth0/wlan0/lo:网络接口的名称。eth0:有线以太网接口。wlan0:无线局域网接口。lo:回环接口,用于本地主机通信。
flags:接口的运行状态标志。UP:接口已启用。BROADCAST:支持广播。RUNNING:接口已连接并正在运行。MULTICAST:支持多播。
mtu:最大传输单元,表示数据包的最大大小。inet:IPv4 地址。netmask:子网掩码。broadcast:广播地址。ether:MAC 地址(物理地址)。RX packets / bytes:接收的数据包数量和总字节数。TX packets / bytes:发送的数据包数量和总字节数。RX/TX errors:接收/发送过程中出现的错误数。
b. 查看特定网络接口信息
如果你想只查看某个特定接口(wlan0)的信息,可以在命令后跟上接口名。
ifconfig wlan0
c. 启用或禁用网络接口
-
启用接口 (up):
sudo ifconfig eth0 up
-
禁用接口 (down):
sudo ifconfig wlan0 down
这个命令在需要暂时断开网络连接或进行故障排查时非常有用。
d. 为接口配置 IP 地址
你可以手动为网络接口设置一个静态 IP 地址。
# 语法: sudo ifconfig <接口名> <IP地址> netmask <子网掩码> sudo ifconfig eth0 192.168.1.200 netmask 255.255.255.0
设置后,再次运行 ifconfig eth0 就可以看到 IP 地址已经改变。注意:这种配置是临时的,重启系统后会失效。
ifconfig vs. ip 命令
作为一名 Kali Linux 用户,了解 ip 命令非常重要,因为它是现代 Linux 的标准。
| 功能 | ifconfig 命令 |
ip 命令 (推荐) |
|---|---|---|
| 查看所有接口 | ifconfig |
ip addr show 或 ip a |
| 查看特定接口 | ifconfig eth0 |
ip addr show eth0 或 ip a show eth0 |
| 启用接口 | sudo ifconfig eth0 up |
sudo ip link set eth0 up |
| 禁用接口 | sudo ifconfig eth0 down |
sudo ip link set eth0 down |
| 配置IP地址 | sudo ifconfig eth0 192.168.1.200 netmask 255.255.255.0 |
sudo ip addr add 192.168.1.200/24 dev eth0 |
| 查看路由表 | route -n |
ip route show 或 ip r |
ifconfig:简单直观,适合快速查看接口状态和进行简单的配置。ip:功能更强大、更全面、信息更详细,是现代 Linux 环境下的首选和标准。
在 Kali 中的实际应用场景
作为渗透测试平台,ifconfig 在以下场景中非常实用:
- 确认网络连接:在进行扫描或攻击前,首先确认你的 Kali 是否正确连接到目标网络,并获取到正确的 IP 地址。
- 配置网卡:在进行某些需要特定 IP 地址的攻击时(如 ARP 欺骗),可能需要临时为网卡配置一个 IP。
- 开启/关闭监听模式:在使用
aircrack-ng等无线工具时,需要先将无线网卡 (wlan0) 置于监听模式,虽然这通常由airmon-ng脚本完成,但了解底层原理有助于排错。 - 网络故障排查:当网络不通时,
ifconfig是你检查接口是否UP、是否有 IP 地址、是否有大量错误信息的第一个工具。
| 命令 | 描述 |
|---|---|
ifconfig |
显示所有网络接口信息 |
ifconfig <interface> |
显示指定接口信息 |
sudo ifconfig <interface> up |
启用指定接口 |
sudo ifconfig <interface> down |
禁用指定接口 |
sudo ifconfig <interface> <ip> netmask <mask> |
为指定接口配置IP和子网掩码 |
尽管 ip 命令是未来趋势,但 ifconfig 因其简洁性,在很长一段时间内仍将是网络工程师和安全专家工具箱中一个不可或缺的工具,在 Kali Linux 中熟练掌握它,会让你的日常工作更加得心应手。
