Cache Proxy en C#

27/05/2004 - 22:54 por David | Informe spam
Hola de nuevo.

Estoy probando a realizar un proxy para html en un principio, con c#,
cambiando la configuración del windows, consigo sin

ningún problema redirecionar las peticiones que se realizan desde el
explorer a mi programa que escucha un puerto determinado tcp.



La pregunta es si utilizando la clase TcpListener o Socket, es posible
determinar la dirección IP y puerto destino de la conexión que me han
realizado, sin tener que analizar la solicitud html para averiguar el host
destino?



Gracias.

Preguntas similare

Leer las respuestas

#1 Diego Gonzalez
31/05/2004 - 14:48 | Informe spam
Hola,

No entiendo bien tu pregunta pero creo que esto es lo que buscas:
Socket.LocalEndPoint y Socket.RemoteEndPoint.

Saludos,
Diego Gonzalez
Lagash Systems SA

"David" wrote in message
news:mAstc.612452$
Hola de nuevo.

Estoy probando a realizar un proxy para html en un principio, con c#,
cambiando la configuración del windows, consigo sin

ningún problema redirecionar las peticiones que se realizan desde el
explorer a mi programa que escucha un puerto determinado tcp.



La pregunta es si utilizando la clase TcpListener o Socket, es posible
determinar la dirección IP y puerto destino de la conexión que me han
realizado, sin tener que analizar la solicitud html para averiguar el host
destino?



Gracias.






Respuesta Responder a este mensaje
#2 David
31/05/2004 - 20:07 | Informe spam
Hola Diego, lo que quiero hacer es un programa que hace de intermediario
entre el explorador y una pagina Web a modo de cache http, para ello
configuro en el Internet Explorer el servidor Proxy para que el trafico HTTP
me lo dirija a 127.0.0.1 puerto 1000, donde esta escuchando mi programa:

El problema esta que cuando pongo un enlace en mi pagina Web, recibo una
conexión socket en mi programa, pero claro en LocalEndPoint me encuentro la
dirección de escucha de la aplicación 127.0.0.1:1000 y en RemoteEndPoint la
dirección de origen, 127.0.0.1:3405 (cosa lógica por otra parte), lo que
estoy haciendo es analizar la trama de solicitud de pagina Web comprobando
que contenga "get http" y buscando la entrada "host:" para localizar vía dns
la dirección IP real a la que iba destinada la solicitud de la pagina Web,
por ejemplo www.terra.es:80 antes de ser interceptada por el Proxy.

Lo que quería preguntar, es si existe algún otro mecanismo por el que se
pueda conocer la dirección y puerto real a la que iba destinada la solicitud
y así poder realizar más fácilmente un servidor Proxy, sin tener que abrir
varios puertos para cada tipo de protocolo, http, ftp, https, etc o tener
que analizar la trama.

Gracias.


"Diego Gonzalez" escribió en el mensaje
news:uchB$
Hola,

No entiendo bien tu pregunta pero creo que esto es lo que buscas:
Socket.LocalEndPoint y Socket.RemoteEndPoint.

Saludos,
Diego Gonzalez
Lagash Systems SA

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida