如题,想知道在不与AP连接的情况下如何用代码实现添加一条wifi的信息(ssid和password)等
还有如何用一些代码的形式删除连接过的wifi的信息
这些wifi的信息一般都储存在哪里呢,可以直接进入文件编辑吗?
https://www.linuxidc.com/Linux/2017-01/139708.htm
在linux下除了图形方式连接wifi,还可以使用命令行方式连接,这种方式方便没有图形界面的linux、无显示器、裁剪系统等嵌入式设备。
获取nmcli方法 如果在你的设备可以访问互联网的情况下sudo apt-get install network-manager 通过上述命令直接安装network-manager,包含了nmcli 命令
如果在你的设备无法访问互联网的情况下,你可以下载一份源码,通过目标板编译或者交叉编译的方式编译出network-manager工具,这里不多做描述。
nmcli扫描并查看wifi情况 使用方法: nmcli d wifi connect password iface 例如:连接KFC_free 通过ifconfig 获取网卡描述,一般默认wlan0nmcli d wifi connect "KFC_free" password "12345678" wlan0 连接成功后通过ifconfig 查看一下是否获得了ip
如果出现下面的情况Error: Failed to add/activate new connection: (32) Not authorized to control networking. 尝试切换root用户尝试。
连接成功后,每次开机默认都会去连接wifi,此时去切换别的wifi会失败,可提前断开连接nmcli dev dis wlan0 或者nmcli con del KFC_free 断开连接后,再连接别的wifi就正常了。
彻底删除wifi连接的方法
nmcli c 这个命令可以获取到当前设备所有连接过多的历史连接及对于UUID号码
通过nmcli c del 72ffd5f4-71f8-0001-b434-6122908cfd4e
del 后边是UUID号码
首先第一件事,你必须要知道网络接口的名字,通常会是 wlan0 或 wlp2s0,但是也有很多例外。
要确认你自己的网络接口,输入 iwconfig 命令并记下来。
运行命令:
cd /etc/netctl/examples
在这个目录里,有很多不同的配置文件例子。
拷贝将用到的配置文件例子到 /etc/netctl/your_profile
cp /etc/netctl/examples/wireless-wpa /etc/netctl/your_profile
你可以用这个命令来查看配置文件内容: cat /etc/netctl/your_profile
用 gedit 编辑你的配置文件的下面几个部分:
gedit /etc/netctl/your_profile
Interface
:比如说 wlan0
ESSID
:你的无线网络名字key
:你的无线网络密码运行命令:
cd /etc/netctl
ls
你一定会看到 wifi-menu 生成的配置文件,比如 wlan0-SSID;会看到你自己创建的配置文件。
运行命令启动连接配置:netctl start your_profile。
用下面的命令测试连接:
ping -c 3 www.google.com
最后,你必须运行下面的命令:netctl enable your_profile。
netctl enable your_profile
$ iwconfig
一般来说,无线接口都叫做 wlan0。当然也有例外的
以防万一,你得确认下以使此接口服务是启动着的:
$ sudo ip link set wlan0 up
一但确认了无线接口是工作着的,你就可以用如下命令来扫描附近的无线网络了:
$ sudo iw dev wlan0 scan | less
根据扫描出的结果,可以得到网络的名字(它的 SSID),它的信息强度,以及它使用的是哪个安全加密的(如:WEP、WPA/WPA2)。从此时起,将会分成两条路线:情况很好、很容易的以及情况稍微复杂的。
如果您想连接的网络是没有加密的,您可以用下面的命令直接连接:
$ sudo iw dev wlan0 connect [网络 SSID]
如果网络是用 WEP 加密的,也非常容易:
$ sudo iw dev wlan0 connect [网络 SSID] key 0:[WEP 密钥]
但网络使用的是 WPA 或 WPA2 协议的话,事情就不好办了。这种情况,您就得使用叫做 wpasupplicant 的工具,它默认是没有的。然后需要修改 /etc/wpasupplicant/wpa_supplicant.conf 文件,增加如下行:
network={ ssid="[网络 ssid]" psk="[密码]" priority=1}
建议你在文件的末尾添加它,并确保其他配置都注释掉。要注意 SSID 和密码字串都是大小写敏感的。在技术上您也可以把接入点的名称当做是 SSID,使用 wpa_supplicant 工具的话会有合适的 SSID 来替代这个名字。
一旦配置文件修改完成后,在后台启动此命令:
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
最后,无论是连到开放的网络还是加密的安全网络,您都得获取 IP 地址。简单地使用如下命令:
$ sudo dhcpcd wlan0
如果一切顺利的话,您应该已经通过 DHCP 获取到了一个全新的本地 IP,这个过程是在后台自动完成的。如果想确认下是否真正连接上的话,您可以再一次输入如下命令检查:
$ iwconfig
最后,我认为多次重复第一步的检查操作是很有必要的。您永远不会知道什么时候您的图形用户界面挂了,或者是什么时候不能访问无线连接了,所以现在就准备着用命令来检测吧。还有,前面提到过的,有很多种方式(如 NetworkManager、wicd、netcfg、wifi 等等)来管理无线连接。我坚持使用最基本的方式,但在某些情况下,我使用的工具可能您还没有,所以您在之前就得先下载它们。另一方面,有很多高级的应用程序,他们确实是不包含在“默认包”里面的,使用它们会大大简化操作过程。
找到wifi信息,rm -f
wifi下设置编辑连接
https://www.jb51.net/LINUXjishu/234506.html
这篇文章写得很具体
获取nmcli方法 如果在你的设备可以访问互联网的情况下sudo apt-get install network-manager 通过上述命令直接安装network-manager,包含了nmcli 命令
如果在你的设备无法访问互联网的情况下,你可以下载一份源码,通过目标板编译或者交叉编译的方式编译出network-manager工具