如何找到wlan0的状态?

shi*_*ish 7 linux command-line networking wifi debian

从我以前读过的内容来看,它似乎iwconfig已被弃用,目前的方法是-

$ sudo ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)

$ sudo ifconfig wlan0 down
Run Code Online (Sandbox Code Playgroud)

但是在 CLI 上找不到任何可以说明 wifi 状态并知道它处于哪种模式、它连接到哪个 AP、正在传输多少数据等等的任何信息。

dir*_*rkt 9

当前(2017 年)的方法是:

  1. ip 对于所有网络接口,包括设置和关闭:

    ip link set wlan0 up
    ip link set wlan0 down
    ip help
    ip link help
    ip addr help
    
    Run Code Online (Sandbox Code Playgroud)
  2. iw 对于无线扩展(需要以 root 身份调用):

    iw dev
    iw phy
    iw wlan0 scan
    iw wlan0 station dump
    iw help
    
    Run Code Online (Sandbox Code Playgroud)

ifconfig并且iwconfig仍然受相应软件包的支持,但某些功能仅适用于ipiw


GAD*_*D3R 7

net-tools程序已弃用,并iproute2已被用于替换它:

program     obsoleted by
arp         ip neigh
ifconfig    ip addr
ipmaddr     ip maddr
iptunnel    ip tunnel
route       ip route
nameif      ifrename
mii-tool    ethtool
Run Code Online (Sandbox Code Playgroud)

ip show会显示您的网络接口的状态。

此外,还有一些其他工具可以帮助您获取网络接口的状态:

cat /sys/class/net/<interface>/carrier
Run Code Online (Sandbox Code Playgroud)

示例输出:

1
Run Code Online (Sandbox Code Playgroud)

1意思是你的界面up,并0已关闭。

或者干脆你可以使用以下命令:

cat /sys/class/net/<interface>/operstate
Run Code Online (Sandbox Code Playgroud)

示例输出:

UP
Run Code Online (Sandbox Code Playgroud)

或者

DOWN
Run Code Online (Sandbox Code Playgroud)