ip 命令是 Linux 和 Android 系统中一个强大的网络配置工具,用于显示和操作路由、网络设备、策略路由和隧道等,它被认为是传统的 ifconfig 和 route 命令的替代品,功能更全面。

在手机上,你通常无法直接在图形界面中使用 ip 命令,需要通过 终端模拟器 (Terminal Emulator) 或 ADB (Android Debug Bridge) 来访问命令行界面。
如何使用 ip 命令
准备工作:安装终端模拟器或使用 ADB
-
使用终端模拟器 App (推荐普通用户)
- 在 Google Play 商店或应用宝等安卓应用商店搜索并安装 "Termux" 或 "Terminal Emulator for Android",Termux 功能更强大,推荐使用。
- 打开安装好的 App,你就可以看到一个命令行界面了。
-
使用 ADB (需要电脑配合)
- 在电脑上安装 ADB 驱动。
- 在手机上开启“开发者选项”和“USB 调试”。
- 用 USB 线连接手机和电脑。
- 在电脑的命令行(如 Windows 的 CMD 或 PowerShell,macOS/Linux 的 Terminal)中输入
adb shell,即可进入手机的命令行环境。
ip 命令的基本语法
ip 命令的基本格式是:

ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT:要操作的对象,addr(地址),link(链路),route(路由),rule(策略) 等。COMMAND:对该对象执行的命令,show,add,del(删除) 等。OPTIONS:可选参数,-s(显示详细信息),-4(只显示 IPv4),-6(只显示 IPv6)。
常用 ip 命令及示例
以下是 ip 命令最常用的一些操作,你可以直接在终端或 ADB shell 中尝试。
查看所有网络接口
这是最常用的命令,可以列出手机上所有的网络设备,如 Wi-Fi、移动数据、蓝牙等。
ip link show
示例输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff
3: rmnet_data0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 3a:4b:5c:6d:7e:8f brd ff:ff:ff:ff:ff:ff
lo: 回环接口, always up。wlan0: 无线网络接口,通常是 Wi-Fi。rmnet_data0: 移动数据接口,名称可能因手机厂商和系统版本而异。
查看网络接口的 IP 地址
使用 ip addr 或 ip a 来查看每个网络接口的详细 IP 地址信息。

ip addr show # 或者简写 ip a
示例输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff
inet 192.168.1.105/24 brd 192.168.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::1034:56ff:fe78:9abc/64 scope link
valid_lft forever preferred_lft forever
3: rmnet_data0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 3a:4b:5c:6d:7e:8f brd ff:ff:ff:ff:ff:ff
inet 100.64.12.34/32 brd 100.64.12.34 scope global rmnet_data0
valid_lft forever preferred_lft forever
inet: 后面跟的是 IPv4 地址,如168.1.105。inet6: 后面跟的是 IPv6 地址。/24是子网掩码,表示前24位是网络位。brd是广播地址。
查看路由表
ip route 命令可以显示数据包是如何被路由的,这对于理解网络连接非常有用。
ip route show # 或者简写 ip r
示例输出:
default via 192.168.1.1 dev wlan0
100.64.0.0/10 dev rmnet_data0 scope link
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.105
default via 192.168.1.1 dev wlan0: 默认网关,所有目标地址不在本网络的数据包都会通过wlan0(Wi-Fi) 接口发送到168.1.1(通常是你的路由器)。168.1.0/24 dev wlan0 ...: 这是 直连网络,目标地址在168.1.0到168.1.255范围内的数据包可以直接通过wlan0发送,无需经过网关。
管理网络接口
-
启用/禁用接口
# 启用 wlan0 (Wi-Fi) ip link set wlan0 up # 禁用 wlan0 (Wi-Fi) ip link set wlan0 down
注意:直接在终端中禁用 Wi-Fi 接口可能不会完全关闭手机的 Wi-Fi 功能,因为系统可能有其他进程在管理它,这通常用于网络调试。
管理路由
- 添加一条临时路由
# 添加一条路由,所有访问 10.10.10.0/24 网段的数据都通过网关 192.168.1.254 ip route add 10.10.10.0/24 via 192.168.1.254 dev wlan0
- 删除一条路由
# 删除上面添加的路由 ip route del 10.10.10.0/24
常用 ip 命令速查表
| 功能 | 命令 | 简写 | 描述 |
|---|---|---|---|
| 查看接口 | ip link show |
ip ls |
列出所有网络接口及其状态。 |
| 查看IP地址 | ip addr show |
ip a |
显示所有接口的IP地址、MAC地址等信息。 |
| 查看路由 | ip route show |
ip r |
显示系统的路由表。 |
| 查看邻居 | ip neigh show |
ip n |
显示ARP缓存(IP地址到MAC地址的映射)。 |
| 启用接口 | ip link set <dev> up |
启用指定的网络设备。 | |
| 禁用接口 | ip link set <dev> down |
禁用指定的网络设备。 | |
| 添加IP | ip addr add <ip>/<mask> dev <dev> |
为指定接口添加一个IP地址。 | |
| 删除IP | ip addr del <ip>/<mask> dev <dev> |
从指定接口删除一个IP地址。 | |
| 添加路由 | ip route add <network> via <gateway> |
添加一条静态路由。 | |
| 删除路由 | ip route del <network> |
删除一条静态路由。 |
实际应用场景
-
网络诊断:
- 当手机无法上网时,先用
ip a检查 Wi-Fi 或移动数据是否获得了正确的 IP 地址。 - 然后用
ip r检查默认网关是否正确。 - 用
ping <网关地址>(如ping 192.168.1.1) 测试是否能连接到网关。 - 用
ping 8.8.8.8测试是否能连接到公网。
- 当手机无法上网时,先用
-
高级网络设置:
在某些情况下,你可能需要为手机配置静态路由,例如在连接到特殊的企业网络或使用 VPN 时。
-
开发与测试:
- 对于 Android 开发者,在调试网络相关问题时,
ip命令是必不可少的工具。
- 对于 Android 开发者,在调试网络相关问题时,
ip 命令是手机网络管理的瑞士军刀,虽然普通用户很少需要用到它,但对于任何想深入了解手机网络状况或进行网络排错的人来说,掌握 ip 命令的基本使用方法会让你事半功倍。
