Re: Wrapping TCP communications in HTTP



Our data is binary, and our applications are not web browsers or web servers.
We're using Winsock2 sockets with overlapped I/O through completion ports.

The problem we have isn't security because we encrypt the data ourselves
before it's put on the wire. What we need is a way to get through the
firewall and be able to connect to our components (NT services). Most of our
customers allow traffic through port 80, so when we want to create a socket
connection from one machine to another machine this is behind the firewall we
can specify the IP address of the machine and port 80. This works fine at
most of our client's sites, but not all of them.


"Alexander Nickolov" wrote:

> Well, of course this helps nothing with security :). I just noticed
> the intent of the original post. I've been handling this in the
> completely wrong direction...
>
> To OP: HTTP won't help you a bit since it's not a secure protocol.
> You need to use SSL/TLS to encrypt your data. If you are worried
> about firewalls blocking ports, use the HTTPS port 443.
>
> --
> =====================================
> Alexander Nickolov
> Microsoft MVP [VC], MCSD
> email: agnickolov@xxxxxxxx
> MVP VC FAQ: http://www.mvps.org/vcfaq
> =====================================
>
> "Steve Alpert" <sra@xxxxxxxxxxxxxxxxx> wrote in message
> news:OHT7gEc%23FHA.2176@xxxxxxxxxxxxxxxxxxxxxxx
> > Mick wrote:
> >> We have a set of applications that use TCP sockets (winsock2) to
> >> communicate between machines. To communicate, a client machine
> >> establishes a TCP socket connection to a server, then sends and receives
> >> messages using our own proprietary protocol. We have developed and tested
> >> all of this and it works fine. Now, because of firewall security issues
> >> at some of our customer sites, we would like to wrap these communications
> >> in the HTTP protocol. Is it possible to do this? If so, what would be
> >> required to implement this?
> >>
> >> I know very little about HTTP, but my understanding is that HTTP
> >> communications requires that you establish a session with a server, send
> >> request messages to the server, and then wait to receive a response.
> >> Would this require us to scrap our existing socket implementation, or can
> >> we just wrap our messages in HTTP?
> >>
> >> Any advice on how to implenent this will be much appreciated. Thanks!
> >>
> >
> > Although likely, most firewalls block ports and not protocols. That
> > suggests they leave open port 80 (assuming http) and 443 (assuming https).
> > They MAY check the envelopes but then again, maybe not!
> >
> > /steveA
> >
> > --
> > Steve Alpert
> > my email Fgrir_Nycreg @ vqk.pbz is encrypted with ROT13 (www.rot13.org)
> > and spaces
> >
>
>
>
.



Relevant Pages

  • Re: RPC over HTTP - one server scenario no ISA
    ... If you have verified that your "Valid Ports" key is set correctly, ... You should get a 403.2 HTTP Error, this means that you are accessing the ... I've been able to connect to the server from an XP ...
    (microsoft.public.exchange.connectivity)
  • Re: Media services - cannot connect to media from internet
    ... If I disable HTTP and RTSP on the server, and only have MMS enabled, then I ... open for both UDP and TCP, no ports are being blocked outbound. ...
    (microsoft.public.windowsmedia)
  • Re: Wrapping TCP communications in HTTP
    ... HTTP is a half-duplex protocol. ... The send socket is used to send all requests. ... so the server can return any data it has. ...
    (microsoft.public.win32.programmer.networks)
  • Re: IE6 bug: doesnt resend form-data when server resets connectio
    ... >> When the server closes the connection on a socket where IE is currently ... >> sending a HTTP POST, IE will resend the request on a new socket, but will ... >> only send the HTTP headers and not the form-data. ... IE holds on to keepalive'd sockets for 60 secs and due to this bug I get the ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Re: writing a proxy ..
    ... I redirect my browser to the local server and re-route the HTTP ... Socket orig; ...
    (comp.lang.java.programmer)