开发者社区> 问答> 正文

一台linux的机器, 如何简单的检测他是否能连接到外网?

大家都是用什么方法.

程序是python写

展开
收起
a123456678 2016-06-22 15:27:54 3242 0
1 条回答
写回答
取消 提交回答
  • 1、 ping 的话可能会并网关屏蔽掉,比如我们这里
    2、80 端口,有些需要认证的网络,比如 ChinaUnicom的 wifi,登录之前会把所有的 80 端口DNAT然后重定向到登录页面,导致误判。
    3、 443 端口,一般认证的网络不会对这个端口 DNAT,即使做了,也会导致证书错误,国内 HTTPS 网站不多,而且百度正常情况下也会有 证书错误。

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

    2019-07-17 19:45:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载