Tunel HTTP - HTTP tunnel
Tunelování HTTP se používá k vytvoření síťového spojení mezi dvěma počítači v podmínkách omezeného síťového připojení včetně firewally, NAT a Seznamy ACL, mimo jiné omezení. Tunel je vytvořen prostředníkem zvaným a proxy server který se obvykle nachází v a DMZ.
Tunelování může také umožnit komunikaci pomocí a protokol které by normálně nebyly v omezené síti podporovány.
Metoda HTTP CONNECT
Nejběžnější formou tunelování HTTP je standardizovaná PŘIPOJIT HTTP metoda.[1][2] V tomto mechanismu klient požádá HTTP proxy server o předání TCP připojení k požadovanému cíli. Server poté pokračuje v připojení jménem klienta. Jakmile je připojení navázáno serverem, proxy server pokračuje v proxy streamování TCP do az klienta. Pouze počáteční požadavek na připojení je HTTP - poté server jednoduše proxy naváže navázané připojení TCP.
Tento mechanismus je způsob, jakým může klient za HTTP proxy přistupovat k webům pomocí SSL nebo TLS (tj. HTTPS). Proxy servery mohou také omezit připojení povolením připojení pouze k výchozímu portu HTTPS 443, seznam povolených hostitelé nebo blokování provozu, který se nejeví jako SSL.
Příklad vyjednávání
Klient se připojí k serveru proxy a požaduje tunelování zadáním portu a hostitelského počítače, ke kterému se chce připojit. Port se používá k označení požadovaného protokolu.[3]
PŘIPOJIT streamline.t-mobile.com:443 HTTP / 1.1Proxy-Authorization: Basic encoded-credentials
Pokud bylo připojení povoleno a proxy se připojil k uvedenému hostiteli, vrátí proxy 2XX úspěšnou odpověď.[3]
HTTP/1.1 200 OK
Klient je nyní proxy na vzdáleného hostitele. Veškerá data odeslaná na server proxy jsou nyní přeposílána beze změny na vzdáleného hostitele[3] a klient může komunikovat pomocí libovolného protokolu přijatého vzdáleným hostitelem. V níže uvedeném příkladu klient spouští komunikaci SSH, jak je naznačeno číslem portu v počátečním požadavku CONNECT.
SSH-2.0-OpenSSH_4.3 ...
Tunelování HTTP bez použití CONNECT
Tunel HTTP lze také implementovat pomocí pouze obvyklých metod HTTP jako POST, GET, PUT a DELETE. To je podobné přístupu použitému v obousměrných proudech přes synchronní HTTP (BOSH ).
V tomhle program proof-of-concept , speciální server HTTP běží mimo chráněnou síť a klientský program je spuštěn na počítači uvnitř chráněné sítě. Kdykoli je klientovi předán jakýkoli síťový provoz, klient přebalí provozní data jako požadavek HTTP a předá data vnějšímu serveru, který pro klienta extrahuje a provede původní síťový požadavek. Odpověď na požadavek zaslaná na server je poté znovu zabalena jako odpověď HTTP a předána zpět klientovi. Jelikož veškerý provoz je zapouzdřen uvnitř normálních požadavků a odpovědí GET a POST, tento přístup funguje prostřednictvím většiny serverů proxy a bran firewall.
Viz také
- ICMP tunel
- Pseudodrát
- Tunelový makléř
- Soukromá virtuální síť (VPN)
- Virtuální rozšiřitelná LAN
- Virtualizace sítě pomocí generického směrování zapouzdření
Reference
- ^ Fielding, R. (červen 1999). „Definice metody, PŘIPOJIT“. Hypertext Transfer Protocol - HTTP / 1.1. IETF. p. 56. s 9.9. doi:10.17487 / RFC2616. RFC 2616. Citováno 2010-07-09.
- ^ „Upgrading to TLS within HTTP / 1.1 (RFC 2817)“. RFC 2817. Citováno 3. července 2011.
- ^ A b C "PŘIPOJIT". Sémantika a obsah HTTP / 1.1. IETF. Červen 2014. str. 30. sek. 4.3.6. doi:10.17487 / RFC7231. RFC 7231. Citováno 4. listopadu 2017.