问题标签 [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.
linux - 用户空间中的 tproxy 实现
我正在为特定应用程序使用用户空间 tcp/ip 堆栈。
我在 Linux 内核空间堆栈中将 Tproxy 支持视为内核模块。
但我需要用户空间堆栈中的类似实现。
这样我就可以了解 tproxy 的当前内部工作情况。任何人都可以帮助我在用户空间中实现它,或者请解释 tproxy 东西的内部工作,我的意思是,“标记数据包”,“在入口和出口流中扭曲目标 ip”,“将所有这些保存在内部表结构中” ETC..
提前致谢..
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 规则没有按预期工作。大概是因为少了点什么……
apache - 如何在 .htaccess 中设置代理
Apache 文档指出 RewriteRule 和 应该放在服务器配置中,但由于共享托管情况,它们可以放在 htaccess 中。我就是这种情况。
我正在尝试设置透明代理:
这工作正常......除了重定向(比如如果/foo
重定向到/bar
)。重定向返回到 example.com,而不是我的服务器。
我了解该ProxyPassReverse
指令将解决此问题,但是当我将其添加到.htaccess
与 Rewrite 指令不同,ProxyPassReverse
在 htaccess 中不起作用。
如何在共享主机情况下设置透明代理,或者这不可能?
(这似乎是合理的,因为 Rewrite 已经完成了 80% 的工作,并且在一个 htaccess 中拥有一个透明代理不会干扰在另一个 htaccess 中拥有它。)
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 的状态?
谢谢!
iis - 带有 ARR 的 IIS 是否支持完全透明的反向代理?
我有一些网络服务器正在运行,我希望它们都可以通过一个域进行访问。我在 IIS 中将 ARR 设置为另一台服务器中的反向代理,它工作正常。但是,当请求重定向到服务器时,我需要保留源 IP 地址。否则,服务器会看到所有来自本地主机的连接,这不是很好。
我知道有一个选项 forwarded_for 可以创建 X-Forwarded-For 标头,但它并不是真正透明的,因为我有 WAF(Web 应用程序防火墙)问题。
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?
或者用另一种方式解决这个问题。
谢了。
android - android中Textview的屏蔽属性
我有一个scrollView
,Activity
背景scrollView
是多种颜色的。
我RelativeLayout
已经动态添加了视图。
膨胀的xml:
我希望我的文本颜色与背景颜色相同。我已经在很多方面尝试了解决方案,但未能成功。
在 iOS 中,他们使用了RSMaskedLabel
(第三方类)来实现这一点,但我在 Android 中没有找到类似的东西。
我仍然没有找到任何解决方案,请任何人帮助我。我尝试使用位图和画布,但对我没有用。
iptables - SQUID 透明代理的端口转发在 CENT OS 6.5 中不起作用
我在 CENT OS 6.5 中遇到端口转发问题。
我需要将所有传入流量从端口 80 转发到 3128。比如设置透明代理服务器。我试过什么都没有用。我的透明代理服务器 IP 是 10.5.255.252
请看我下面的配置。
如果您在上面看到,在端口 80 上对 localhost 的 wget 请求被拒绝,但对 3128 端口的请求被接受。所以它不起作用:(
甚至尝试了以下规则。
但没有任何效果。你能帮我解决这个问题吗?
感谢你的帮助。
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
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 盒子。)谢谢!