HTTP Tunnel 原理 及 穿透防火墙方法-2
2007-11-29 08:43
429 查看
HTTP Tunnel原理 及 穿透防火墙方法-2
这篇文章提供一个通过代理服务器建立 TCP 连接来绕过防火墙的方法.
通常情况下防火墙限制了很多端口的连接,但是 HTTP 的连接还是允许的(否则谁也上不了网)。
协议指定了一个 CONNECT 请求方法. Client 可以使用这个方法通知 Proxy Server 连接指定的服务器IP和端口号. Proxy Server
在接收到这个请求后与指定的服务器IP和端口号建立连接,如果连接失败会通知 Client 并关闭连接,成功则给 Client 发送
"Coonection Established" 并保持连接. 在与 Client 和 Real Server 建立连接后,Proxy Server 就不关心数据的内容了,此时就表现为 tunnel 了.
[Client]----[FireWall]------>[Proxy Server:80]------->[Real Server]
| | | |
Src 只允许80端口数据通过 数据转发 Dest
相关协议:
在 Client一端, 我们只对 CONNECT 方法感兴趣. 在 Client 和 ProxyServer 建立连接后, Client 必须发送 CONNECT 请求.
格式如下:
CONNECT <destination_address>:<destination_port> <http_version><CR><LF>
<header_line><CR><LF>
<header_line><CR><LF>
...
<header_line><CR><LF>
<CR><LF>
Proxy Server 处理来自 Client 的请求, 然后和 destionation_address:destination_port 建立连接.
proxy server 给 Client 返回 HTTP 回应.
格式如下:
<http_version> <code> <message><CR><LF>
<header_line><CR><LF>
<header_line><CR><LF>
...
<header_line><CR><LF>
<CR><LF>
如果 Proxy Server 分析 Client 请求格式有误或者与 destionation_address:destination_port 连接失败,都会关闭连接.
如果成功则可以转发数据, 作为 tunnel 使用.
这篇文章提供一个通过代理服务器建立 TCP 连接来绕过防火墙的方法.
通常情况下防火墙限制了很多端口的连接,但是 HTTP 的连接还是允许的(否则谁也上不了网)。
协议指定了一个 CONNECT 请求方法. Client 可以使用这个方法通知 Proxy Server 连接指定的服务器IP和端口号. Proxy Server
在接收到这个请求后与指定的服务器IP和端口号建立连接,如果连接失败会通知 Client 并关闭连接,成功则给 Client 发送
"Coonection Established" 并保持连接. 在与 Client 和 Real Server 建立连接后,Proxy Server 就不关心数据的内容了,此时就表现为 tunnel 了.
[Client]----[FireWall]------>[Proxy Server:80]------->[Real Server]
| | | |
Src 只允许80端口数据通过 数据转发 Dest
相关协议:
在 Client一端, 我们只对 CONNECT 方法感兴趣. 在 Client 和 ProxyServer 建立连接后, Client 必须发送 CONNECT 请求.
格式如下:
CONNECT <destination_address>:<destination_port> <http_version><CR><LF>
<header_line><CR><LF>
<header_line><CR><LF>
...
<header_line><CR><LF>
<CR><LF>
Proxy Server 处理来自 Client 的请求, 然后和 destionation_address:destination_port 建立连接.
proxy server 给 Client 返回 HTTP 回应.
格式如下:
<http_version> <code> <message><CR><LF>
<header_line><CR><LF>
<header_line><CR><LF>
...
<header_line><CR><LF>
<CR><LF>
如果 Proxy Server 分析 Client 请求格式有误或者与 destionation_address:destination_port 连接失败,都会关闭连接.
如果成功则可以转发数据, 作为 tunnel 使用.
相关文章推荐
- http tunnel 原理 及 穿透防火墙方法-1
- http tunnel 原理 及 穿透防火墙方法
- tcp和udp包穿透防火墙-Httptunnel
- tcp和udp包穿透防火墙-Httptunnel
- HttpTunnel--穿透防火墙的利器
- 防火墙穿透学习--HttpTunnel工作原理与程序结构分析
- HttpTunnel防火墙穿透指南
- HttpTunnel防火墙穿透指南
- 穿透防火墙的数据传输方法
- cisco ASA 防火墙安全算法原理和基本配置(转自http://xiaoxiao1001.blog.51cto.com/7640562/1300161)
- HTTP使用BASIC认证的原理及实现方法
- 几种建立http-tunnel的方法
- 穿透防火墙的数据传输方法
- HTTP使用BASIC认证的原理及实现方法
- Nginx访问控制_IP访问控制(http_access_module)原理、局限性、解决方法讲解
- 免费80端口穿透之nat123端口映射原理及使用方法
- 80端口穿透软件之nat123端口映射原理分析及使用方法
- HTTP使用BASIC认证的原理及实现方法
- AndroidStudio问题Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request解决方法
- HTTP使用BASIC认证的原理及实现方法