如何判断一个网站无法访问的原因?

如果有一个网站无法访问,假设原因可能只有两个,一个是被墙了,一个是网站本身不让墙内的人用。

有什么方法可以判断是哪一个原因造成的?

阅读 1.6k
6 个回答

打开梯子🪜看看是不是可以访问,如果可以,那应该就是被墙了。
而如果是限定了某些 IP,那么应该也有特定通道可以访问。

比如一些内网的站点,只能在内网访问,如果要在外网访问就需要通过v登录后才可以访问。

所以,如果只是判断是不是被墙了,那就直接撘梯子试试。而如果是要判断这个网站是为什么不能访问,在没有报错的情况下,就放弃吧,反正就是不能看,何必在意为什么不能看呢。

被墙了的情况下,你的访问请求发不到目标网站服务器去。
网站不让墙内人用的情况下,目标网站服务器收到你的访问请求,发现请求人所在网络在黑名单内,然后返回给请求人非正常响应。
可以通过请求响应判断。

  1. 我觉着应该先说“墙“是一个什么概念,墙的意思是说,在客户端和服务器之间有一个防火墙,防火墙会阻断客户端和服务器之间的连接。拿最常用的TCP协议来说,如果是存在防火墙,那连TCP的连接都是都建立不起来的。此时浏览器的通常表现就是先转圈,一段时间后提示网络不可用。
  2. 如果是网站不对某个地区服务,那 TCP 连接是能建立起来的,但是 HTTP 应用层是拒绝提供服务的,此时通常会提示不对此地区服务
  3. 所以说,如果是访问不了,并且什么提示也没有,百分之99的概率是被墙了。至于被墙后,再纠结网站还提不提供服务,就没啥意义了。
新手上路,请多包涵
  • 检查URL
    确认你输入的网址是否正确,没有拼写错误。
    尝试在搜索引擎中搜索该网站,看是否能找到正确的网址。
  • 检查网络连接
    确保你的设备已连接到互联网,并且网络连接稳定。
    尝试访问其他网站,看是否能正常打开,以排除是你的网络问题。
    清除浏览器缓存和Cookie:
    有时,浏览器缓存或Cookie问题可能导致网站无法访问。
    清除浏览器缓存和Cookie后,尝试重新访问该网站。
  • 尝试使用不同的浏览器或设备
    切换到另一个浏览器(如从Chrome切换到Firefox)或另一台设备尝试访问该网站。
    这有助于判断问题是否与特定的浏览器或设备相关。
  • 检查网站服务器状态
    使用在线工具(如“网站服务器状态检测”工具)检查网站的服务器状态码。
    如果返回的是404状态码,表示页面未找到;如果是500或503状态码,可能表示服务器内部错误或维护中。
  • 查看网站公告或社交媒体
    有些网站在维护或更新时会提前发布通知。
    访问该网站的社交媒体账号或官方公告,看是否有关于维护或更新的信息。
  • 检查DNS设置
    如果你的设备无法解析网站的域名,可能是DNS设置问题。
    尝试更改DNS服务器或使用公共DNS(如Google的8.8.8.8和8.8.4.4),然后重新尝试访问该网站。
  • 考虑地理位置因素
    某些网站可能由于地理位置限制而无法访问。
    使用VPN或其他工具尝试更改你的IP地址,看是否能访问该网站。但请注意,使用VPN可能涉及法律和隐私方面的问题,请确保你的行为合法合规。
    通过以上步骤,你应该能够初步判断一个网站无法访问的原因。如果问题仍然存在,可能需要更深入的技术诊断或咨询专业人士。

拨测可以解决。就是用各个地区的节点访问。

如果就是简单使用,可以使用阿里云的,网上挺多都是白嫖。

如果要有一些比较长的路径,那么可以自己用代理来实现


文章里面有介绍代理概念: https://segmentfault.com/a/1190000044773861

你也可以嫖一下阿里的拨测 https://boce.aliyun.com/detect/http,可以看到从哪里发起的请求慢,也可以看大小是否一致。
image.png

1、telnet ,先测试是否可以直接访问到网站端口,这绝对是第一步;
2、nslookup等工具查看站点的ip;
3、netstat 确定在telnet的时候访问的ip
以上三步绝对是本人的必要且是最先要做的操作。

可以确认很多东西,包括域名是否被劫持之类的。
确认访问目标没问题以及自己的环境没问题后,才能考虑是否有所谓的被“墙”之类的可能性。。。

其实这东西说起来好像简单,但其中涉及到的步骤和一些技术细节,还是挺多的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏