HTTP隧道是一种通信技术,通过该技术,使用不同的网络协议,使用HTTP协议,网络协议问题通常属于TCP / IP的协议族的封装。HTTP协议,因此,作为一个通道,被传输的网络协议进行通信时使用的包装。HTTP流,其隐蔽通道被称为一个HTTP隧道。HTTP隧道软件由客户端-服务器的HTTP隧道与现有的应用软件集成的应用程序,允许它们被用在条件受限的网络连接,包括防火墙的网络。

  HTTP隧道机制:希望与远程主机进行通信的应用程序打开一个HTTP连接到一个中介服务器,充当通信中继和远程主机。然后,应用程序与中介服务器使用HTTP请求,这些请求内封装的实际通信。中介服务器解开前的实际数据转发到远程主机,从远程主机接收数据时,把数据包裹在HTTP协议中做为HTTP响应的一部分发送至应用程​​序。

  简单说,当在一个受防火墙的端口屏蔽、Url拦截或Dns污染等的网络环境下,通过Http Tunnel Client把数据包通过Http 80端口发送至Http Tunnel Server代理服务器,代理服务器再将这些数据包转发至远程主机。

主要常用场景:

1. QQ、MSN等IM软件被封;

2. 迅雷、电骡等P2P软件被封;

3. mstsc远程桌面、FTP客户端等网络通讯受阻;

4. 部分网站被封;

5. 网络环境统一走代理服务器和Dns服务器;

......

https://sites.google.com/site/luizluca/port-forward-over-http 介绍了HTTP转包的思路;

BarbaTunnel 实现了Http/Udp Tunnel的开源项目;

GNU HTTPtunnel 跨平台,但不支持multiple tunnels;

飞檐走壁 实现了Http Tunnel的国产开源项目,并支持multiple tunnels和socks4/4a/5以及Http代理协议的包装;

  这里主要介绍飞檐走壁的使用方式。首先是点击这里安装,安装完毕后运行界面如下图:

默认开启了socks4/4a/5和Http代理协议的包装(这里的socks4包含socks4a);右键通知区域图标可查看菜单,菜单项有“配置”、“启动Proxifier”、“我的设备等”。点击“配置”打开“CloudAgent.config”(可用记事本打开)如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration><appSettings><!--开启服务端节点--><add key="AsServerNode" value="false"/><!--开启加密通讯--><add key="EnableSsl" value="false"/><!--验证凭据 格式:“用户名:密码”--><add key="Credential" value="rocky:e89e4780c76ce101f1a32a7d87e9489d"/><!--隧道列表 格式:“本地代理端口#代理协议或转发端点,\代表反向连接”--><add key="TunnelList" value="1080#Socks4,1081#Socks5,1082#Http,--1800#121.199.43.145:3389,6379#121.199.43.145:6379,6380#121.199.43.145:6380"/></appSettings>
</configuration>

TunnelList的值由半角,分割,每项#号左边代表本地监听的端口,#号右边可为3种方式:
1. 远程终结点,即 IP + 端口;
    格式:1800#121.199.43.145:3389
    这种方式直接转发数据包,如mstsc、redis这种远程终结点已知的应用;

2. “Socks4, Socks5, Http” 这3个枚举值之一,枚举值区分大小写;socks5支持服务端Dns解析和Udp协议,因此应优先选择socks5代理。
    格式:1081#Socks5
    这种方式会在本地对应代理协议的方式监听,如FTP, qq这种远程终结点未知的应用;一般网络应用程序都有设置代理的选项如下图QQ: 
点击OK后即设置完毕。

3. 方式1或方式2 + "\设备ID",其中设备ID必须是相同帐号下的客户端,并且设备ID是由服务端动态分配;
    格式:1800#121.199.43.145:3389\F7B4B4DC-B427-4A90-9210-5149309FCDD9 或 1081#Socks5\F7B4B4DC-B427-4A90-9210-5149309FCDD9
    这种方式会反向连接设备ID上的网络应用;如家里的客户端连接公司的客户端设备上的mstsc;

  在使用代理服务器上网的环境中,因为部分软件不支持或不能很好地支持代理服务器导致出现无法正常使用的问题,Proxifier可以很好地解决这个问题。右键图标菜单“启动Proxifier”,Proxifier运行后会在系统任务栏中建立一个图标,反应通过代理的数据情况,至此基本的Proxifier安装和设置已经完成,不必再在软件中另行设置代理服务器信息,轻松上网。

自动代理很方便,但也会遇到一些不需要通过代理的网络访问受到影响而无法使用的问题,比如一些内网的应用,Proxifier提供代理规则设置功能,通过设置不但可以自动识别不需要走代理的网络访问,还支持不同应用走不同代理服务器的功能(本教程中不涉及,可自行摸索)。

点击菜单栏中的“Profile”-“Proxification Rules”

软件中预置的规则如下图,蓝色规则表示符合“Target Hosts”的应用采取“Direct”直连的方式通讯。

第二天规则表示默认情况下所有的应用均通过我们的“默认代理服务器”。

此处我们介绍一下如何增加“直连”的应用程序设置,双击蓝色规则。

在箭头的输入框中输入走“直连”的主机地址,使用分号进行分隔,支持IP、域名且支持通配符。

设置完毕后点击“OK”按钮确认生效。

参考文献:
  http://www.cnblogs.com/mandrake/archive/2012/05/24/2516871.html Proxifier设置

转载于:https://www.cnblogs.com/Googler/archive/2013/05/30/3109402.html

Http Tunnel 小记相关推荐

  1. Workbench Could not connect the SSH Tunnel Authentication error

    1. 问题现象 平日正常使用的 Workbench 在重启电脑之后发现无法连接到对应的数据库,workbench log显示 SSH tunnel]: Authentication error ope ...

  2. 另类L2TP Tunnel

    说到L2TP VPN,大家肯定会想到xl2tpd和openswan的组合,这是传统L2TP VPN所需要的组件.安装配置步骤相对比较复杂.通常用作Point to Site模式,即:多个接入点(PC. ...

  3. hp-ux 集群,内存 小记

    hp-ux 集群,内存 小记 -----查看hp 集群状态信息 # cmviewcl -v CLUSTER        STATUS       dbsvr          up          ...

  4. 使用ssh工具链接mysql_mycli辅助工具-更方便得通过ssh tunnel连接线上MySQL

    mycli辅助工具 用途 更方便的通过ssh tunnel远程服务器端口转发来使用MySQL命令行客户端mycli连接远程MySQL. 网络拓扑 通常我们无法连接线上生产环境数据库,需要一台服务器作为 ...

  5. <笔记2>numpy的生成随机数用法小记

    numpy的生成随机数用法小记 numpy生成随机数 <以下图片来自黑马程序猿录播课程笔记> import numpy as np import random #random 生产随机数 ...

  6. 2021年中寻找新SAP项目机会小记

    2021年中寻找新SAP项目机会小记 最近一段时间,笔者有在酝酿下一个SAP项目机会.在与相关业界同仁洽谈项目机会的过程中,笔者发现自己还是在犯一些低级错误,感觉自己还是太不够理性和成熟. 1,事情没 ...

  7. K项目小记 - 项目已开工整整四周!

    K项目小记 - 项目已开工整整四周! 至今天,K项目已经推进到了第四周.这四周时间里,我们项目组全体成员经历了一段刻骨铭心的战斗时光.我们每天开会,谈流程,展示全球模板,找GAP.K项目是以客户总部的 ...

  8. 肺炎疫情期间购买口罩小记

    肺炎疫情期间购买口罩小记 谁都不曾想到,平时不怎么用到的口罩,在此次肺炎疫情期间,突然成为紧俏物资,重要物资. 早在疫情爆发初期,就在新闻报道里听说医护人员缺少医护物资,其中就有各种级别的口罩.此时笔 ...

  9. SAP MM 进销存报表优化小记

    SAP MM 进销存报表优化小记 笔者刚刚加入SY项目,就接到了SY集团上海总部SAP运维部门负责人的工作分配,说是有一只进销存报表,需要做一个优化,可能是需要重新设计重新开发. 笔者研究了他们现行进 ...

最新文章

  1. android 美颜 技术点,《Android 美颜类相机开发汇总》第六章 Android OpenGLES 美妆定制实现...
  2. SAP Business One和SAP All-in-One
  3. Java入门系列-11-类和对象
  4. boost::allocator_value_type的实例
  5. P3203-[HNOI2010]弹飞绵羊【分块】
  6. Nuxt中如何使用Vuex-Store异步获取数据
  7. 卢克增加服务器,DNF卢克跨区服务器崩溃?策划:暗制造者临时加入安图恩攻坚...
  8. [转载] Python中关于字符串的使用演示
  9. SendMessage,PostMessage
  10. Battery Health 3 for Mac(电池健康管理工具)
  11. Atitit 软件集成法 eai 目录 1. 表示集成 ui界面集成 最简单 1 2. 数据集成 1 3. 控制集成 功能集成 应用集成 1 4. 业务流程集成 1 5. 企业应用集成 1
  12. android 恢复出厂设置原理,Android恢复出厂设置流程分析【Android源码解析十】
  13. TikTok搬运视频怎么做,搬运怎样的视频最好
  14. C语言指针基础与深入
  15. x86服务器MCE(Machine Check Exception)问题
  16. 416. 分割等和子集
  17. 计算机培训ppt教案,课件制作的教案
  18. 【2021情人节主题征文】和女朋友一起玩猜数字游戏吧!
  19. SSL peer shut down incorrectly报错解决
  20. 如何在Java中将汉字转成汉语拼音

热门文章

  1. FileStream 和StreamWriter 一起用时
  2. jQuery EasyUI API 中文文档 - 数字框(NumberBox)
  3. 学习ASP.NET一定要学习ASP.NET AJAX吗?
  4. 一些前端面试题(一)
  5. ( function(){…} )()和( function (){…} () )是两种立即执行函数
  6. jQuery的end()方法使用详解
  7. JavaScript中的数组遍历forEach()与map()方法以及兼容写法
  8. 查找 之 散列表查找(哈希表)
  9. PL/pgSQL的anyelement例子
  10. 2.逆向分析Hello World!程序-上