Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecouter un port et pousser le résultat vers du php

    31 août 2014 à 0:04:13

    Bonjour, je m'adresse à vous car je suis pas trop doué niveau programmation python .

    Je cherche une programme en python qui me permettrais d'écouter un port et d'envoyer le résultat vers une page php .

    J'arrive a le faire avec un petit script bash mais il s’arrête au bout de 20 minutes je pense que "NC"  n'est pas fais pour sa

    #/bin/bash
    while true
    do
    echo En attente
    var=$(nc -l -p 7879 | sed -r '/^$/!q')
    curl "http://192.168.1.12/test.php?msg=$var"
    echo $(date) 
    echo Commande envoyé
    done


    Voila mon bash qui fonctionne , je voudrais savoir si il y a moyens d'écouter le port 7879 pour le mettre dans une variable .

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      1 septembre 2014 à 13:03:27

      Oui, ça se fait tout bêtement avec une socket, comme dans tous les langages du monde.

      Par contre :

      • Pourquoi faire un script en Python pour ça ?
      • Qu'est-ce qui te fait penser que netcat n'est pas adapté ?

      Le man de netcat nous dit également, ceci à propos de l'option -l :

      It is an error to use this option in conjunction with the -p, -s, or -z options.

      -
      Edité par nohar 1 septembre 2014 à 13:07:03

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        1 septembre 2014 à 16:40:38

        Mon bash s’arrête au bout d'une heure ou 5 ça dépend . Je me suis dis que cela pouvais venir de NC

        Sinon j'ai fais quelque recherche et trouver un petit script python pour faire la même chose .

        Mais j'ai un probleme je voudrais que ma variable msgClient s'ajoute a la variable url . quand je fais res = urllib2.urlopen(req)

        mon url et bien lu mais sans les paramètres msgClient qui va avec et la je comprend pas

        # Ce serveur attend la connexion d'un client,
        
        import socket, sys
        import time
        import urllib2
        
        HOST = ''
        PORT = 7879
        
        # 1) création du socket :
        mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        
        # 2) liaison du socket à une adresse précise :
        try:
            mySocket.bind((HOST, PORT))
        except socket.error:
            print "La liaison du socket à l'adresse choisie a échoué."
            sys.exit()
        url = 'http://192.168.1.12/test.php?msg='
        while 1:
            # 3) Attente de la requête de connexion d'un client :
            print "Serveur prêt, en attente de requêtes ..."
            mySocket.listen(1)
            
            # 4) Etablissement de la connexion :
            connexion, adresse = mySocket.accept()
            print "Client connecté, adresse IP %s, port %s" % (adresse[0], adresse[1])
            heure = time.strftime('%d/%m/%y %H:%M:%S',time.localtime())
            print time.strftime('%d/%m/%y %H:%M:%S',time.localtime())
            # 5) Dialogue avec le client :
            msgClient = connexion.recv(1024)
            print "C>", msgClient
            req = urllib2.Request(url, msgClient)
            res = urllib2.urlopen(req)
            print res.read()
            print url,test
            connexion.close() 
        
            



        • Partager sur Facebook
        • Partager sur Twitter
          1 septembre 2014 à 17:25:53

          Bon j'ai trouver il fallait faire ça comme ça

          req = urllib2.Request(url + msgClient)

          et pas comme ça

          req = urllib2.Request(url, msgClient)

           Merci quand même





          • Partager sur Facebook
          • Partager sur Twitter

          Ecouter un port et pousser le résultat vers du php

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown