Httptunnel creates a bidirectional virtual data path tunneled in HTTP requests. The requests can be sent via an HTTP proxy if so desired. This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and telnet or PPP to connect to a computer outside the firewall.
Here is how htc sends data to the destination:
Open TCP connection to hts
Send HTTP POST with a large Content-Length
Send TUNNEL_DATA packets until POST Content-Length would be exceeded.
Send TUNNEL_PADDING packets to exactly satisfy Content-Length - 1
Send TUNNEL_DISCONNECT (1 byte)
Close TCP connection
Go to step 1
Here is how htc gets data from the destination.
Open TCP connection to hts
Send HTTP GET
Wait for response from hts
Read TUNNEL_DATA, then TUNNEL_PADDING, TUNNEL_DISCONNECT packets
Close TCP connection
Go to step 1
Tunnel creation and destruction
This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and, say, telnet or PPP to connect to a computer outside the firewall.
0 comments:
Post a Comment