Puis-je utiliser le tunnel HTTP pour faire un ping ou un traceroute via un proxy avec pare-feu?

StackOverflow https://stackoverflow.com/questions/4903002

Question

Je ne sais pas s'il existe un moyen de cingler une cible en dehors de mon proxy LAN qui n'accepte que les demandes HTTP via un proxy de calmar ... J'ai lu quelque part qu'une façon de traiter un tel problème est d'utiliser un tunnel HTTP afin que le Le proxy considère toujours la demande comme une demande HTTP. Puis-je l'utiliser pour ping, par exemple, www.google.com qui autrement donne l'erreur suivante car le pare-feu rejette la demande:

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

Si oui, comment est-il fait...?

J'ai installé httptunnel. Tout aide à l'utiliser sera très apprécié.

Était-ce utile?

La solution

Non. Ping et Traceroute utilisent des protocoles de réseau de couche inférieur (ICMP et / ou UDP, en particulier, qui sont des protocoles de couche 4) et ne fonctionnera pas sur un tunnel HTTP (couche 7). En tout cas, même si vous pouviez convaincre le proxy HTTP pour ouvrir une session TCP brute pour vous (c'est ainsi que certains fonctionnalités de tunneling HTTP), vous ne recevrez pas les paquets nécessaires pour confirmer que l'hôte est accessible. (Répondre ICMP Echo, dans le cas du ping, ou les paquets ICMP expirés dans le temps dans le cas de Traceroute)

Pour tester la connectivité dans cette situation, je pense que le mieux que vous puissiez faire est un "ping" HTTP. (Essayez d'établir une connexion HTTP avec l'hôte distant et voyez si cela fonctionne.) Par exemple, vous pouvez faire quelque chose comme:

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

En supposant que vous avez curl Installé, cela imprimerait le "succès" si Google.com est accessible via votre proxy et "défaillance" sinon.

Autres conseils

Ce n'est pas exactement ce que vous recherchiez, mais si vous pouvez accéder et serveur SSH externe, vous pouvez l'exécuter à travers cela, et les résultats refléteront le temps de ping au serveur SSH:

$ ssh username@server '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 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top