【问题标题】:Change outgoing IP address using Curl使用 Curl 更改传出 IP 地址
【发布时间】:2012-02-28 11:01:39
【问题描述】:

我正在使用 PHP 和 CURLOPT_PROXY (SOCK5) 从我的本地计算机连接到具有多个 IP 地址的服务器。 我想要做的是能够更改远程服务器上的传出 IP 地址。 无论我使用什么 IP 连接到我的远程服务器,传出 IP(远程服务器到 Internet)都是相同的。

我在服务器上使用命令 ssh -N -D 0.0.0.0:1080 localhost 来设置 Socks5 代理

【问题讨论】:

  • 您可以访问“远程服务器”吗?它实际上是在运行 Socks 5 代理,还是您自己的实现?如果不是,它使用什么软件进行代理?
  • 是的,我可以访问远程服务器,我使用命令 ssh -N -D 0.0.0.0:1080 localhost 来设置 Socks5 代理。我正在使用 PHP 和 CURL 连接到这个代理。

标签: php curl ip-address


【解决方案1】:

SOCKS5 协议本身不支持请求绑定到特定 IP 地址。您可以查看SOCKS5 protocol on Wikipedia 的概述。

可能存在支持根据用户名绑定到特定传出 IP 地址的代理软件。您必须自己对此进行调查。

如果可以使用不同的端口,您可以请求 ssh 本身绑定到特定的 IP 地址。

ssh -N -b 1.1.1.1 -D 0.0.0.0:1080 localhost
ssh -N -b 1.1.1.2 -D 0.0.0.0:1081 localhost
ssh -N -b 1.1.1.3 -D 0.0.0.0:1082 localhost
...

总而言之,单独使用 ssh 是无法实现这一点的,您需要将其绑定到多个 IP 地址或端口本身,或者调查其他代理软件。

【讨论】:

  • 谢谢 Leigh,我尝试了命令 ssh -b (IP HERE) -N -D 0.0.0.0:1080 但它不起作用,shell 响应是:用法:ssh [... .
  • 试试ssh -N -b <IP> -D 0.0.0.0:1080
  • 最后缺少localhost
  • 另外,我相信您可以使用 iptables 进行循环负载平衡。您可以将代理绑定到不同的 IP 地址,并使用 iptables 将 inc-ip:1080 重定向到 out-ip-1:1080、out-ip-2:1080 等。
【解决方案2】:

没有看清楚你的问题,但是从标题上我想说,请使用CURLOPT_INTERFACE

http://www.php.net/manual/en/function.curl-setopt.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 2018-01-18
    • 1970-01-01
    • 2019-01-31
    • 2013-01-26
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    相关资源
    最近更新 更多