![由于 ISP 重定向导致可续传下载损坏](https://linux22.com/image/1464038/%E7%94%B1%E4%BA%8E%20ISP%20%E9%87%8D%E5%AE%9A%E5%90%91%E5%AF%BC%E8%87%B4%E5%8F%AF%E7%BB%AD%E4%BC%A0%E4%B8%8B%E8%BD%BD%E6%8D%9F%E5%9D%8F.png)
我在印度有一个 Bsnl 宽带连接。
每当我打开路由器并打开任何第一次链接时,它会被重定向到邮件网站页面。这可能是推广其电子邮件服务的一种方式。宽带服务很差,信号中断的情况很多,特别是在雨季。每当发生信号中断并重置连接时,就会发生此类网页重定向。
而且重定向并不局限于浏览器。我使用 Linux 发行版,而且apt-get update && apt-get upgrade
经常这样做。当连接重置时,部分下载应该在重新连接时恢复。但由于重定向发生在系统范围内,下载被重定向并被一个小型 HTML 文件覆盖,该文件的 HTML 标题和链接包含 mail.bsnl.in。
我的许多大文件都以这种方式损坏。我该如何防止这种情况发生?
答案1
nKn可能过于悲观。他认真对待了你的评论
重定向并不局限于浏览器。我使用 Linux 发行版,并经常执行 apt-get update && apt-get upgrade。当连接重置时,部分下载将在重新连接时恢复。
这不太可能相关的原因是apt-get
联系 http 网站,IE端口 80 上的站点:这是我的 `/etc/apt/sources.list} 文件的摘录:
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
这表明了这一点。
这很重要,因为这意味着并非所有端口和/或协议需要被你的 ISP 拦截。我之所以这么说,是因为这样做对他们的基础设施。
为了将要分析的流量控制在可控范围内,通常会拦截 DNS 请求,因为大多数通信尝试都会先于 DNS 请求,原因显而易见。他们的防火墙可以根据端口或协议(最有可能是两者)识别 DNS 请求。
有一种方法可以解决这个问题,那就是使用域名加密,这是开放DNS。该网页包含适用于 Windows 和 MacOS 版本的软件包的链接,而对于 Linux,您可以在发行版的存储库中找到它。
其优点dnscrypt
是它既使用非标准端口,又加密与 DNS 服务器的通信,这样防火墙就无法识别您的连接尝试的性质。您可以自由选择 DNS 服务器,除了他们自己的 OpenDNS 之外,他们还提供其他几个选项。
这可能或者不得虽然没有效果,但绝对值得一试。
之所以可能不是一个可能的原因是你的 ISP 可能设置了一个计时器,这样,如果你的线路处于安静状态的时间超过固定时间,那么全部通信将被阻止,无论端口/协议如何。这将是一个非常激进的举动,但一些 ISP 不习惯有能力的用户。
在这种情况下,您可以编写一个简单的 shell 脚本,myping.sh
其中包含以下几行,
#!/bin/bash
ping -c1 8.8.8.8
使其可执行,
chmod 755 myping.sh
并通过添加此行让它每分钟自动执行一次
* * * * * /path/to/myping.sh
到你的 crontab,通过命令:
crontab -e
这将消耗少量的带宽,并将始终保持您的连接处于活动状态。
答案2
不幸的是,恐怕您在这种情况下无能为力。使用代理、TOR、将请求转发到其他服务器、更改 DNS 服务器等都无济于事,因为请求中的第一个跳转将是您的 ISP,因此您无法在重新连接时更改第一个请求的行为。
一个“穷人”和非常基本的解决方法是在 Linux 机器中编写一个脚本,该脚本每分钟wget
对某个网站(例如http://www.google.com
)执行一次操作并将结果转发给/dev/null
,因此,如果您的链接断开并重新连接,您会在第一分钟内注意到重定向,否则您不会注意到任何事情。
还有一些其他明显的解决方案,例如向您的 ISP 投诉此类行为或更换您的 ISP,但后者取决于您的具体情况。