2011-02-04 18 views
9

No sé si hay una forma de hacer ping a un destino fuera de mi proxy de LAN que solo acepta solicitudes Http a través de un proxy squid ... Leí en alguna parte que una forma de manejar ese problema es usar un túnel http para que el proxy todavía ve la solicitud como una solicitud Http. ¿Puedo usar esto para ping, por ejemplo, www.google.com que de otro modo se da el siguiente error debido a que el servidor de seguridad está rechazando la solicitud:¿Puedo usar http tunnel para hacer ping o traceroute a través de un proxy con firewall?

$ ping www.google.com 
ping: unknown host www.google.com 

Si es así ¿cómo se hace ...?

He instalado httptunnel. Cualquier ayuda sobre cómo usarlo será muy apreciada.

Respuesta

8

No. Ping y traceroute utilizan protocolos de red de capa inferior (ICMP y/o UDP, en particular, que son protocolos de capa 4) y no funcionarán en un túnel HTTP (capa 7). En cualquier caso, incluso si pudieras convencer al proxy HTTP para que abra una sesión TCP sin procesar para ti (que es cómo funciona algún túnel HTTP), no recibirías los paquetes necesarios para confirmar que el host es alcanzable. (Respuesta de eco ICMP, en el caso de ping, o los paquetes ICMP expirados en tiempo de vida en el caso de traceroute)

Para probar la conectividad en esta situación, creo que lo mejor que puede hacer es un HTTP " silbido". (Trate de establecer una conexión HTTP con el host remoto y ver si funciona.) Por ejemplo, usted podría hacer algo como:

$ http_proxy=http://webproxy.example.com:3128 \ 
> curl -I http://google.com/ > /dev/null 2>&1 \ 
> && echo success || echo failure 

Suponiendo que haya instalado curl, esto sería imprimir "éxito" si google.com es accesible a través de su proxy y "falla" si no es así.

+0

Gracias tú. Lo intenté, pero todavía muestra un error ... por favor dígame dónde podría estar equivocado – pflz

+0

Pruebe un comando del formato 'http_proxy = http: // : curl -I http: // google.com/', que podría ser más instructivo. (En otras palabras, primero asegúrese de tener la dirección proxy correcta y el proxy es accesible. Puede intentar 'telnet ' y ver si se conecta, o si la conexión se rechaza). – mpontillo

+0

Además, intente 'echo $ http_proxy 'para ver si ya se ha configurado para ti. Si es así, puedes dejarlo y simplemente usar 'curl'. – mpontillo

1

No es exactamente lo que estaba buscando, pero si se puede acceder y el servidor ssh externa, se puede ejecutar a través de eso, y los resultados reflejarán el tiempo de ping al servidor ssh:

$ ssh [email protected] 'ping -c 1 google.com' 
PING google.com (72.14.204.147) 56(84) bytes of data. 
64 bytes from iad04s01-in-f147.1e100.net (72.14.204.147): icmp_seq=1 ttl=57 time=2.64 ms 

--- google.com ping statistics --- 
1 packets transmitted, 1 received, 0% packet loss, time 0ms 
rtt min/avg/max/mdev = 2.640/2.640/2.640/0.000 ms 
Cuestiones relacionadas