前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python wpa_wpa_passphrase「建议收藏」

python wpa_wpa_passphrase「建议收藏」

作者头像
全栈程序员站长
发布2022-11-15 17:29:22
5810
发布2022-11-15 17:29:22
举报
文章被收录于专栏:全栈程序员必看

辛苦历程

之前一直用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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档