CodeS-SourceS
Rechercher un code, un tuto, une réponse

Scanner de Port [Python]

Soyez le premier à donner votre avis sur cette source.

Vue 945 fois - Téléchargée 73 fois

Description

Hello everyoneVoici le code que j'ai fais en cours, pour l'utilisation c'est tout simple vousrentrez dans le terminal :python <leNomDuScript> <ipOuAdresseFTP/URL>Il vous permettera de savoir si les ports 443/21/21/80 sont ouvert ou non ! Peu d'utilité à première vue mais avec un peu d'imagination on peut en fairedes trus cools ! :-) K.


import socket;
import optparse;
from threading import *;

screenLock=Semaphore(value=1);

def isPortOpen(host,port):
    s=socket.socket();
    try:
        s.connect((host,port));
        screenLock.acquire();
        print "Port %d ouvert"%port;
        screenLock.release();
    except Exception,e:
        screenLock.acquire();
        print "Port %d ferme"%port;
        screenLock.release();


def scan(host,ports):
    try:
        ip=socket.gethostbyname(host);
    except Exception,e:
        print(str(e));
        exit(0);
    try:
        hostname=socket.gethostbyaddr(ip);
        print "Resultats pour %s"%hostname;
    except:
        print "Resultats pour %s"%ip;

    for port in ports:
        t=Thread(target=isPortOpen,args=(ip,int(port)));
        t.start();
def main():
    parser=optparse.OptionParser();
    parser.add_option("-p","--ports",dest="ports",default="21,22,23,80,443",help="Ports a scanner",type="string")
    (options,args)=parser.parse_args();
    ports=options.ports.split(",");
    if(len(args)<1):
        print "Il faut un hostname";
        exit(0);

    host=args[0];
    scan(host,ports);

if __name__=="__main__":
    main();

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Donnez votre avis

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.