Puedo acceder a una página web muy bien presionando directamente mi servidor web de la siguiente manera:
$ echo "GET /sample" | nc web-server 80
This is contents of /sample...
$
Ahora, me gustaría que netcat vaya a través de un proxy HTTP Squid (escuchando en el puerto 3128), al igual que puedo configurar mi navegador Firefox a través de sus preferencias de proxy y hacer que funcione a través de un proxy HTTP.
Intenté lo siguiente, pero no funcionó:
$ echo "GET /sample" | nc -x squid-proxy:3128 web-server 80
<Seemed to be blocked FOREVER on input, so I killed it.>
<Ctrl-C>
$
Nota: Estoy usando la versión RHEL 5.3 de netcat que tiene las siguientes opciones:
$ nc --help
nc: invalid option -- -
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
Extracto de la página de manual de nc
:
EXAMPLES
<snip>
Connect to port 42 of host.example.com via an HTTP proxy at 10.2.3.4, port 8080.
This example could also be used by ssh(1); see the ProxyCommand directive in
ssh_config(5) for more information.
$ nc -x10.2.3.4:8080 -Xconnect host.example.com 42
Ahora, debido a que el mío no es un caso de uso ssh / SSL, ¡no estoy seguro de cómo usar las opciones -x
/ -X
, o incluso si debería usarlas en absoluto!
Si hay más de una forma de lograr el objetivo anterior (es decir, enrutar el tráfico de netcat a través de un proxy HTTP), agradecería enormemente si pudiera compartirlos todos.
Muchas gracias de antemano.
0.1
para enmascarar mi ignorancia.:)
nc
Firefox aclara un poco las cosas?nc squid-proxy 3128
seguidoGET http://webserver/sample HTTP/1.0
, pero obtuve un HTTP / 1.0 403 Prohibido (Error de acceso denegado).:)
Probablemente puede utilizartcpdump
owireshark
para aprovechar sus propiasCONNECT
ideas de conexión y de ganancia ...Echa un vistazo a socat: http://www.dest-unreach.org/socat/doc/README
fuente
echo "GET /sample HTTP/1.0" | socat PROXY:squid-proxy:web-server:80,proxyport=3128 STDIN
, pero llegado este error:2012/05/17 06:56:23 socat[3135] E CONNECT web-server:80: Forbidden
. Ahora, solo para ver si entendí bien esta herramienta, probé el uso básico sin proxy: ¡echo "GET /sample HTTP/1.0" | socat TCP4:web-server:80 STDIN
pero no obtuve respuesta! Entonces, obviamente, me falta algo aquí en el uso de socat. Le agradecería si pudiera señalar mi error.STDIO
(o,-
) en lugar deSTDIN
. Pero la versión proxy todavía me da el mismo error.echo "GET http://web-server/sample" | socat - TCP:squid-proxy:3128
y funcionó. ¿Confirmaría si así es como se supone que debo usarsocat
(en lugar de laPROXY:...
especificación de la dirección)?