HttpTunnel技術介紹

2021-09-02 11:55:00 字數 1527 閱讀 2882

1. 概述

httptuunnel(也叫http隧道,http穿梭),是這樣一種技術: 它用http協議在要通訊的client和server建立起一條」tunnel」,然後client和server之間的通訊,都是在這條tunnel的基礎之上。

httptunnel通常被用在受限的網路環境中,比如在nat環境中的client,受防火牆限制的環境中的client等,在這樣的環境中,client不能直接連線到公網(wan)的server,這時候就可以通過httptunnel技術,來解決上述問題。

2. 原理

上圖是httptunnel技術的基本原理,它基本的工作過程主要分為以下幾個步驟:

(1)client向proxyserver傳送要連線到server的請求(http協議)

(2)proxy server向實際的server傳送連線請求(http協議)

(3)上述兩步成功後,就相當於在client和server之間存在了一條連通的tunnel(如上圖中的藍色虛線所示)

(4)後續client和server就可以直接進行資料的收發,協議由client和server自己約定,與httptunnel無關

3. 實現方法

(1) 用http connect方法的實現

http協議支援一種叫connect的方法,在上面的原理介紹的第乙個步驟中,client告訴proxy server來連線server的過程中,用的就是http的connect。下面是乙個示例:

注意,http的connect並不是所有的proxy server都實現了,所在這裡選擇proxy server的時候需要注意一下。通常所用到的proxy server如squid和nginx,squid是支援http connect,而nginx就是不支援的。

(2) 不用http connect的實現

前面也講到了,並不是所有的proxy server都支援http connect方法的。這時候就可能需要做一些額外的工作。需要在client和proxy之間再增加乙個tunnelclient, 在server和proxy之間再增加乙個tunnel server,由tunnelclient/tunnelserver來完成實際的tunnel的建立和資料的**。具體的做法可以參考一下gnu httptunnel( )。

幾種建立http tunnel的方法

基本概念不多解釋了,直入主題。gnu http tunnel 是乙個開源的http tunnel專案,包括了tunnel server hts命令 和tunnel client htc命令 有 x nix和windows版本。我們就用它來建立自己的tunnel。1。靜態tunnel。http tun...

HttpTunnel防火牆穿透指南

區域網穿透防火牆,可以使用httptunnel,這個軟體需要服務端做配合,要執行httptunnel的服務端,這種方法對區域網埠限制很有效。隱通道技術就是借助一些軟體,可以把防火牆不允許的協議封裝在已被授權的可行協議內,從而通過防火牆,埠轉換技術也是把不允許的埠轉換成允許通過的埠,從而突破防火牆的限...

QinQ技術介紹

ieee802.1q 中定義的 vlan tag 域中只有 12個位元位用於表示 vlan id 所以裝置最多可以支援 4094 個vlan 在實際應用中,尤其是在都會網路中,需要大量的 vlan 來隔離使用者,4094 個vlan 遠遠不能滿足需求。裝置提供的埠 qinq 特性是一種簡單 靈活的二...