Partage
  • Partager sur Facebook
  • Partager sur Twitter

crée un serveur et client avec le module socket

Sujet résolu
    19 mai 2017 à 19:34:52

    Bonjour 

    je suis actuellement sous python 3.6 et j'aimerai faire un reverse TCP(serveur et client)mais j'ai regarder de nombreux tuto qui sont touse sous python 2.6 et ca ne marche pas.

    -
    Edité par QuentinCerf1 20 mai 2017 à 12:00:04

    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2017 à 13:29:22

      D'accord. Et donc ? Tu as abandonné ton projet ? Tu coinces à un endroit ? Tu veux quoi en fait ?
      • Partager sur Facebook
      • Partager sur Twitter

      Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

        21 mai 2017 à 11:16:29

        non je n'ai pas abandonné mais c'est juste que j'ai essaye plusieurs script que j'ai trouver sur internet mais il y en a aucun qui marche apres les deux script serveur et client je les ai lancer sur la meme machine peut etre que je devrais essayer sur une machine virtuel ?
        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2017 à 21:36:42

          As tu appris les bases du language au moins ?

          Sinon envoie un script et je me ferra une joie de te dire ou sa coince

          -
          Edité par DefalT301 22 mai 2017 à 21:37:55

          • Partager sur Facebook
          • Partager sur Twitter
            22 mai 2017 à 23:16:08

            je vois pas l'intérêt de faire un copier coller de script si tu ne comprends pas le code
            • Partager sur Facebook
            • Partager sur Twitter
            soul_expiration = float("inf")
              24 mai 2017 à 12:34:12

              Je rejoins ce qu'a dis redeoshell

              Tu connais un peu le reseau ? tu code en python ?

              parce que si tu pense faire de RAT sans savoir un minimum coder, bah assis toi sur ton reve car sa marchera jamais

              Sinon deroule la doc python sur la librairy socket

              -
              Edité par DefalT301 24 mai 2017 à 12:36:39

              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2017 à 19:22:10

                Bonjour, 

                je connais un peu le python et voici mon code mais je ne comprend pas pourquoi il marche pas

                #client.py
                import socket
                
                hote = "localhost"
                port = 15555
                
                socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                socket.connect((hote, port))
                
                socket.send("connected")
                while True:
                	msg = input(">>")
                	print(msg)
                	socket.send(msg)
                socket.close()

                et voici le serveur

                #server.py
                
                import socket
                
                socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                socket.bind(('', 15555))
                
                while True:
                        socket.listen(5)
                        client, address = socket.accept()
                
                        response = client.recv(255)
                        if response != "":
                                print (response)
                client.close()
                stock.close()




                • Partager sur Facebook
                • Partager sur Twitter
                  24 mai 2017 à 23:05:03

                  et puis

                  tu n'a pas de variable "stock" donc c'est normal que sa ne marche pas

                  puis sa

                  print (response)

                  Envoie moi le msg d'erreur

                  et puis dis moi comment tu l'execute

                  et je sais pas se que les autres en pense

                  mais ta variable :

                  socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                  c'est bien moche
                  c'est un peu comme les variable avec des espaces ou des carrectere speciaux
                  sa genere des problemes

                  -
                  Edité par DefalT301 24 mai 2017 à 23:12:55

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 mai 2017 à 9:58:48

                    le probleme vient de mon client surtout de la boucle while je ne sais pas trop comment je peux les resoudre je ne comprend pas encore bien les message d'erreur,

                    pouvez-vous m'aider, SVP

                    #client.py
                    import socket
                    
                    hote = "localhost"
                    port = 15555
                    
                    socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                    socket.connect((hote, port))
                    
                    socket.send("connected")
                    while True:
                    	msg = input(">>")
                    	print(msg)
                    	socket.send(msg)
                    



                    -
                    Edité par QuentinCerf1 25 mai 2017 à 10:01:00

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 mai 2017 à 11:14:53

                      Fais l'effort d'être plus explicite. «Ça ne marche pas» ne veut strictement rien dire en programmation. Si tu as une erreur, quelle est-elle et à quelle ligne survient-elle? Si tu n'en as pas, qu'est-ce qui te fait dire que ça ne «marche pas»?

                      Dans un même espace des noms, il ne peut y avoir qu'une seule occurrence d'un nom. Donc comme Defal a essayé de te l'expliquer, il ne faut pas donner le nom socket à ta variable (ligne 7) alors que tu as déjà un objet qui s'appelle socket (le module en ligne 2). En faisant ça, tu as retiré la référence à ton module et donc tu ne peux plus l'utiliser.

                      -
                      Edité par Olygrim 25 mai 2017 à 11:15:10

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Précepte: Le mieux est l'ennemi du bien
                        25 mai 2017 à 11:56:56

                        merci pour vos aide le probleme ce n'est pas le nom socket mais meme en utilisant 2 IDLE différente je trouve des probleme différent voici le premier

                        Traceback (most recent call last):
                          File "C:\Users\client2.py", line 10, in <module>
                            s.send("connected")
                        TypeError: a bytes-like object is required, not 'str'

                        et voici le deuxieme

                        File "C:\Users\client2.py", line 12, in <module>
                            msg = input(">>")
                          File "<string>", line 1, in <module>
                        NameError: name 'ok' is not defined

                        ps : "ok" est le message que j'ai envoyer



                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 mai 2017 à 12:31:58

                          Voilà, ton message est plus constructif et donc on peut t'aider plus facilement.

                          La première erreur vient du fait que la méthode send attend un objet de type bytes alors que toi tu lui fournis un objet de type str. N'ayant jamais fait ça je ne fais que spéculer, mais il me semble que tu dois utiliser la méthode encode des chaînes de caractères pour avoir un objet bytes (en indiquant l'encodage de la chaîne):

                          socket.send("connected".encode(encoding="utf-8"))
                          while True:
                              msg = input(">>")
                              print(msg)
                              socket.send(msg.encode(encoding="utf-8"))



                          La seconde erreur vient du fait que tu utilises une v2 de python. Dans cette version, input évalue directement ce que tu entres. Donc si tu mets ok, la fonction ne va pas renvoyer une chaîne de caractères, mais va chercher une variable du même nom. Ce problème n'existe pas dans la v3 car la fonction a été modifiée pour toujours renvoyer une chaîne de caractères (donc aucune évaluation).

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Précepte: Le mieux est l'ennemi du bien
                            25 mai 2017 à 14:41:19

                            merci pour les info j'ai utiliser l'idle de python3.6 et maintanant un message d'erreur apparait au serveur

                            voici le code

                            #server.py
                            
                            import socket
                            
                            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                            s.bind(('', 15555))
                            
                            while True:
                                    s.listen(5)
                                    client, address = s.accept()
                            
                                    response = client.recv(255)
                                    if response != "":
                                            print (response)              
                                            

                            et voici le message d'erreur

                            Traceback (most recent call last):
                              File "C:\Users\server2.py", line 6, in <module>
                                s.bind(('', 15555))
                            OSError: [WinError 10048] Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée




                            • Partager sur Facebook
                            • Partager sur Twitter
                              25 mai 2017 à 15:13:46

                              Enfaite tu comprend pas se que tu fais

                              alors retourne apprendre le python puis le reseau et t'aura plus de probleme

                              parce que non seulement :

                                 - c'est ecrit en francais

                                 - mais en plus tu ne vois pas se que sa veut dire et d'ou sors cette erreur

                              -
                              Edité par DefalT301 25 mai 2017 à 15:15:39

                              • Partager sur Facebook
                              • Partager sur Twitter
                                25 mai 2017 à 18:49:19

                                dsl mais avant de vouloir creer un server il faut apprendre deja les bases d'un language puis ensuite le Reseaux

                                Il y a de tres bon cour sur openclassrom

                                mon conseil :

                                - commence python

                                - apprend le modele OSI

                                - fini par le reseau

                                un autre tres bon site si tu galere sur OC

                                http://apprendre-python.com/

                                une fois que tu maitrisera tous cela, tu y arrivera

                                Bonne continuation

                                ( PS : peux tu fermer le sujet ? )

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  26 mai 2017 à 11:29:33

                                  merci beaucoup j'ai recu a faire ce que je voulais mais je vais comme meme aller apprendre un peu mieux le python merci comme meme pour vos aide
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    26 mai 2017 à 14:36:15

                                    Le respect pour la langue francaise est porter disparu
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 novembre 2018 à 21:47:07

                                      Voici une bonne série d'articles sur python

                                      https://programmation360.com/category/tutoriels-python-3/

                                      -
                                      Edité par PythonMO 17 novembre 2018 à 10:33:51

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      crée un serveur et client avec le module socket

                                      × 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