通过多个接口使用多个连接进行 http 下载的 Linux 工具

通过多个接口使用多个连接进行 http 下载的 Linux 工具

有没有允许使用多个网络接口和多个连接下载 http 文件的工具?我想通过多个接口下载大文件来测试我的整体互联网连接速度。类似于 lftp 和 wget —bind-address 选项

答案1

是 -wget--bind-address下载选项一起使用:

--bind-address=ADDRESS

建立客户端 TCP/IP 连接时,绑定到本地计算机上的 ADDRESS。 ADDRESS 可以指定为主机名或 IP 地址。如果您的计算机绑定到多个 IP,则此选项会很有用。

wget在每个接口上同时运行一个副本。我目前无法对此进行测试,但我非常确定下载将来自wget绑定的界面。

或者,要在每个网络接口上允许多个 TCP 连接,您可以使用btdownloadcurses以下--bind选项:

--bind ip

绑定到 ip 而不是默认的

答案2

在 HTTP 或 HTTPS 的情况下,只要服务器支持范围请求,您就可以单独获取范围并将它们拼接在一起。我开始研究你指出的一个用例。如果您仍然感兴趣,这里是我的存储库的链接https://github.com/m0hithreddy/MID

  • 程序(MID)使用SO_BINDTODEVICE套接字选项来绑定到特定接口,因此在大多数情况下您需要超级用户权限和CAP_NET_RAW能力(root用户具有)。

  • MID确定下载时使用的网络接口,并采用两步分割来下载内容。

    • 第一步:文件在网络接口之间划分(实时)。
    • 第二步:进一步将文件分为几个HTTP 范围请求由该特定接口产生(笔记:服务器应该首先支持它们,以使这一切成为可能)

您的用例到此结束...但是 MID 的更多功能是...支持 HTTPS 协议、GZIP 编码(如果服务器支持)。

如果您热衷于将 MID 用于 HTTP,则仅./configure使用--without-ssl参数 ( ./configure --without-ssl)运行

干杯:)

相关内容