[Share Experiences] Linux常用网络命令汇总2-wifi篇
Tofloor
poster avatar
166******36
deepin
2023-12-29 01:14
Author

Linux常用网络命令汇总2-WIFI篇

  deepin论坛上一篇:Linux常用网络命令汇总(Linux常用网络命令汇总-论坛-深度科技)主要整理了常用的网络工具(偏重于有线),这一篇主要整理下无线(wifi)的配置工具与常用配置。
  前言闲话:Linux网络命令汇总-2(除了总体整理下网络工具,详细记录下无线网络工具的使用)
本文的主要目的是试图从整体上理一理Linux网络工具的发展历史,让自己和大家的学习的过程中建立一个整体的概念,以减轻学习网络命令过程中的困惑感。
  许多Linux用户不记得,甚至根本不曾认识到在早期Linux里面管理网络连接时的那种折腾与痛苦。尤其是对于笔记本用户这种需要连接到两个甚至更多网 络的情况。虽然早期版本的NetworkManager用起来也是一种痛苦(那个时候曾经有个外号叫NetworkMangler,即网络磨肉机),不过现在它已经成为了一个强大的工具,让管理网络不再痛苦。
  以下内容可能从网络上整理而来,感谢网络朋友们的分享与奉献。
  参考链接:
https://zhidao.baidu.com/question/451507103.html
https://wiki.archlinuxcn.org/wiki/%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE#%E7%BD%91%E7%BB%9C%E7%AE%A1%E7%90%86%E5%99%A8
https://bbs.deepin.org/zh/post/263363

Linux网络工具大致的进化路线如下:

net-tools包(主要包括arp\ifconfig\netstat\route等)
-->
iproute2(主要包括ip neighbor/ip address,ip link/ss/ip route等)
-->
NetworkManager(有线和无线都能配置,现在基本都用这个工具了,曾经的网络磨肉机已经进化到好用了,目前主要学习这一个应该就够用了)

下面详细介绍一下无线配置工具:

命令名 软件包名 主要作用
iw iw #主要用来发现无线热点,由于不支持WPA加密连接,所以会同时使用下面的两个工具
iwctl iwd #连接WPA等现在主流的加密wifi
wpa_supplicant wpa_supplicant #功能同iwd
wpa_passphrase wpa_passphrase #与wpa_supplicant配合使用
nmcli networkmanager #有线,无线wifi统统搞定。不想折腾的同学,学习这个就够用了

一、 使用iw命令(iw 只能处理 WEP,连接wpa加密需要使用iwd或supplicant):

1. 基本用法

  1. 获取无线网的名称:

    $ iw dev #接口的名称会在 "Interface" 单词后显示。比如,常见的无线网卡设备名是 wlan0

  2. 检查一下当前连接状态
    $ iw dev wlan0 link

  3. 扫描可接入热点

    # iw dev wlan0 scan | less #显示的内容比较多,最好是用grep过滤一下

  4. 连接到无加密热点

    # iw dev wlan0 connect "your_essid"

  5. 连接到WEP加密的热点(注意,不能用于wpa加密,连接WPA要使用下面的wpa_supplicant)

    # iw dev wlan0 connect "your_essid" key 0:your_key #使用十六进制或 ASCII 密码(格式是自动识别出来的,因为 WEP 密码长度是固定的)

    # iw dev wlan0 connect "your_essid" key d:2:your_key #使用十六进制或 ASCII 密码,第三个是默认 (从0计数,共四个)

  6. iw 只能处理 WEP。要使用WPA加密方案登陆, 请查看下文中的相关章节。
    无论您使用什么认证方法,都可以使用以下命令来确认连接是否成功:

    # iw dev wlan0 link

2、 连接WPA/WPA2/WPA-PSK/WPA2-PSK加密的WIFI(请参考下面的wpa_supplicant方式的方法1和方法2及iwd方式):

简介:

  • wpa_supplicant 是跨平台的 WPA 请求者程序(supplicant),支持 WEP、WPA 和 WPA2(IEEE 802.11i)
  • 安装 wpa_supplicant包 软件包。此软件包提供了主程序 wpa_supplicant,密码工具 wpa_passphrase 和文字界面前端 wpa_cli.

实际测试用wpa_cli连接wifi热点--HONOR 30(共两种方法如下分别说明)

2.1、 wpa_supplicant方法1:

使用 wpa_cli 前,需要先为 wpa_supplicant 指定一个控制接口,且它需要获得更新配置的权限。先创建一个最小配置:

  # vi /etc/wpa_supplicant/wpa_supplicant.conf

  ctrl_interface=/run/wpa_supplicant
  update_config=1

接下来启动 wpa_supplicant :

# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

接着进入交互式命令模式:

# wpa_cli

> scan
> scan_results
> add_network
> set_network 0 ssid "HONOR 30"
> set_network 0 psk "166**3836"
> enable_network 0
> select_network 0    #我在实际使用中,加上这一个命令才连接成功
> save_config    #我实际使用时,此命令结果始终是FAIL
> 完成后,你需要获取一个 IP 地址,例如使用 dhcpcd。(需要安装dhcpcd包,并启动服务。)
2.2、 wpa_supplicant方法2(推荐这个,比方法1简单些):
  1. iw

    # iw list    #获取所有设备
    
    # ifconfig wlan0 up    #激活网卡
    
    # iw dev wlan0 scan    #扫描
    
    # iw wlan0 connect foo    #连接到没有加密的热点foo上
    
    # wpa_passphrase test 12345678 >> /etc/wpa_supplicant.conf    #配置连接wifi,test为无线SSID,12345678为密码
    
    # wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf    #连接wifi设备
    
    # iw wlan0 link        #查看连接状态
    
    # sudo dhclient wlan0  # 为wlan0获取ip地址 
    

二、使用iwd包连接WPA加密的wifi热点:

安装iwd包,启动服务。
进入命令交互模式:

# iwctl
[iwd]# help    #列出所有命令
[iwd]# device list    #列出所有wifi设备

如果设备或其相应的适配器已关闭,请将其打开。

[iwd]# device device_name set-property Powered on
[iwd]# device adapter_name set-property Powered on

下面开始扫描网络:

[iwd]# station device_name scan
[iwd]# station device_name get-networks

最后,要连接到一个网络:

[iwd]# station device_name connect SSID
[iwd]# station device_name show    #查看连接情况

三、NetworkManager无线配置(nmcli是命令行工具)

一、 nmcli networking-网络控制命令

nmcli networking {on | off | connectivity} [ARGUMENTS...]
nmcli networking on    #开启NetworkManager接管网络
nmcli networking off    #关闭NetworkManager接管网络

二、nmali radio-无线传输控制命令

nmcli wifi on    #开启wifi
nmcli wifi off    #关闭wifi

三、nmcli device-设备管理命令

nmcli device status 或 nmcli d    #显示所有网络接口设备的状态  
nmcli d show 或 nmcli d sh     #显示所有设备的详细信息  
nmcli device wifi rescan && nmcli device wifi list  #扫描并列出可用的热点
nmcli device wifi connect SSID password PASSWORD      #连接到名称为SSID的热点

四、nmcli connection-连接管理命令

nmcli connection show     #查看连接情况
nmcli connection down ssid    #关闭连接
Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-12-29 01:33
#1

感谢分享👍🏻

Reply View the author
neko
deepin
Ecological co-builder
2023-12-29 04:06
#2

小白建议用nmtui

TUI(字符版图形应用)应用很简单
image.png

Reply View the author
dgmenghuan
deepin
2023-12-29 18:18
#3

agree

Reply View the author
晚秋(lateautumn)
Moderator
2023-12-30 01:49
#4

感谢分享,学习收藏like

Reply View the author
字甲达宾
deepin
2024-01-01 15:34
#5

感谢分享!

Reply View the author