linux下怎样判断wifi已经连接成功

linux下怎样判断wifi已经连接成功,第1张

如果安装Linux系统的设备有无线网卡,即可连接WiFi,下面是Linux系统连接WiFi的方法:

①检查是哪一个接口来支持无线连接

sudo iwconfig

②启动无线网卡WLAN0

sudo ip link set wlan0 up

③扫描附近的无线网络

sudo iw dev wlan0 scan | less

④用下面的命令直接连接

sudo iw dev wlan0 connect [网络 SSID] key 0:[WEP 密钥]

#SSID就是无线网的名称,密钥就是无线网的密码。

简单讲下思路吧,判断是否断网,一般可以通过ping网关。如果不通则执行重启网络服务功能。

我简单写了个bash,不知道debian的是ksh还是csh,所以仅供参考。

--------------

#!/bin/sh

#假设1.254是网关

host=192.168.1.254

ping -c2 $host >>/dev/null

#我觉得你最大的疑问就是这里,怎么判断网络是否正常。你可以搜一下shell的变量。

if [ $? -eq 0 ]then

echo “network is ok,exit...”

else

echo “network is down,now restart network services”

#centos linux的网络服务重启,根据你实际情况填写

#/etc/init.d/network restart

fi

如有疑问可以留言。

1、ping 的话可能会并网关屏蔽掉,ping www.baidu.com可以ping通就说明可以连外网;

2、80 端口,有些需要认证的网络,比如 ChinaUnicom的 wifi,登录之前会把所有的 80 端口DNAT然后重定向到登录页面,导致误判。

3、 443 端口,一般认证的网络不会对这个端口 DNAT,即使做了,也会导致证书错误,国内 HTTPS 网站不多,而且百度正常情况下也会有 证书错误。

所以建议 wget/curl 某个有固定内容的 HTTP 页面,比如 http://example.com/(这个域名真的存在),然后判断其中的内容,如果检测到不同还可以提示用户"您所在的网络可能需要登录才能使用"。而且即使判断错了也与用户的体验一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8789960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存