如何检测一台linux系统的计算机是否连接上外网?
发布网友
发布时间:2022-04-23 01:43
我来回答
共3个回答
热心网友
时间:2022-05-26 05:19
1、ping 的话可能会并网关屏蔽掉,ping www.baidu.com 可以ping通就说明可以连*;
2、80 端口,有些需要认证的网络,比如 ChinaUnicom的 wifi,登录之前会把所有的 80 端口DNAT然后重定向到登录页面,导致误判。
3、 443 端口,一般认证的网络不会对这个端口 DNAT,即使做了,也会导致证书错误,国内 HTTPS 网站不多,而且百度正常情况下也会有 证书错误。
所以建议 wget/curl 某个有固定内容的 HTTP 页面,比如 http://example.com/(这个域名真的存在),然后判断其中的内容,如果检测到不同还可以提示用户"您所在的网络可能需要登录才能使用"。而且即使判断错了也与用户的体验一样。
热心网友
时间:2022-05-26 06:37
ping www.baidu.com 可以ping通就说明可以连*!
热心网友
时间:2022-05-26 08:12
链接终端,或者ssh到服务器用 ping 命令,看能不能ping出去就行