IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

Passer un proxy HTTP - Tunelling


Sujet :

Réseau

  1. #1
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut Passer un proxy HTTP - Tunelling
    Bonjour,

    Vendredi après-midi j'avais un peu de temps, je suis allé squater un pc de la fac (sous mandriva ).
    Première chose, comment faire marcher la connexion internet ?

    Un pote m'a expliqué qu'il fallait configurer Mozilla pour qu'il utilise le proxy de la fac. Du coup il est possible d'aller sur internet, mais je n'ai pas pu me connecter en ssh sur ma machine chez moi.

    Donc j'aurais voulu savoir si il existe des outils capables d'encapsuler une connexion quelconque dans du HTTP pour passer le proxy et un daemon (qui pourrait tourner sur ma machine perso) pour désencapsuler la dite connexion.

    Si ce genre d'outil n'existe pas je pourrais essayer d'en coder moi même, je connais assez bien HTTP (assez bien pour créer un couple client/serveur basique), mais je ne connais pas du tout le fonctionnement de ce genre de proxy.


    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    salut,
    il faut que tu utilises putty. c'est une appli qui te permet de faire du ssh en direct ou avec un proxy. je l'ai déjà utilisé pour me connecter au ssh de sourceforge via mon proxy donc ça marche !

  3. #3
    Membre émérite
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Par défaut
    Personnellement, j'utilise ça :
    http://zippo.taiyo.co.jp/~gotoh/ssh/connect.html

    Sinon, j'ai repéré ce truc là, qui a l'air prometteur :
    http://www.agroman.net/corkscrew/

    :-)
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  4. #4
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Ah c'est sympa je ne connaissais pas cette fonction de putty.
    Déjà si je peux me connecter en ssh à ma machine je pourrais tout faire à partir de là.

    Je pourrais aussi me servir de PuTTY comme un remplaçant de telnet (absent sur les machines de l'univ ) et faire quelques test sur le proxy voir ce qu'il autorise et n'autorise pas.
    Genre si il n'aurotise pas les requêtes avec la méthode CONNECT je suis dans la m*** pour les connexions ssh avec putty.
    Mais comme je suppose que les connexions SSL sont aurotisées, il ne devrait pas y avoir de problème.

    /me croise les doigts et testera lundi

  5. #5
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Bah en fait y'a pas moyen.

    Lundi j'ai essayé de compiler putty sur la machine et pas moyen, donc je l'ai compilé sur ma machine avec l'option -static et je l'ai mis sur le net.

    Lorsque j'ai essayé de me connecter en ssh sur ma machine il me répond "403 forbidden". En mode telnet j'essaye une requête CONNECT, et pas moyen. Le proxy ne laisse pas passer les requêtes connect.
    Ceci fait que même webmin est inaccessible car utilisant une connexion ssl.

    Cette impossibilité de faire une requête CONNECT pose un problème pour établire une connexion ssh car les requêtes GET et POST sont censés renvoyer des données et ne plus attendre de réponse du client. Or avec ssh on doit pouvoir échanger des données à plusieurs reprises sans interruption de la connexion.

    À la limite il doit être possible de faire quelque chose du même genre que les CGI:IRC. C'est à dire avoir un client qui ne fait que des requêtes GET et POST puis la machine qui reçoit ces requête les interprête et effectue certaines actions sur une connexion persistante.

    Un truc dans ce genre :
    Client --> proxy --> relais <--> serveur
    avec "Client" qui ne fait que des requêtes GET et POST vers "relais" pour pouvoir passer à travers "proxy". Et ensuite c'est "relais" qui crée la connexion persistante avec "serveur".

    Comme je l'ai déjà dit, ce genre de truc existe pour irc avec les CGI:IRC, mais est-ce-que ça existe pour ssh ou encore mieux pour une connexion quelconque ?
    Au pire je pourrais le coder moi même, mais autant ne pas perdre 3 jours à réinventer la roue si quelqu'un l'a inventé avant moi.


    Merci d'avance.

  6. #6
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Petit up pour dire que quelqu'un a bien inventé la roue avant moi, et elle s'appelle httptunnel, téléchargeable ici. http://www.nocrew.org/software/httptunnel.html

    Y'aura plus qu'à tester.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par Celelibi
    Lorsque j'ai essayé de me connecter en ssh sur ma machine il me répond "403 forbidden". En mode telnet j'essaye une requête CONNECT, et pas moyen. Le proxy ne laisse pas passer les requêtes connect.
    Mouais... Si c'est Squid et si vous pouvez aller sur des sites en HTTPS, alors ça doit pouvoir passer...mais sur le port 443 seulement.
    En effet, pour autoriser le HTTPS avec SQUID (et d'autres), on autorise l'emploi de la méthode CONNECT quand le port de destination est égal à 443.
    En fait, Squid (et d'autres) ne supportent pas HTTPS (cf . ``Unsupported Request Method and Protocol'' for https URLs.).
    Il faut donc que ton serveur SSH écoute sur le port 443 ou que tu rediriges les connexions sur ce port vers le port de ton serveur SSH (avec iptables par ex.).
    Sinon, httptunnel peut effectivement être une alternative.

  8. #8
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Je sais pas si c'est moi qui ai fait quelque chose de travers, mais j'ai pas réussi à passer le proxy avec httptunnel, pourtant en local ça marchait très bien.

    Si c'est Squid et si vous pouvez aller sur des sites en HTTPS, alors ça doit pouvoir passer...mais sur le port 443 seulement.
    Il me semble qu'il s'agit effectivement de Squid, mais je n'avais pas de site sécurisé ssl sous la main pour tester, juste un webmin sur le port 10000.
    Pour le port 443 je change la config de sshd ce soir et j'esserais demain de me connecter de la fac. Sinon je prends ma semaine de "pause pédagogique" pour coder un prog vite fait.

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par Celelibi
    [...] je n'avais pas de site sécurisé ssl sous la main pour tester[...]
    httpS://www.google.com
    Euh...même pas celui-là ?

  10. #10
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Ah oui en effet, j'y avait pas pensé.

    Sinon je n'ai pas pu tester aujourd'hui car ma connexion à planté durant la nuit et que je n'ai pas eut le temps la redémarrer ce matin.
    Mais les requêtes CONNECT sur le port 443 semblent passer.

    Donc ça devrait être bientôt définitivement résolu mais j'attends de voir que ça marche avant de cliquer sur le bouton.

  11. #11
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    yop, ça passe.

    [Solved] ^^

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Par défaut [tunneling] proxy
    Tu as bien coché "Aucun" dans l'onglet proxy de putty et non proxy ou sock ?

  13. #13
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Bah perso j'ai coché "HTTP" parceque c'est d'un proxy HTTP dont il s'agit.

    De toutes façon comme l'a dit David.Schris ce n'était qu'un problème de port.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Par défaut
    Citation Envoyé par Celelibi
    Lundi j'ai essayé de compiler putty sur la machine et pas moyen, donc je l'ai compilé sur ma machine avec l'option -static et je l'ai mis sur le net.
    Bonjour,

    On va me dire que je déterre ce sujet... C'est un peu vrai

    Mais je me demande comment tu as pu compiler putty en statique ? En fait je cherche moi aussi à me faire un binaire qui fonctionnerait n'importe où (chaque salle de mon université a une distrib différente ).

    Merci d'avance

  15. #15
    Membre émérite
    Avatar de _solo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    889
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 889
    Par défaut
    il genere normalement un fichier objet fichier.o
    ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gcc -static -o fichier fichier.o
    et tu as un fichier fichier (executable) non dynamique

    Man Gcc pour en savoir plus la syntaxe

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Par défaut
    Rajouter "-static" à la ligne du rassemblement de tous les .o me donne les erreurs suivantes :

    /usr/bin/gcc-3.3 `gtk-config --libs` -static -o putty be_all.o cmdline.o config.o cproxy.o \
    dialog.o fromucs.o gtkcfg.o gtkcols.o gtkdlg.o gtkpanel.o \
    gtkwin.o ldisc.o ldiscucs.o localenc.o logging.o macenc.o \
    mimeenc.o minibidi.o misc.o pinger.o portfwd.o proxy.o raw.o \
    rlogin.o sbcs.o sbcsdat.o settings.o slookup.o ssh.o \
    sshaes.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o \
    sshdh.o sshdss.o sshmd5.o sshpubk.o sshrand.o sshrsa.o \
    sshsh512.o sshsha.o sshzlib.o telnet.o terminal.o time.o \
    timing.o toucs.o tree234.o utf8.o ux_x11.o uxagentc.o \
    uxcfg.o uxmisc.o uxnet.o uxnoise.o uxprint.o uxproxy.o \
    uxputty.o uxsel.o uxsignal.o uxstore.o uxucs.o version.o \
    wcwidth.o wildcard.o x11fwd.o xenc.o xkeysym.o
    uxmisc.o: In function `get_username':
    ../unix/uxmisc.c:82: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    ../unix/uxmisc.c:97: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    ../unix/uxmisc.c:80: warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    ../unix/uxmisc.c:102: warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    uxnet.o: In function `sk_namelookup':
    ../unix/uxnet.c:156: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    uxnet.o: In function `net_service_lookup':
    ../unix/uxnet.c:1261: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    gtkcols.o: In function `columns_get_type':
    ../unix/gtkcols.c:40: undefined reference to `gtk_container_get_type'
    ../unix/gtkcols.c:40: undefined reference to `gtk_type_unique'
    ...
    Une idée ? Merci pour ta réponse

  17. #17
    Membre émérite
    Avatar de _solo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    889
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 889
    Par défaut
    Pour ce qui est des Warnings qu'il y en ait ou pas ca ne changeras rien a l'utilisation par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     /unix/gtkcols.c:40: undefined reference to `gtk_container_get_type'
    ../unix/gtkcols.c:40: undefined reference to `gtk_type_unique'
    la je comprends pas trop .

    Au fait as-t-il quand meme generer ton binaire ? parce que warning ou pas en theorie il le fait quand meme.

  18. #18
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Bonsoir,

    Citation Envoyé par _solo
    il genere normalement un fichier objet fichier.o
    ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gcc -static -o fichier fichier.o
    et tu as un fichier fichier (executable) non dynamique

    Man Gcc pour en savoir plus la syntaxe
    Tout d'abord, deux remarques mineures (pour ceux qui ne connaîtraient pas et qui passeraient par là) :
    1) En général, c'est "gcc" et pas "Gcc".
    2) On peut obtenir l'exécutable en une fois dans l'exemple donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -static -o fichier fichier.c
    Mais _solo a bien fait de décomposer car c'est la façon correcte de faire avec plusieurs fichiers source.

    Citation Envoyé par _solo
    Pour ce qui est des Warnings qu'il y en ait ou pas ca ne changeras rien a l'utilisation
    Précision : sauf si, comme indiqué dans plusieurs d'entre eux, la version de la Glibc n'est pas la même sur la machine où l'exécutable est lancé et/ou si il y a eu changement d'ABI (Application Binary Interface) [1] entre les deux versions de gcc (celle utilisée pour compiler l'application et celle utilisée pour compiler les bibliothèques présentes sur la machine où l'application est utilisée).
    Pour pallier à ce genre de problème, on utilise en général une "tool chain" spécifique avec une libc faite pour la compilation statique.

    Citation Envoyé par _solo
    par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     /unix/gtkcols.c:40: undefined reference to `gtk_container_get_type'
    ../unix/gtkcols.c:40: undefined reference to `gtk_type_unique'
    la je comprends pas trop .
    Ca, c'est effectivement plus "inquiétant"...

    Cordialement,
    DS.

    [1] - cf. http://www.google.com/search?q=gcc+abi+change

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. by-passer un proxy
    Par ninit2 dans le forum Dépannage et Assistance
    Réponses: 12
    Dernier message: 09/05/2007, 09h24
  2. Recherche code source d'un proxy HTTP
    Par david_chardonnet dans le forum Delphi
    Réponses: 1
    Dernier message: 07/10/2006, 10h13
  3. HttpInvoke et proxy Http
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 03/10/2006, 15h02
  4. proxy http (s?)+ ftp autorisé, comment utiliser telnet ou ssh?
    Par TabrisLeFol dans le forum Applications
    Réponses: 7
    Dernier message: 12/07/2006, 14h58
  5. Réponses: 3
    Dernier message: 18/04/2006, 22h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo