python wpa_wpa_passphrase「建议收藏」

2022-11-15 17:29:22 浏览数 (1)

辛苦历程

之前一直用NetworkManager管理无线网络,后来换了fvwm以后,NetworkManager就不知道怎么用了,虽然查到有一个命令行版本的,客户端叫nmcli,但是无奈不知道怎么用,只好用wicd了,虽然也挺方便,但是占用的内存真是大——虽然只有16MB,但是相比它实现的功能,这个投入产出比已经非常低了。

昨天因为某些搞笑原因,重装了系统,发现安装wicd还要安装一堆gnome和python的东西,实在有点不爽(PS:我发现我快有cmd洁癖了……),就想试试到底怎么在命令行下面连接无线网络。以前曾经搜到,命令行下有两套工具来管理无线网络,一个是wireless-tools,一个是wpa_supplicant,其中,前者似乎不能用于某些带有密码的连接,而后者似乎只支持某些驱动……(Linux下有关无线网络的这些东西还真是麻烦呐!)

于是,昨晚装好系统后,我就开始尝试用wpa_supplicant来连接我自己的那台无线路由,ESSID是Netcore。之前这个路由器用的是访问控制列表,只允许特定的硬件地址的网卡来连接路由器,并没有设置连接密码,为了试验怎么连接带有密码的无线路由,我把这个路由器设了一个密码,结果用wpa_supplicant怎么也连不上。眼看着11点了,必须回宿舍了,无奈只好放弃。

今天早上来到教研室,开机以后,我打算再试验一下看这个无线路由能不能连上(ESSID:TP-LINK_530),于是就又试了一次,结果居然连上了!方法

首先执行:wpa_passphrase TP-LINK_530 11111111 > ./wpa.conf

得到的wpa.conf内容为:network={

ssid=”TP-LINK_530″

#psk=”11111111″

psk=2c0ac9d0c862ca47add91b919f6097479a07d7ae6663854b0641c541c8cedc79

}

然后执行:wpa_supplicant -iwlan0 -B -Dwext -c ./wpa.conf

此时用iwconfig就可以看到已经连接上了路由器,但是还没有IP地址,执行:dhclient wlan0

获取IP即可。

其实呢,经过我观察发现wicd还是调用wpa_supplicant来连接无线网络的,只是它对密码这块处理的比较好,可惜它是一个python脚本,太占内存了!对比一下二者的内存消耗:wicd本身两个服务进程,加上wpa_supplicant进程和dhclient进程,大约消耗16MB多一点,我直接用wpa_supplicant以后,就只有wpa_supplicant进程和dhclient进程两项,总共占用内存不到2MB!只是原来的8分之1不到!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/226786.html原文链接:https://javaforall.cn

0 人点赞