开发者

Linux查看有线网卡和无线网卡的方法详解

开发者 https://www.devze.com 2025-10-09 09:58 出处:网络 作者: Prejudices
目录查看有线网卡1. ip link (查看物理连接状态 - 最基础)2. ethtool (查看详细物理信息和链路状态 - 专业工具)3. ip addr (查看网络层配置 - IP地址信息)4. nmcli (NetworkManager用户 - 桌面版首选)总结与故障排查
目录
  • 查看有线网卡
    • 1. ip link (查看物理连接状态 - 最基础)
    • 2. ethtool (查看详细物理信息和链路状态 - 专业工具)
    • 3. ip addr (查看网络层配置 - IP地址信息)
    • 4. nmcli (NetworkManager用户 - 桌面版首选)
    • 总结与故障排查流程
  • 查看无线网卡
    • 核心命令概览
    • 1. 首先,确认无线网卡设备名
    • 2. 检查无线网卡硬件是否被识别
    • 3. 查看无线连接状态和信号强度
      • a) 使用 iwconfig (传统,但直观)
      • b) 使用 iw (现代,推荐)
    • 4.www.devze.com 扫描周围的WiFi网络(需要root权限)
      • 5. 查看IP地址等网络配置
        • 6. 使用NetworkManager命令行工具 (nmcli)
          • 7. 启用/禁用无线网卡
            • 实战排查流程
            • ethtool命令
              • 核心概念与作用
                • 一、信息查询命令(最常用)
                  • 1. 查看网卡概览信息 (ethtool device)
                  • 2. 查看驱动和固件信息 (ethtool -i device)
                  • 3. 查看统计信息 (ethtool -S device)
                  • 4. 查看卸载功能状态 (ethtool -k device)
                • 二、配置控制命令(需要root权限)
                  • 1. 修改卸载功能设置 (ethtool -K device feature on|off)
                  • 2. 强制设置速度、双工模式和自动协商 (ethtool -s device)
                  • 3. 识别网卡(让网卡LED灯闪烁)(ethtool -p device)
                • 三、高级诊断命令
                  • 1. 读取EEPROM内容 (ethtool -e device)
                  • 2. 执行网卡自检 (ethtool -t device)
                • 实战故障排查流程
                • iw命令
                  • 1. 基本语法
                    • 2. 常用子命令及功能
                      • 2.1 查看无线设备信息
                      • 2.2 扫描附近的 Wi-Fi 网络
                      • 2.3 连接/断开 Wi-Fi
                      • 2.4 管理无线接口模式
                      • 2.5 监控信号强度
                    • 3. 高级功能
                      • 3.1 创建虚拟接口(VAP)
                      • 3.2 设置发射功率(dBm)
                      • 3.3 查看支持的无线功能
                      • 3.4 启用监控模式(抓包用)
                    • 4. 实际示例
                      • 4.1 查找最强信号的 Wi-Fi
                      • 4.2 检查当前连接的频段
                    • 5. 常见问题
                      • Q1: iw 和 iwconfig 的区别?
                      • Q2: 如何安装 iw?
                      • Q3: 为什么 scan 命令无输出?
                  • 总结

                    查看有线网卡

                    在 linux 中查看有线网卡状态的命令与查看无线网卡的命令类似,但侧重点有所不同。以下是几个最常用和有效的命令:

                    1. ip link (查看物理连接状态 - 最基础)

                    这是查看网卡物理层状态最直接的命令,用于快速确认网卡是否被系统识别以及是否被激活(UP)。

                    ip link show
                    # 或者查看指定网卡(通常有线网卡名为 eth0, eno1, ens33 等)
                    ip link show dev eth0
                    

                    输出示例:

                    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
                        link/ether 08:00:27:4a:2d:8c brd ff:ff:ff:ff:ff:ff
                    

                    解读关键信息:

                    • eth0: 你的有线网卡设备名。
                    • <BROADCAST,MULTICAST,UP,LOWER_UP>: 这些是标志位,最重要的是:
                      • UP: 表示网卡已启用(软件层面)。
                      • LOWER_UP: 表示检测到物理网线已连接(物理链路层已启动)。这是判断网线是否插好的关键标志!
                    • state UP: 同样表示接口状态为启动
                    • link/ether: 后面跟着的是网卡的 MAC 地址

                    如果网线没插好,你可能会看到:

                    2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
                    

                    这里的 NO-CARRIERstate DOWN 明确表示没有检测到载波信号,即网线未连接或对端设备无响应。

                    2. ethtool (查看详细物理信息和链路状态 - 专业工具)

                    ethtool 是查询和控制网络驱动及硬件设置的专业工具,特别适合查看有线网卡的连接速度、双工模式、物理链路状态等详细信息。

                    # 查看 eth0 网卡的驱动信息、链路状态和速度
                    ethtool eth0
                    

                    输出示例(网线已连接):

                    Settings for eth0:
                    	Supported ports: [ TP ]
                    	Supported link modes:   10baseT/Half 10baseT/Full
                    	                        100baseT/Half 100baseT/Full
                    	                        1000baseT/Full
                    	Supported pause frame use: No
                    	Supports auto-negotiation: Yes
                    	Supported FEC modes: Not reported
                    	Advertised link modes:  10baseT/Half 10baseT/Full
                    	                        100baseT/Half 100baseT/Full
                    	                        1000baseT/Full
                    	Advertised pause frame use: No
                    	Advertised auto-negotiation: Yes
                    	Advertised FEC modes: Not reported
                    	Speed: 1000Mb/s
                    	Duplex: Full
                    	Port: Twisted Pair
                    	PHYAD: 0
                    	Transceiver: internal
                    	Auto-negotiation: on
                    	MDI-X: on (auto)
                    	Supports Wake-on: d
                    	Wake-on: d
                            Current message level: 0x00000007 (7)
                            drv probe link
                    	Link detected: yes
                    

                    解读最关键的信息:

                    • Link detected: yes: 这是最重要的信息! 明确表示物理链路已连通。
                    • Speed: 1000Mb/s: 当前协商的连接速度是千兆。
                    • Duplex: Full: 全双工模式。

                    如果网线没插,输出末尾会显示:

                    	Link detected: no
                    

                    3. ip addr (查看网络层配置 - IP地址信息)

                    这个命令用于查看网卡的网络层(第三层) 信息,主要看是否获取到了 IP 地址。

                    ip addr show
                    # 或者查看指定网卡
                    ip addr show dev eth0
                    

                    输出示例(已获取IP地址):

                    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
                        link/ether 08:00:27:4a:2d:8c brd ff:ff:ff:ff:ff:ff
                        inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
                           valid_lft 86388sec preferred_lft 86388sec
                        inet6 fe80::a00:27ff:fe4a:2d8c/64 scope link noprefixroute
                           valid_lft forever preferred_lft forever
                    
                    • inet 行显示获取到的 IPv4 地址 (192.168.1.100)。
                    • inet6 行显示 IPv6 地址

                    如果网卡启用但没有获取到IP地址,输出中则没有 inet 行:

                    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
                        link/ether 08:00:27:4a:2d:8c brd ff:ff:ff:ff:ff:ff
                    

                    4. nmcli (NetworkManager用户 - 桌面版首选)

                    如果你的系统使用 NetworkManager(绝大多数桌面发行版都用),这个命令非常强大和直观。

                    # 查看所有网络设备状态
                    nmcli device status
                    
                    # 查看指定网卡的详细信息
                    nmcli device show eth0
                    

                    nmcli device status 输出示例:

                    DEVICE  TYPE      STATE      CONNECTION
                    eth0    ethernet  connected  Wired connection 1
                    wlan0   wifi      disconnected  --
                    lo      loopback  unmanaged  --
                    
                    • STATE 列清楚显示了连接状态:connected (已连接), disconnected (未连接), unavailable (不可用,可能被禁用)。

                    总结与故障排查流程

                    根据你的需求,选择不同的命令:

                    你想知道什么?推荐命令期望的结果
                    网线物理上插好了吗?ip link show dev eth0输出中包含 LOWER_UP
                    网卡被系统识别并启用了吗?ip link show dev eth0输出中包含 state UP
                    驱动和物理链路真的通了吗?ethtool eth0输出末尾显示 Link detected: yes
                    获取到IP地址了吗?ip addr show dev eth0输出中包含 inet 行并有IP地址
                    快速查看所有网卡总览nmcli device statusSTATE 列为 connected

                    典型故障排查流程:

                    1. 第一步:用 ip link 看网卡是否是 UP 状态且有无 LOWER_UP
                    2. 第二步:如果状态不对,用 ethtool 确认物理链路 Link detected 是否为 yes
                    3. 第三步:如果物理链路正常,用 ip addr 检查是否获得了IP地址。如果没有,可能是DHCP问题。
                    4. 第四步:始终可以使用 nmcli 来获得一个集成的、用户友好的视图。

                    查看无线网卡

                    Linux查看有线网卡和无线网卡的方法详解

                    在 Linux 中查看无线网卡信息是一个系统性的过程,涉及多个命令

                    核心命令概览

                    你想了解什么?推荐命令作用
                    网卡是否被识别?lspci / lsusb从硬件层面检查内核是否识别了网卡
                    基本连接状态和信号强度?iwconfig快速、直观地查看基本信息(传统)
                    详细的连接状态和信号?iw dev wlan0 link现代、准确的方式查看连接详情
                    扫描周围的WiFi网络?sudo iw dev wlan0 scan发现所有可用的无线网络
                    IP地址和网络配置?ip addr show dev wlan0查看网络层(IP地址)信息
                    图形化/桌面环境管理?nmcli / nmtuiNetworkManager用户的首选管理工具

                    1. 首先,确认无线网卡设备名

                    在开始之前,需要知道无线网卡在系统中的设备名称。通常以 wlan0, wlp3s0 等形式出现。

                    ip link show
                    

                    查找带有 BROADCAST,MULTICAST 标志且名称以 w 开头的设备(如 wlan0, wlx...)。如果网卡已启用,状态会是 UP

                    也可以使用以下命令快速列出所有网络接口:

                    ls /sys/class/net/
                    

                    假设无线网卡设备名是 wlan0,后续命令都将以此为例。

                    2. 检查无线网卡硬件是否被识别

                    在查看状态前,先确认系统是否识别了你的无线网卡硬件。

                    对于PCIe接口的网卡(大部分台式机、笔记本内置网卡):

                    lspci | grep -i network
                    lspci | grep -i wireless
                    

                    对于USB接口的无线网卡(USB WiFi适配器):

                    lsusb
                    

                    查看输出列表,寻找类似 Network Controller, Wireless, 802.11 等关键词。

                    3. 查看无线连接状态和信号强度

                    a) 使用 iwconfig (传统,但直观)

                    iwconfig wlan0
                    

                    输出关键解读:

                    • ESSID:"Your-WiFi-Name" → 连接的WiFi名称。
                    • Access Point: MAC-Address → 连接的路由器MAC地址。
                    • Frequency:2.437 GHz → 连接的信道频率。
                    • Link Quality=70/70 → 链路质量,值越高越好。
                    • Signal level=-67 dBm信号强度。这是最重要的指标之一:
                      • 30 dBm50 dBm: 极佳信号
                      • 50 dBm60 dBm: 良好信号
                      • 60 dBm70 dBm: 一般信号
                      • < -80 androiddBm: 信号很差,可能不稳定

                    b) 使用 iw (现代,推荐)

                    这是 iwconfig 的现代替代品,功能更强大。

                    查看连接状态:

                    iw dev wlan0 link
                    

                    输出结果清晰明了,直接显示 ConnectedSSIDsignal: -67 dBm

                    4. 扫描周围的WiFi网络(需要root权限)

                    这是无线网卡特有的操作,用于发现可用的网络。

                    sudo iw dev wlan0 scan | grep -E "SSID|signal|freq"
                    

                    这条命令会过滤出每个网络的名称(SSID)、信号强度(signal)和频率(freq/频道)。

                    如果你想看更简洁的列表,可以尝试:

                    sudo iw dev wlan0 scan | grep "SSID:" | sort | uniq
                    

                    或者使用 nmcli(如果已安装):

                    nmcli devijsce wifi list
                    

                    5. 查看IP地址等网络配置

                    无线连接成功后,你需要获取IP地址才能上网。使用以下命令查看:

                    ip addr show dev wlan0
                    

                    查找以 inet 开头的行,后面跟着的就是你的IPv4地址(例如 inet 192.168.1.105/24)。

                    6. 使用NetworkManager命令行工具 (nmcli)

                    如果你的系统使用NetworkManager(绝大多数桌面版Linux都用),nmcli 是最强大的综合管理工具。

                    查看所有网络设备状态:

                    nmcli device status
                    

                    输出中的 STATE 列会清晰显示是 connected(已连接)、disconnected(未连接)还是 unavailable(不可用)。

                    查看当前连接的WiFi详细信息:

                    nmcli connection show --active
                    

                    查看WiFi信号强度:

                    nmcli -f IN-USE,SSID,BARS,SIGNAL device wifi list
                    

                    BARS 会以图形化(****)的形式显示信号强度,非常直观。

                    7. 启用/禁用无线网卡

                    有时需要重启无线接口来解决问题。

                    禁用网卡:

                    sudo ip link set wlan0 down
                    

                    启用网卡:

                    sudo ip link set wlan0 up
                    

                    使用 rfkill 检查是否被硬件/软件阻塞:

                    如果网卡无法启用,检查是否被锁定了。

                    rfkill list
                    

                    如果显示 Soft blocked: yes,可以用以下命令解锁:

                    rfkill unblock wifi
                    

                    实战排查流程

                    1. 第一步: ip link 确认网卡存在且状态不是 DOWN
                    2. 第二步: rfkill list 确认网卡未被阻塞。
                    3. 第三步: sudo iw dev wlan0 scan 确认网卡能正常扫描到WiFi信号。
                    4. 第四步: 使用 nmcliiwconfig 连接网络。
                    5. 第五步: iw dev wlan0 linkiwconfig wlan0 确认连接成功和信号强度。
                    6. 第六步: ip addr show dev wlan0 确认已获取IP地址。

                    通过这些命令,你可以全面掌握Linux下无线网卡的所有状态信息。

                    ethtool命令

                    核心概念与作用

                    • 功能定位ethtool 用于管理第1层(物理层)第2层(数据链路层) 的参数。它不处理IP地址(第3层),那是 ip 命令的领域。
                    • 权限要求:大部分查询命令普通用户可执行,但所有更改设置的命令都需要 root 权限(使用 sudo)。
                    • 命令结构ethtool [options] device_name (如 ethtool eth0)

                    一、信息查询命令(最常用)

                    1. 查看网卡概览信息 (ethtool device)

                    这是最基础且最常用的命令,提供网卡状态的概览。

                    ethtool eth0
                    

                    输出示例及解读:

                    Settings for eth0:
                    	Supported ports: [ TP ]                    # 支持的端口类型: TP (Twisted Pair-RJ45), FIBRE, etc.
                    	Supported link modes:   10baseT/Half 10baseT/Full  # 支持的链路模式
                    	                        100baseT/Half 100baseT/Full
                    	                        1000baseT/Full
                    	Supported pause frame use: No             # 是否支持流量控制暂停帧
                    	Supports auto-negotiation: Yes            # 是否支持自动协商
                    	Supported FEC modes: Not reported         # 前向纠错模式支持
                    	Advertised link modes:  10baseT/Half 10baseT/Full # 向对端宣告的能力
                    	                        100baseT/Half 100baseT/Full
                    	                        1000baseT/Full
                    	Advertised pause frame use: No            # 宣告的暂停帧使用能力
                    	Advertised auto-negotiation: Yes          # 宣告是否开启自动协商
                    	Advertised FEC modes: Not reported
                    	Speed: 1000Mb/s                           # 【关键】当前链接速度
                    	Duplex: Full                              # 【关键】双工模式: Full (全双工) or Half (半双工)
                    	Port: Twisted Pair                        # 当前使用端口类型
                    	PHYAD: 0
                    	Transceiver: internal
                    	Auto-negotiation: on                      # 【关键】自动协商是否开启
                    	MDI-X: on (auto)                          # 网线交叉/直通自适应
                    	Supports Wake-on: d                       # 支持的远程唤醒功能
                    	Wake-on: d                                # 当前远程唤醒设置
                            Current message level: 0x00000007 (7)    # 驱动日志级别
                            drv probe link
                    	Link detected: yes                        # 【最关键】物理链路是否连通 (yes/no)
                    

                    故障排查首要关注点:

                    • Link detected: yes:物理链路是否正常。如果是 no,说明网线没插好、对端设备没开机或网线/端口故障。
                    • Speed: 1000Mb/sDuplex: Full:速度和工作模式是否正确。如果速度显示为 10Mb/s100Mb/s,或者双工模式为 Half,可能表示自动协商失败或强制设置错误。

                    2. 查看驱动和固件信息 (ethtool -i device)

                    此命令显示网卡使用的驱动模块、固件版本和总线信息,对于判断驱动是否兼容或需要更新非常有用。

                    ethtool -i eth0
                    

                    输出示例:

                    driver: e1000e             # 使用的驱动模块名称
                    version: 5.15.0-60-generic # 驱动版本
                    firmware-version: 1.5-2    # 网卡固件版本
                    bus-info: 0000:00:1f.6     # 网卡的PCI总线地址
                    supports-statistics: yes   # 是否支持统计信息
                    supports-test: yes         # 是否支持自检
                    supports-eeprom-access: yes
                    supports-register-dump: yes
                    supports-priv-flags: no
                    

                    3. 查看统计信息 (ethtool -S device)

                    显示网卡详细的流量统计和错误计数,是排查网络丢包、错误等高级问题的利器。

                    ethtool -S eth0
                    

                    输出示例(部分):

                    NIC statistics:
                         rx_packets: 12489561     # 接收到的总数据包数
                         tx_packets: 8921563      # 发送的总数据包数
                         rx_bytes: 17483214567    # 接收到的总字节数
                         tx_bytes: 10247893211    # 发送的总字节数
                         rx_errors: 0             # 【关键】接收错误计数
                         tx_errors: 0             # 【关键】发送错误计数
                         rx_YpXisldropped: 0            # 【关键】内核丢弃的接收包数
                         tx_dropped: 0            # 【关键】内核丢弃的发送包数
                         multicast: 12561         # 接收到的组播包数
                         collisions: 0            # 冲突检测次数 (半双工模式下重要)
                         rx_length_errors: 0
                         rx_over_errors: 0        # 接收溢出错误
                         rx_crc_errors: 0         # 【关键】CRC校验错误 (通常意味着物理层问题,如网线质量差)
                         rx_frame_errors: 0
                         rx_fifo_errors: 0
                         rx_missed_errors: 0      # 由于FIFO满而丢弃的包数
                         ... (更多统计项,因驱动而异)
                    

                    关键点:如果 rx_errors, tx_errors, rx_dropped 等计数器在持续快速增长,表明网络存在严重问题。

                    4. 查看卸载功能状态 (ethtool -k device)

                    现代网卡通常支持卸载(Offload) 功能,将一些本应由CPU处理的网络任务(如校验和计算、TCP分段)交给网卡硬件处理,以降低CPU占用率提升性能。此命令用于查看这些功能的开关状态。

                    ethtool -k eth0
                    

                    输出示例:

                    Features for eth0:
                    rx-checksumming: on          # 接收校验和卸载
                    tx-checksumming: on          # 发送校验和卸载
                    	tx-checksum-ipv4: on
                    	tx-checksum-ipv6: on
                    scatter-gather: on           # 分散/聚集 (SG) IO,提升效率
                    	tx-scatter-gather: on
                    	tx-scatter-gather-fraglist: off
                    tcp-segmentation-offload: on # 【重要】TCP分段卸载 (TSO)
                    	tx-tcp-segmentation: on
                    	tx-tcp6-segmentation: on
                    udp-fragmentation-offload: off
                    generic-receive-offload: on  # 【重要】通用接收卸载 (GRO)
                    large-receive-offload: off
                    rx-vlan-offload: on          # VLAN处理卸载
                    tx-vlan-offload: on
                    ...
                    

                    建议:在虚拟机或高性能网络场景中,如果遇到网络性能问题,可以尝试调整这些设置。通常保持默认的 on 状态即可获得最佳性能。

                    二、配置控制命令(需要root权限)

                    1. 修改卸载功能设置 (ethtool -K device feature on|off)

                    用于开启或关闭特定的卸载功能。

                    # 关闭 TSO (用于排查某些网络故障)
                    sudo ethtool -K eth0 tso off
                    
                    # 开启 GRO
                    sudo ethtool -K eth0 gro on
                    
                    # 一次性修改多个设置
                    sudo ethtool -K eth0 tso off gso off
                    

                    2. 强制设置速度、双工模式和自动协商 (ethtool -s device)

                    这是解决自动协商失败问题的终极手段。谨慎使用,强制设置可能导致链路中断或性能下降。

                    命令格式:sudo ethtool -s [device] speed [10|100|1000] duplex [half|full] autoneg [on|off]

                    # 强制设置为千兆全双工,并关闭自动协商
                    sudo ethtool -s eth0 speed 1000 duplex full autoneg off
                    
                    # 强制设置为百兆半双工
                    sudo ethtool -s eth0 speed 1javascript00 duplex half autoneg off
                    
                    # 恢复自动协商 (最推荐的方式)
                    sudo ethtool -s eth0 autoneg on
                    

                    最佳实践:除非你明确知道对端设备(如某些老式交换机)需要强制设置,否则始终优先使用 autoneg on

                    3. 识别网卡(让网卡LED灯闪烁)(ethtool -p device)

                    在物理服务器上,如果你有多块网卡,很难确定 eth0 对应的是哪个物理端口。这个命令可以让对应网卡的LED指示灯闪烁一段时间,方便物理定位。

                    # 让 eth0 对应的网卡灯闪烁10秒
                    sudo ethtool -p eth0 10
                    

                    三、高级诊断命令

                    1. 读取EEPROM内容 (ethtool -e device)

                    读取网卡上EEPROM(存储MAC地址、厂商信息等)的原始数据。通常用于高级调试或克隆MAC地址。

                    # 以16进制格式输出
                    sudo ethtool -e eth0
                    
                    # 以原始字节格式输出
                    sudo ethtool -e eth0 raw on
                    

                    2. 执行网卡自检 (ethtool -t device)

                    让网卡进行内部自检。不是所有网卡都支持此功能。

                    sudo ethtool -t eth0
                    

                    实战故障排查流程

                    1. 物理链路不通?
                      • ethtool eth0 | grep "Link detected" -> 如果是 no,检查网线、交换机、对端设备。
                    2. 速度/双工模式不对?
                      • ethtool eth0 | grep -E "Speed|Duplex" -> 如果不是预期值(如千兆全双工),尝试 sudo ethtool -s eth0 autoneg on 强制重新协商。最后手段才是强制设置。
                    3. 网络丢包或性能差?
                      • ethtool -S eth0 | grep -i error -> 查看错误计数器是否在增长。
                      • ethtool -k eth0 -> 检查卸载功能是否正常开启。
                      • 持续运行 watch -d ethtool -S eth0 观察哪些计数器变化最快。
                    4. 驱动问题?
                      • ethtool -i eth0 -> 查看驱动和固件版本,与官方推荐版本对比。

                    总之,ethtool 是深入Linux网络栈底层的“手术刀”,提供了无可替代的详细硬件视图和控制能力。掌握它是成为Linux网络专家的关键一步。

                    iw命令

                    iw 是 Linux 系统中用于管理和配置无线网络接口的现代命令行工具,属于 iproute2 工具集的一部分。它替代了旧的 iwconfigiwlist 命令,支持更现代的无线功能(如 802.11ac/n、wpA3 等)

                    1. 基本语法

                    iw [options] <command> [args]
                    
                    • 常用选项
                      • -debug:启用调试输出。
                      • -version:显示版本信息。

                    2. 常用子命令及功能

                    2.1 查看无线设备信息

                    列出所有无线设备(物理层和接口)

                    iw dev
                    

                    输出示例

                    phy#0
                        Interface wlan0
                            ifindex 3
                            type managed
                    

                    查看具体网卡详细信息

                    iw dev wlan0 info
                    

                    2.2 扫描附近的 Wi-Fi 网络

                    sudo iw dev wlan0 scan | grep -E "SSID|freq|signal"
                    
                    • 关键字段
                      • SSID:网络名称。
                      • freq:频率(MHz)。
                      • signal:信号强度(dBm)。
                      • WPA/WPA2:加密类型。

                    2.3 连接/断开 Wi-Fi

                    连接到开放网络(无密码)

                    sudo iw dev wlan0 connect "MyWiFi"
                    
                    • 断开当前连接

                      sudo iw dev wlan0 disconnect
                      

                    2.4 管理无线接口模式

                    查看当前模式

                    iw dev wlan0 get type
                    

                    切换模式(如 AP 模式)

                    sudo iw dev wlan0 set type __ap
                    

                    2.5 监控信号强度

                    sudo iw dev wlan0 link
                    

                    输出示例

                    Connected to aa:bb:cc:dd:ee:ff (on wlan0)
                        SSID: MyWiFi
                        freq: 5180
                        RX: 1000 bytes
                        TX: 500 bytes
                        signal: -50 dBm
                    

                    3. 高级功能

                    3.1 创建虚拟接口(VAP)

                    sudo iw phy phy0 interface add vap0 type managed
                    

                    3.2 设置发射功率(dBm)

                    sudo iw dev wlan0 set txpower fixed 20
                    

                    3.3 查看支持的无线功能

                    iw list
                    

                    关键信息

                    • Supported interface modes:支持的接口类型(如 AP、monitor)。
                    • Band 1/2:支持的频段(2.4GHz/5GHz)。
                    • HT/VHT/HE:支持的协议(802.11n/ac/ax)。

                    3.4 启用监控模式(抓包用)

                    sudo iw dev wlan0 set monitor none
                    

                    4. 实际示例

                    4.1 查找最强信号的 Wi-Fi

                    sudo iw dev wlan0 scan | awk -F '[: ]' '/SSID/{ssid=$2} /signal/{print ssid, $2"dBm"}' | sort -k2 -n
                    

                    4.2 检查当前连接的频段

                    iw dev wlan0 info | grep "channel"
                    

                    5. 常见问题

                    Q1: iw 和 iwconfig 的区别?

                    • iw 支持现代无线标准(如 802.11ac/ax),而 iwconfig 仅支持旧协议(如 802.11a/b/g)。
                    • iw 需要内核无线扩展支持(nl80211 驱动),部分老硬件可能不兼容。

                    Q2: 如何安装 iw?

                    • 大多数 Linux 发行版已预装,若缺失可通过包管理器安装:

                      sudo apt install iw       # Debian/Ubuntu
                      sudo yum install iw       # Centos/RHEL
                      

                    Q3: 为什么 scan 命令无输出?

                    • 可能原因:
                      1. 网卡被禁用:rfkill unblock wifi
                      2. 需 root 权限:加 sudo
                      3. 驱动不支持:检查 dmesg | grep wifi

                    总结

                    iw 是 Linux 无线管理的核心工具,适合:

                    • 调试无线连接问题。
                    • 配置高级模式(如监控、AP)。
                    • 获取详细的网络和硬件信息。

                    建议结合 ipnmcli 等工具使用,以全面管理网络。

                    以上就是Linux查看有线网卡和无线网卡的方法详解的详细内容,更多关于Linux查看有线和无线网卡的资料请关注编程客栈(www.devze.com)其它相关文章!

                    0

                    精彩评论

                    暂无评论...
                    验证码 换一张
                    取 消

                    关注公众号