Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / Python et le réseau

Python et le réseau

Remonter à Forum général Python
  • Python et le réseau

    Envoyé par fraoustin le 2 Mars 2006 à 11:17
    Bonjour
    bon j'avance bien mais j'ai encore un petit soucis
    je voudrais écrire en python un petit bout de code
    qui doit me permettre:
    1. vérifier qu'une machine est sur le réseau (via un ping par exemple ?)
    2. que sur une machine du réseau un port XXXX est bien ouvert

    merci
    • Re: Python et le réseau

      Envoyé par fraoustin le 2 Mars 2006 à 15:31
      j'ai trouvé si cela peut aider
      import socket

      import socket

      ip = '172.16.10.21'
      port = 50001
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      try:
      sock.connect((ip,port))
      sock.close()
      print (" %s(%i) is ok" % (ip,port))
      except:
      print (" %s(%i) is not ok" % (ip,port))
    • Re: Python et le réseau

      Envoyé par ulukyn le 3 Mars 2006 à 21:58
      Le problème c'est qu'il pourra ouvrir un port mais ne saura pas si il est dejà ouvert. (enfin je crois...)
    • Re: Python et le réseau

      Envoyé par tarek le 5 Mars 2006 à 11:50
      en tous les cas, attention aux except directs, c'est mal ;)
      tu ne pourras pas savoir le problème qui est arrivé.

      faire plutôt comme ca:


      >>> import socket
      >>>
      >>> def ping(port):
      ... ip = '127.0.0.1'
      ... sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      ... try:
      ... sock.connect((ip,port))
      ... sock.close()
      ... print (" %s(%i) is ok" % (ip,port))
      ... except socket.error, e:
      ... print e
      ...
      >>> pinger.ping(2635)
      (111, 'Connection refused')
      >>> pinger.ping(25)
      127.0.0.1(25) is ok

Rendu par Ploneboard