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 :

Python : deux machines virtuels communicant


Sujet :

Réseau/Web Python

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Python : deux machines virtuels communicant
    Bonjour,
    Je cherche un exemple de code en Python simulant deux machines virtuels s'envoyant des trames tcp.
    Le but est de pouvoir capturer ces trames grace à Wireshark (ethereal).
    Je n'ai jamais fait de programmation en python, je suis un peu perdu.
    J'espère trouver un peu d'aide.
    Je vous remercie.

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Tu as un exemple simple de serveur sur le site de la documentation de python.

    http://www.python.org/doc/2.6/library/socketserver.html
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Je te remercie
    Ca devrai aller pour mon application

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Salut,
    J'ai bien regardé l'exemple qu'il y a dans le tuto mais je ne comprend pas une chose. Je copie le code du serveur dans un fichier et celui du client dans un autre en passant ppar IDLE.
    Je commence par lancer le premier script puis le deuxième, mais je n'ai aucune capture sous wireshark.
    Je pense que ca vient de ma facon de faire au niveau de la copie des deux bouts de code.

    C'est la première fois que je fait des scripts.
    Merci pour l'aide apporté.

  5. #5
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Sur ton outil de capture de trame (wireshark), tu as configuré quelle adresse IP à capturer ?

    Je pense que cela doit être ton adresse ip locale (192.168.0.xxx) par exemple, dans ce cas, as tu bien modifié le code source du client et du serveur pour changer l'adresse ip du binding ?

    Par défaut le serveur fonctionne sur localhost et c'est l'adresse ip de loopback standard, pas sûr que tu puisses capturer les paquets sur 127.0.0.1 (loopback)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HOST, PORT = "localhost", 9999
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  6. #6
    Membre actif Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 263
    Points
    263
    Par défaut
    Si, c'est possible ;-)
    ZORRO
    Plus Vengeur que Masqué

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Salut, je reviens sur mon problème

    voici ce que j'ai mis dans mon code client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    # Client program
    import time
    from socket import *
     
    # Set the socket parameters
    host = '192.168.128.XXX'
    port = 6155
    buf = 1024
    addr = (host,port)
     
    # Create socket
    UDPSock = socket(AF_INET,SOCK_DGRAM)
     
    def_msg = "===Enter message to send to server===";
    print "\n",def_msg
     
    # Send messages
    while (1):
    	#data = raw_input('>> ')
     
    	time.sleep(0.2)
    	data = 'La trame est la'
    	if not data:
    		break
    	else:
    		if(UDPSock.sendto(data,addr)):
    			print "Sending message '",data,"'....."
     
    # Close socket
    UDPSock.close()

    Et pour mon serveur j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    # Server program
     
    from socket import *
     
    # Set the socket parameters
    host = '192.168.128.XXX'
    port = 6155
    buf = 1024
    addr = (host,port)
     
    # Create socket and bind to address
    UDPSock = socket(AF_INET,SOCK_DGRAM)
    UDPSock.bind(addr)
     
    # Receive messages
    while 1:
    	data,addr = UDPSock.recvfrom(buf)
    	if not data:
    		print "Client has exited!"
    		break
    	else:
    		print "\nReceived message '", data,"'"
     
    # Close socket
    UDPSock.close()
    avec host = '192.168.128.XXX', l'adresse de ma machine.

    Mais quand je vais sur Wireshark, et que j'applique un filtre sur l'adresse (même quand je ne l'applique pas), je ne capture aucune trame de la communication entre mon serveur et mon client.
    (tout ce passe sur la même machine)

    Est ce que quelqu'una une solution ?
    Je vous en remercie

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Mets côté serveur :
    De cette façon, le serveur écoutera sur toutes les interfaces (loopback et autres) .

Discussions similaires

  1. Python et Machine Virtuelle
    Par Samuel_ dans le forum Général Python
    Réponses: 5
    Dernier message: 20/09/2013, 17h28
  2. Connexion réseau entre deux machines virtuelles
    Par damosnet dans le forum Développement
    Réponses: 2
    Dernier message: 24/01/2013, 16h31
  3. Ping entre deux machines virtuelles
    Par chercheur111 dans le forum VirtualBox
    Réponses: 4
    Dernier message: 23/04/2012, 16h54
  4. ping entre deux machines virtuelle
    Par onadine dans le forum Développement
    Réponses: 1
    Dernier message: 08/07/2010, 11h48
  5. Deux machines virtuelles en même temps ?!
    Par n.mouna dans le forum Virtualisation
    Réponses: 3
    Dernier message: 21/04/2010, 01h31

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