问题标签 [transparentproxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1120 浏览

linux - 用户空间中的 tproxy 实现

我正在为特定应用程序使用用户空间 tcp/ip 堆栈。

我在 Linux 内核空间堆栈中将 Tproxy 支持视为内核模块。
但我需要用户空间堆栈中的类似实现。
这样我就可以了解 tproxy 的当前内部工作情况。任何人都可以帮助我在用户空间中实现它,或者请解释 tproxy 东西的内部工作,我的意思是,“标记数据包”,“在入口和出口流中扭曲目标 ip”,“将所有这些保存在内部表结构中” ETC..

提前致谢..

0 投票
0 回答
1315 浏览

macos - 带有 Fusion 的 Mac OS X Lion 上的透明代理

我有一个安装了 VMWare Fusion 的 MacOS X (Lion)。在 Fusion 中,我有两个客人:一个 Linux 和一个 MS Windows XP。两个来宾网络配置为通过 vmnet8 接口使用 NAT。默认情况下,这两个盒子都可以正常访问互联网。

我的目标是强制所有离开 XP 客户端的 HTTP (tcp/80) 流量重定向到代理端口 (tcp/8080) 上的 Linux 客户端。XP 客户端必须不知道重定向,因此 XP 浏览器中的显式代理配置不是一个选项。

我已经在运行 virtualbox 的 linux 主机上尝试过这个设置。iptables nat 规则做得很好。但是我完全不知道如何在基于 pf 的 Mac 中做到这一点。

我一直在尝试只用一行配置一个互补的 pf.conf (proxy.conf) 文件:

关于 IP:192.168.190.138 是 XP 来宾 IP,192.168.190.134 是 linux 来宾。

然后我运行以下 pfctl 命令:

接着:

当我尝试在 XP guest 上打开网页时,pf 不会将流量重定向到 linux 框。由于某种原因,pf 规则没有按预期工作。大概是因为少了点什么……

0 投票
1 回答
38725 浏览

apache - 如何在 .htaccess 中设置代理

Apache 文档指出 RewriteRule 和 应该放在服务器配置中,但由于共享托管情况,它们可以放在 htaccess 中。我就是这种情况。

我正在尝试设置透明代理:

这工作正常......除了重定向(比如如果/foo重定向到/bar)。重定向返回到 example.com,而不是我的服务器。

我了解该ProxyPassReverse指令将解决此问题,但是当我将其添加到.htaccess

与 Rewrite 指令不同,ProxyPassReverse在 htaccess 中不起作用

如何在共享主机情况下设置透明代理,或者这不可能?

(这似乎是合理的,因为 Rewrite 已经完成了 80% 的工作,并且在一个 htaccess 中拥有一个透明代理不会干扰在另一个 htaccess 中拥有它。)

0 投票
0 回答
842 浏览

c# - 如何从 RealProxy 获取 ServiceChannelProxy 或 ServiceChannel

我想访问频道的状态。我收到了包含 RealProxy(rp) 的 __TransparentProxy。我可以使用这个函数 GetRealProxy() 访问它

但是,我仍然无法从 Real 代理获取状态。我需要从 realproxy 获取 ServiceChannel 并访问状态。只需将其转换为 IServiceChannel 就会返回 null。

((System.ServiceModel.Channels.CommunicationObject)(((System.ServiceModel.Channels.ServiceChannelProxy)((((System.Runtime.Remoting.Proxies.__TransparentProxy)(connectionManager.transparentProxy)))._rp)).serviceChannel)) 。状态

RealProxy realproxy = System.Runtime.Remoting.RemotingServices.GetRealProxy(connectionManager.transparentProxy);

获得 RealProxy 后,要访问状态,我仍然需要它。

((System.ServiceModel.Channels.CommunicationObject)(((System.ServiceModel.Channels.ServiceChannelProxy)(realproxy)).serviceChannel)).state

有没有办法访问 ServiceChannelProxy 或 ServiceChannel 或 RealProxy 的状态?

谢谢!

0 投票
3 回答
7125 浏览

iis - 带有 ARR 的 IIS 是否支持完全透明的反向代理?

我有一些网络服务器正在运行,我希望它们都可以通过一个域进行访问。我在 IIS 中将 ARR 设置为另一台服务器中的反向代理,它工作正常。但是,当请求重定向到服务器时,我需要保留源 IP 地址。否则,服务器会看到所有来自本地主机的连接,这不是很好。

我知道有一个选项 forwarded_for 可以创建 X-Forwarded-For 标头,但它并不是真正透明的,因为我有 WAF(Web 应用程序防火墙)问题。

0 投票
2 回答
5875 浏览

windows - 鱿鱼透明+HTTPS

我使用这种方法( youtube 链接)在 Windows 中启用 Squid 透明。但启用后,带有 HTTPS 的页面显示错误。

在 Chrome 中,此消息是:SSL 连接错误 (ERR_SSL_PROTOCOL_ERROR)

在 Firefox 中:安全连接失败(错误代码:ssl_error_rx_record_too_long)

IE:检查是否启用了 TLS 和 SSL 协议。

是否可以在 squid 中禁用 SSL / HTTPS?

或者用另一种方式解决这个问题。

谢了。

0 投票
1 回答
2436 浏览

android - android中Textview的屏蔽属性

我有一个scrollViewActivity背景scrollView是多种颜色的。

RelativeLayout已经动态添加了视图。

膨胀的xml:

我希望我的文本颜色与背景颜色相同。我已经在很多方面尝试了解决方案,但未能成功。

在 iOS 中,他们使用了RSMaskedLabel(第三方类)来实现这一点,但我在 Android 中没有找到类似的东西。

我仍然没有找到任何解决方案,请任何人帮助我。我尝试使用位图和画布,但对我没有用。

在此处输入图像描述

0 投票
0 回答
1496 浏览

iptables - SQUID 透明代理的端口转发在 CENT OS 6.5 中不起作用

我在 CENT OS 6.5 中遇到端口转发问题。

我需要将所有传入流量从端口 80 转发到 3128。比如设置透明代理服务器。我试过什么都没有用。我的透明代理服务器 IP 是 10.5.255.252

请看我下面的配置。

如果您在上面看到,在端口 80 上对 localhost 的 wget 请求被拒绝,但对 3128 端口的请求被接受。所以它不起作用:(

甚至尝试了以下规则。

但没有任何效果。你能帮我解决这个问题吗?

感谢你的帮助。

0 投票
2 回答
2452 浏览

iptables - 从传出环回流量重定向 - 有可能吗?

我的本地机器中有 2 种代理:stunnel 和 TOR-VPN。

  • stunnel 正在侦听端口 6666
  • TOR-VPN 正在监听端口 9040

我想让网络流量先去stunnel,stunnel的输出流量去tor-vpn。这需要双重重定向。可以用 iptables 来做吗?我的意思是使用“table nat chain OUTPUT”。

因为据我所知,“table nat chain OUTPUT”不能被调用两次。

网络流量 = 浏览器监听 127.0.0.1:6666

这些是我的规则:

iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 6666

iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp -j REDIRECT --to-ports 9040

iptables -t nat -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j REDIRECT --to-ports 53

iptables -t filter -A OUTPUT -p tcp --dport 6666 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp --dport 9040 -j ACCEPT

iptables -t filter -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -m owner --uid-owner bob -j DROP

上述规则使 stunnel 独立于 TOR/VPN 工作。我的意思是当浏览器设置了代理时,没有流量会通过 TOR/VPN,但是如果我在浏览器中关闭代理,所有流量都将通过 TOR/VPN。

现在我想让浏览器打开代理,所有网络流量首先进入 stunnel,但传出 stunnel 流量(传出环回流量)重定向到 TOR/VPN(127.0.0.1:9040)

可能吗 ?我怎样才能做到这一点?不知何故,我的意思是系统内部的双重重定向。

所有表的策略是 ACCEPT

0 投票
1 回答
61 浏览

transparentproxy - MSG_PROXY 无法为透明代理提供/指定备用地址

我正在尝试编写一个透明代理,将任意 UDP 数据包转换为自定义协议并再次返回。我正在尝试使用透明代理来读取需要翻译的传入 UDP 数据包,并写入刚刚被反向翻译的传出 UDP 数据包。

我用于两种 UDP 套接字的套接字设置如下:

我有两个不同但可能相关的问题。首先,当我从这个套接字读取传入的 UDP 数据包时,使用以下代码:

我没有在 sdaddr 中看到目标地址。sin_family_b、sin_addr_b 和 sin_port_b 字段均为零。我已经在 gdb 中完成了结构的块内存转储,实际上字节从内核返回为零(在我的结构定义中,该字段的位置不错)。

通过硬编码一个固定的 IP 地址和端口来临时解决这个问题,我可以调试我的代理应用程序的其余部分,直到我可以发送一个刚刚被反向转换的传出 UDP 数据包。这段代码会发生这种情况:

并且数据包永远不会出现。我检查了我构建的 sdaddr 结构的全部内容,所有字段看起来都不错。UDP 有效负载数据看起来不错。sendto() 系统调用没有返回错误——实际上,它返回零。而且该数据包永远不会出现在wireshark中。

那么我的透明代理是怎么回事?我怎样才能让它工作?(FWIW:开发主机是通用的 x86_64 ubuntu 14.04 LTS 盒子。)谢谢!