2

我有一个 PHP 应用程序在用户和一些 HTTP 资源之间充当 TPROXY,即通过绑定到用户的 IP 以进行传出连接,将套接字设置为透明模式:

socket_set_option($outgoing_socket, 0 /*SOL_IP*/, 19 /*IP_TRANSPARENT*/, 1);
socket_bind($outgoing_socket, $incoming_ip, $incoming_port);

厌倦了与无效的请求和响应标头等 HTTP 相关的东西,所以我正在寻找一个更强大的解决方案,如 libcurl 或 http:// 流来处理协议通信部分,并只集中我的注意力在有效载荷上。

问题?对于这两种解决方案,我都找不到一种方法来打开底层套接字的 TPROXY 模式:

  • 不幸的是,libcurl 的 PHP 绑定似乎不支持 CURLOPT_SOCKOPTFUNCTION
  • 如果不将 IP_TRANSPARENT 设置为套接字,http ['socket']['bind'] 上下文将不接受未分配给当前机器的 IP

任何想法如何解决我的问题?

4

0 回答 0