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

Python Discussion :

Gestion des ports [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Par défaut Gestion des ports
    Bonjour,

    je viens de trouver cette librairie pour python, https://pypi.python.org/pypi/python-nmap

    Ou dois-je la placer ? je l'ai placé dans le répertoire python 2.7 mais l'exemple ne fonctionne pas


    je voudrais un teste des ports simple, ouvert ou fermé comme celui ci d'exemple, qui ne va pas non plus, exemple trouvé (mais je n'est besoin que de connaître l'état du port
    Port TCP 139, port UDP 137 et 138 + Port TCP 445




    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
     
    #!/usr/bin/python
    import sys
    from socket import * 
     
     
    if len(sys.argv) != 2:
        print "Usage: " + sys.argv[0] + ""
        sys.exit(0)
     
    portlist = [80, 23, 443, 21, 22, 25, 3389, 110, 445, 139, 143, 53, 135, 3306, 8080, 1723, 111, 995, 993, 5900, 1025, 587, 8888, 199, 1720, 465, 548, 113, 81, 6001, 10000, 514, 5060, 179, 1026, 2000, 8443, 8000, 32768, 554, 26, 1433, 49152, 2001, 515, 8008, 49154, 1027, 5666, 646, 5000, 5631, 631, 49153, 8081, 2049, 88, 79, 5800, 106, 2121, 1110, 49155, 6000, 513, 990, 5357, 427, 49156, 543, 544, 5101, 144, 7, 389, 8009, 3128, 444, 9999, 5009, 7070, 5190, 3000, 5432, 3986, 1900, 13, 1029, 9, 6646, 5051, 49157, 1028, 873, 1755, 2717, 4899, 9100, 119, 37, 1000, 3001, 5001, 82, 10010, 1030, 9090, 2107, 1024, 2103, 6004, 1801, 5050, 19, 8031, 1041, 255, 3703, 2967, 1065, 1064, 1056, 1054, 1053, 1049, 1048, 17, 808, 3689, 1031, 1071, 1044, 5901, 9102, 100, 9000, 8010, 5120, 4001, 2869, 1039, 2105, 636, 1038, 2601, 7000, 1, 1069, 1066, 625]
     
     
    if __name__ == '__main__':
        target = sys.argv[1]
        print 'Scanning : ', target
     
     
    for i in portlist:
        s = socket(AF_INET, SOCK_STREAM)
     
     
    result = s.connect_ex((target, i))
     
     
    if(result == 0) :
        print 'Port ' + str(i) + ' is open'
        s.close()
    merci

  2. #2
    Membre averti Avatar de FolDeDol
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2013
    Messages : 32
    Par défaut
    Bonjour,

    Ou dois-je la placer ? je l'ai placé dans le répertoire python 2.7 mais l'exemple ne fonctionne pas
    Avez-vous suivi le "guide d'installation" ?

    http://xael.org/norman/python/python-nmap/

    Cordialement,

  3. #3
    Membre confirmé Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Par défaut
    Bonjour,

    Oui l'installation est réalisée comme indiqué. mais le code ne fonctionne pas. Je voudrais que le code fonctionne pour pouvoir mieux comprendre.
    merci

    le code erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Traceback (most recent call last):
      File "D:\Developpement\GUW Final\essai_testports.py", line 6, in <module>
        nm = nmap.PortScanner()         # instantiate nmap.PortScanner object
      File "C:\Python27\lib\site-packages\nmap\nmap.py", line 118, in __init__
        p = subprocess.Popen(['nmap', '-V'], bufsize=10000, stdout=subprocess.PIPE)
      File "C:\Python27\lib\subprocess.py", line 710, in __init__
        errread, errwrite)
      File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
        startupinfo)
    WindowsError: [Error 2] Le fichier spécifié est introuvable

    code donné :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
     #!/usr/bin/env python
     
     
    import os, sys, subprocess
    import nmap                         # import nmap.py module
    nm = nmap.PortScanner()         # instantiate nmap.PortScanner object
    nm.scan('127.0.0.1', '22-443')      # scan host 127.0.0.1, ports from 22 to 443
    nm.command_line()                   # get command line used for the scan : nmap -oX - -p 22-443 127.0.0.1
    nm.scaninfo()                       # get nmap scan informations {'tcp': {'services': '22-443', 'method': 'connect'}}
    nm.all_hosts()                      # get all hosts that were scanned
    nm['127.0.0.1'].hostname()          # get hostname for host 127.0.0.1
    nm['127.0.0.1'].state()             # get state of host 127.0.0.1 (up|down|unknown|skipped)
    nm['127.0.0.1'].all_protocols()     # get all scanned protocols ['tcp', 'udp'] in (ip|tcp|udp|sctp)
    nm['127.0.0.1']['tcp'].keys()       # get all ports for tcp protocol
    nm['127.0.0.1'].all_tcp()           # get all ports for tcp protocol (sorted version)
    nm['127.0.0.1'].all_udp()           # get all ports for udp protocol (sorted version)
    nm['127.0.0.1'].all_ip()            # get all ports for ip protocol (sorted version)
    nm['127.0.0.1'].all_sctp()          # get all ports for sctp protocol (sorted version)
    nm['127.0.0.1'].has_tcp(22)         # is there any information for port 22/tcp on host 127.0.0.1
    nm['127.0.0.1']['tcp'][22]          # get infos about port 22 in tcp on host 127.0.0.1
    nm['127.0.0.1'].tcp(22)             # get infos about port 22 in tcp on host 127.0.0.1
    nm['127.0.0.1']['tcp'][22]['state'] # get state of port 22/tcp on host 127.0.0.1 (open
     
     
    # a more usefull example :
    for host in nm.all_hosts():
        print('----------------------------------------------------')
        print('Host : %s (%s)' % (host, nm[host].hostname()))
        print('State : %s' % nm[host].state())
     
        for proto in nm[host].all_protocols():
            print('----------')
            print('Protocol : %s' % proto)
     
            lport = nm[host][proto].keys()
            lport.sort()
            for port in lport:
                print('port : %s\tstate : %s' % (port, nm[host][proto][port]['state']))
     
    print('----------------------------------------------------')
    # print result as CSV
    print(nm.csv())
     
     
    print('----------------------------------------------------')
     # If you want to do a pingsweep on network 192.168.1.0/24:
    nm.scan(hosts='192.168.1.0/24', arguments='-n -sP -PE -PA21,23,80,3389')
    hosts_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()]
    for host, status in hosts_list:
        print('{0}:{1}'.format(host, status))
     
     
    print '----------------------------------------------------'
    # Asynchronous usage of PortScannerAsync
    nma = nmap.PortScannerAsync()
    def callback_result(host, scan_result):
        print '------------------'
        print host, scan_result
    nma.scan(hosts='192.168.1.0/30', arguments='-sP', callback=callback_result)
    while nma.still_scanning():
        print("Waiting ...")
        nma.wait(2)   # you can do whatever you want but I choose to wait after the end of the scan

  4. #4
    Membre averti Avatar de FolDeDol
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2013
    Messages : 32
    Par défaut
    Bonjour,

    N'étant pas chez moi, je ne peux pas tester le code.
    Il est recommandé d'utiliser python-nmap-0.1.4.tar.gz pour Python 2.X.

    Est-ce l'origine du problème...

    Cordialement,

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,
    Vous êtes sous windows, nmap est un outil u**x.
    Il n'est pas présent par défaut et doit être installé, en pré-requis, du wrappeur python.
    - W.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre confirmé Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Par défaut
    bonjour wiztricks,

    Ha oui je suis sous windows et je n'ai pas vu qu'il n'y était pas
    Mais alors ai-je une solution ? avec socket...
    merci

    FolDeDol,

    oui c'est la bonne version mais si je ne suis pas sur le bon OS, je dois en être certain..

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par Thierry_V Voir le message
    Bonjour,

    je viens de trouver cette librairie pour python, https://pypi.python.org/pypi/python-nmap

    Ou dois-je la placer ? je l'ai placé dans le répertoire python 2.7 mais l'exemple ne fonctionne pas
    Citation Envoyé par Python Package Index
    python-nmap 0.3.4

    This is a python class to use nmap and access scan results from python3
    ...

  8. #8
    Membre confirmé Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Par défaut
    Bonjour VinsS,

    pour python 2.7 c'est python-nmap-0.1.4.tar.gz

    mais je ne comprends pas ou tu veux en venir

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Le lien où tu dis avoir downloadé la lib indique ce que j'ai mentionné.

  10. #10
    Membre confirmé Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Par défaut
    Oui tu as raison, mais j'ai téléchargé tout de même la bonne version.

    ceci dit plus besoin merci, il suffit d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    nickel résolu..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des ports sous windows
    Par wass dans le forum Windows
    Réponses: 1
    Dernier message: 19/04/2006, 17h44
  2. Gestion des ports serie
    Par wass dans le forum Windows
    Réponses: 1
    Dernier message: 19/04/2006, 16h32
  3. Réponses: 4
    Dernier message: 07/04/2006, 18h08
  4. gestion des port !
    Par seal3 dans le forum Développement
    Réponses: 12
    Dernier message: 01/05/2005, 20h43
  5. Routines de gestion des ports sous Windows XP
    Par wiccanhelios dans le forum Windows
    Réponses: 2
    Dernier message: 14/11/2003, 08h02

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