proxy problems
Ok... I got my network code working and it is working fine. But when a client is under the proxy server and it tries to recvfrom() some data from my application server, it encounters some problems. The data doesn''t pass the proxy. How to make a network application to be able to recvfrom() data through a proxy server?
Depends on the proxy type.
SOCKS or HTTP Tunnel proxy
If it''s socks, version 4 or version 5. (only 5 supports UDP)
If it''s HTTP tunnel, then it should work fine. However, bear in mind that many proxy servers will not tunnel to ports other than 443 and sometimes 80 by default (keep people from tunneling all over the internet without rules).
Have you looked into the HTTP tunnel protocol (uses the CONNECT param in the HTTP header)? It''s probably the one you''ll want to implement (easier than SOCKS IMHO).
I''ll try to dig up my old RFC references to HTTP Tunneling. Or you could hit google to find the RFC. It''s very short and to the point. Essentially the HTTP Tunnel proxy sees the header for tunneling and just ignore the data underneath (in most implementations).
Interim
SOCKS or HTTP Tunnel proxy
If it''s socks, version 4 or version 5. (only 5 supports UDP)
If it''s HTTP tunnel, then it should work fine. However, bear in mind that many proxy servers will not tunnel to ports other than 443 and sometimes 80 by default (keep people from tunneling all over the internet without rules).
Have you looked into the HTTP tunnel protocol (uses the CONNECT param in the HTTP header)? It''s probably the one you''ll want to implement (easier than SOCKS IMHO).
I''ll try to dig up my old RFC references to HTTP Tunneling. Or you could hit google to find the RFC. It''s very short and to the point. Essentially the HTTP Tunnel proxy sees the header for tunneling and just ignore the data underneath (in most implementations).
Interim
I don't know what kind of proxy clients utilize. Anyway HTTP proxy should not prevent the UDP packets to pass and reach the target ip, i suppose... So that should be SOCKS probably. Where can i get info on how to code to bypass SOCKS?
[edited by - klio on March 1, 2003 1:23:30 AM]
[edited by - klio on March 1, 2003 1:23:30 AM]
I''m not really aware of any way to bypass SOCKs (unless it''s some hack, but nothing generic). I don''t think it''ll even pickup UDP with SOCKSv4.
You might be able to deduce the proxy based on the port. Traditionally SOCKs is on 1080. HTTP proxies are supposed to use 3128, though many are configured to use 8080.
Also, some proxies use stateful filters to examine the contents of the data, so some HTTP tunnels will fail if they see data that doesn''t "look" like HTTP.
And above all this, the assumption is that the Proxy admin has a loose rule that would allow the clients to even connect to your server.
You''ll probably need more info from the clients to get a head on what''s going on.
Interim
You might be able to deduce the proxy based on the port. Traditionally SOCKs is on 1080. HTTP proxies are supposed to use 3128, though many are configured to use 8080.
Also, some proxies use stateful filters to examine the contents of the data, so some HTTP tunnels will fail if they see data that doesn''t "look" like HTTP.
And above all this, the assumption is that the Proxy admin has a loose rule that would allow the clients to even connect to your server.
You''ll probably need more info from the clients to get a head on what''s going on.
Interim
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement