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/Web Python Discussion :

Connexion à Tor via Python


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut Connexion à Tor via Python
    Bonjour à tous !

    Je développe en ce moment une application qui doit se connecter anonymement à des sites internet, en pouvant changer d'ip à chaque connexion, c'est pourquoi j'aimerai utiliser le réseau Tor qui remplit ces conditions. J'ai donc téléchargé Tor Browser. J'aurais besoin de me connecter avec une IP de TOR, en HTTP, à un site (prenons google comme exemple). Ensuite, je dois télécharger la page sous la forme d'une str (ou bytes) contenant le code HTML, j'extrais un ou plusieurs liens sur la page (ça, je sais faire) et je m'y connecte.
    Je me demandais juste s'il était possible, et si oui comment, d'écrire un code qui automatise ces connexions car je dois le faire pas mal de fois.
    Je tiens à préciser que j'ai effectué pas mal de tentatives avec différents codes fournis sur internet mais ils ne marchaient pas, même en adaptant avec python 3, je me retrouve pour la plupart des trucs que j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>>u = urllib2.urlopen(url)
    urllib.error.URLError: <urlopen error [WinError 10061] Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée>
    Je ne comprends pas pourquoi ça ne marche pas, ça a l'air de bien marcher pour ceux qui ont posté le code.

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 067
    Par défaut
    Bonjour,

    Tu devrais utiliser une bibliothèque spécifique à python, comme stem par exemple...

    Existe pour la version 2.x et 3.x.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Merci beaucoup, c'est ce qu'il me faut. Mais j'ai toujours un problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from stem.control import Controller
     
    with Controller.from_port(port = 9051) as controller:
      controller.authenticate()  # provide the password here if you set one
     
      bytes_read = controller.get_info("traffic/read")
      bytes_written = controller.get_info("traffic/written")
     
      print ("My Tor relay has read %s bytes and written %s." % (bytes_read, bytes_written))
    input()
    Et j'obtiens (encore) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Traceback (most recent call last):
      File "C:\Documents and Settings\Anne Marie\Bureau\Programmation HTML\TOR\Tor avec stem.py", line 3, in <module>
        with Controller.from_port(port = 9051) as controller:
      File "C:\Program Files\Python scriptor\lib\site-packages\stem\control.py", line 659, in from_port
        control_port = stem.socket.ControlPort(address, port)
      File "C:\Program Files\Python scriptor\lib\site-packages\stem\socket.py", line 314, in __init__
        self.connect()
      File "C:\Program Files\Python scriptor\lib\site-packages\stem\socket.py", line 187, in connect
        self._socket = self._make_socket()
      File "C:\Program Files\Python scriptor\lib\site-packages\stem\socket.py", line 343, in _make_socket
        raise stem.SocketError(exc)
    stem.SocketError: [WinError 10061] Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Une solution ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    J'ai vu qu'il se connectait à "localhost", or ça refuse la connexion, je ne comprends vraiment pas ce qui se passe, ça a l'air de marcher pour les autres sur les exemples. Quelqu'un a une idée de ce qu'il faut faire ?
    J'avais tenté de mettre l'argument address avec l'ip de sites web et aussi l'ip de différents serveurs de TOR mais ça ne marche pas. Avez-vous une explication ? j'avoue que j'ai du mal à comprendre l'intérêt de se connecter à son propre ordinateur pour avoir un relais TOR pour nos données, mais bon...

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 9
    Par défaut
    Salut, je ne suis pas spécialiste de Tor mais il me semble que l'application généré un proxy type Socks5 (sous linux c'est sur le port 9050). Il faut que tu utilise privoxy ou un autre soft du genre pour créer un proxy http et l'utiliser avec urllib. Sinon c'est normale de te connecter sur 127.0.0.1.
    Pour finir le message d'erreur que tu obtiens signifie que tu essais de te connecter sur un port non ouvert.

Discussions similaires

  1. CONNEXION ORACLE VIA PERL
    Par bouda27 dans le forum Oracle
    Réponses: 1
    Dernier message: 07/04/2006, 17h06
  2. connexion à PHPMySQL via jdbc
    Par sjtraore dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/02/2006, 18h18
  3. Souci de connexion internet via PPPoE sous Knoppix
    Par Anomaly dans le forum Réseau
    Réponses: 11
    Dernier message: 23/09/2004, 20h38
  4. [linux] connexion LAN via ethernet - ping passerelle KO
    Par CLB dans le forum Développement
    Réponses: 5
    Dernier message: 26/03/2004, 14h40
  5. Erreur de connexion à PostGresql via pgAdminII
    Par LS dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 21/08/2003, 09h51

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