文章目录
wifi_9">一、wifi扫描指令
iwlist wlan0 scan
和 iw dev wlan0 scan
都是用于在 Linux 上扫描 Wi-Fi 网络的命令,但它们的功能和使用方法略有不同。下面详细讲解这两个命令:
1. iwlist wlan0 scan
这个命令使用 iwlist
工具来扫描 Wi-Fi 网络,适用于较老的无线网络管理工具。
-
命令功能:
- 扫描可用的 Wi-Fi 网络,并列出它们的详细信息。
- 该命令返回一个包含所有扫描到的 Wi-Fi 网络的列表,包括网络的 SSID、信号强度、加密方式、信道频率等信息。
-
使用方法:
iwlist wlan0 scan
wlan0
:无线接口名,通常是你的 Wi-Fi 网卡的名称,可能会有所不同,具体名称可以通过ifconfig
或ip a
命令查看。
-
输出信息:
执行该命令后,你会看到类似下面的输出:wlan0 Scan completed :Cell 01 - Address: D8:32:14:7B:E5:15ESSID:"Tenda_7BE510"Protocol:IEEE 802.11ACMode:MasterFrequency:5.18 GHz (Channel 36)Encryption key:onBit Rates:1.3 Gb/sQuality=67/100 Signal level=67/100Cell 02 - Address: A4:56:02:8C:21:75ESSID:"360WiFi-8C2175"Protocol:IEEE 802.11bgnMode:MasterFrequency:2.437 GHz (Channel 6)Encryption key:onQuality=31/100 Signal level=33/100
- Cell:每个网络的标识符。
- ESSID:网络的名称(SSID)。
- Frequency:网络的工作频率(例如:2.437 GHz 或 5.18 GHz)。
- Signal level:信号强度,通常以 dBm 或百分比的形式给出,表示网络的信号质量。
- Encryption key:表示是否启用了加密(如 WPA2)。
- Quality:信号质量的百分比。
-
优缺点:
- 优点:适用于较老的无线驱动程序和工具集,支持大多数无线网卡。
- 缺点:输出格式比较冗长,功能比较基础,没有太多高级配置选项。
2. iw dev wlan0 scan
这个命令使用 iw
工具来扫描 Wi-Fi 网络,它是一个较新的工具,取代了 iwlist
,用于操作 Linux 上的无线设备。
-
命令功能:
- 同样是扫描附近的 Wi-Fi 网络,并列出它们的详细信息,但提供的输出更为简洁且格式化更现代。
- 通过
iw
工具,你还可以进行更多无线设备的管理操作(如更改信道、设置无线参数等)。
-
使用方法:
iw dev wlan0 scan
wlan0
:无线接口名,同样可以通过ifconfig
或ip a
命令查看。
-
输出信息:
输出格式较为简洁,通常会像下面这样:BSS D8:32:14:7B:E5:15(on wlan0)TSF: 1234567890 usec (0d, 12:34:56)freq: 5180beacon interval: 100 TUscapabilities: 0x11signal: -47 dBmlast seen: 123 ms agoInformation elements:SSID: Tenda_7BE510RSN: WPA2 BSS A4:56:02:8C:21:75(on wlan0)TSF: 1234567891 usec (0d, 12:34:57)freq: 2437beacon interval: 100 TUscapabilities: 0x11signal: -70 dBmlast seen: 100 ms agoInformation elements:SSID: 360WiFi-8C2175RSN: WPA2
- BSS:代表一个基本服务集(Basic Service Set),即一个无线网络。
- SSID:网络的名称。
- Signal:信号强度,通常以 dBm 表示。
- Beacon interval:信标间隔,指的是设备每发送一次信标帧的时间间隔,单位为微秒(μs)。
- Capabilities:网络支持的功能,如加密类型等。
- Frequency:网络的频段(如 5180 MHz 或 2437 MHz)。
-
优缺点:
- 优点:输出格式简洁、现代,易于机器处理。
iw
提供更多的无线控制功能,适合高级用户。 - 缺点:不支持旧版无线驱动或某些老旧的无线网卡,可能需要较新的驱动程序。
- 优点:输出格式简洁、现代,易于机器处理。
总结
iwlist wlan0 scan
:使用较老的iwlist
工具进行扫描,适用于大部分旧版无线网卡,提供详细的扫描信息,输出格式较为冗长。iw dev wlan0 scan
:使用较新的iw
工具进行扫描,输出简洁、现代,适用于较新的无线网卡,功能更为丰富和灵活。
在选择使用哪条命令时,可以根据你的系统和设备的支持情况以及个人偏好来决定。如果你使用的是较新的无线网卡和驱动,推荐使用 iw dev wlan0 scan
。如果遇到兼容性问题或使用较老的设备,iwlist wlan0 scan
可能是一个更好的选择。
wifi_111">二、连接wifi指令
在 Linux 中连接 Wi-Fi 网络,通常使用的是以下命令和工具:nmcli
、iwconfig
或 wpa_supplicant
。每个工具的适用情况不同,下面我将详细介绍几种常用的连接 Wi-Fi 网络的方法。
1. 使用 nmcli
(NetworkManager CLI)
nmcli
是 NetworkManager 提供的命令行工具,用于管理网络连接,包括无线网络的连接。它提供了简单、直接的方式来连接到 Wi-Fi。
连接 Wi-Fi 网络的步骤:
-
列出可用的 Wi-Fi 网络:
nmcli device wifi list
-
连接到 Wi-Fi 网络:
假设你要连接到一个名为MyWiFi
的 Wi-Fi 网络,密码是password123
,可以使用以下命令:nmcli device wifi connect MyWiFi password password123
MyWiFi
是网络的 SSID(即 Wi-Fi 网络的名称)。password123
是 Wi-Fi 网络的密码。
-
检查连接状态:
nmcli connection show
这条命令可以查看当前连接的所有网络。
备注:
- 如果系统中没有安装
nmcli
或NetworkManager
,你需要先安装它。sudo apt install network-manager
2. 使用 iwconfig
iwconfig
是一个较旧的工具,通常与无线网卡驱动一起使用,用于配置无线接口。
连接 Wi-Fi 网络的步骤:
-
扫描可用的 Wi-Fi 网络:
sudo iwlist wlan0 scan
-
连接到 Wi-Fi 网络:
假设你要连接到MyWiFi
网络,密码是password123
,可以使用如下命令:sudo iwconfig wlan0 essid "MyWiFi" key s:password123
wlan0
是无线网卡的接口名称,"MyWiFi"
是 SSID,password123
是密码。
-
获取 IP 地址:
使用dhclient
获取动态 IP 地址:sudo dhclient wlan0
备注:
iwconfig
是一个较老的工具,支持一些基础的 Wi-Fi 配置,但不如nmcli
方便和灵活。- 你需要确保你的无线接口(如
wlan0
)是启用的。
3. 使用 wpa_supplicant
wpa_supplicant
是一个支持 WPA/WPA2 加密的工具,适用于需要更多配置的场景(如无图形界面的系统,或你需要手动管理 Wi-Fi 连接时)。
连接 Wi-Fi 网络的步骤:
-
创建配置文件:
创建一个名为wpa_supplicant.conf
的文件,内容类似:network={ssid="MyWiFi"psk="password123" }
-
使用
wpa_supplicant
启动连接:
使用以下命令启动wpa_supplicant
:sudo wpa_supplicant -B -i wlan0 -c /path/to/wpa_supplicant.conf
-B
表示在后台运行wpa_supplicant
。-i wlan0
是无线接口的名称。-c /path/to/wpa_supplicant.conf
是你创建的配置文件路径。
-
获取 IP 地址:
使用dhclient
获取动态 IP 地址:sudo dhclient wlan0
备注:
wpa_supplicant
是一个高级工具,适用于需要手动管理无线连接的场景,特别是在没有图形界面的系统中。- 配置文件通常需要根据网络的加密类型(如 WPA2、WEP)进行调整。
4. 使用 iw
和 dhclient
(不常用)
你也可以手动配置 Wi-Fi 网络,通过 iw
工具来配置无线接口和网络。以下是基本步骤:
-
扫描 Wi-Fi 网络:
sudo iw dev wlan0 scan
-
连接到 Wi-Fi 网络:
假设你要连接到一个无密码的网络,可以使用iw
配合dhclient
来连接。sudo iw dev wlan0 connect MyWiFi sudo dhclient wlan0
如果网络有密码(例如 WPA2),你还需要使用
wpa_supplicant
来处理加密连接。
总结
nmcli
:推荐使用,功能全面、易于操作,适用于大多数现代 Linux 系统。iwconfig
:适用于一些基础的无线配置,但不如nmcli
灵活。wpa_supplicant
:适用于手动管理无线连接的高级配置,特别是在没有图形界面的环境中。iw
:主要用于扫描和管理无线设备的低级工具,可以与其他工具结合使用。
如果你的系统中安装了 NetworkManager
,建议使用 nmcli
进行 Wi-Fi 连接,它最为简单和高效。如果没有 nmcli
,你可以使用 iwconfig
或 wpa_supplicant
来手动管理无线网络。