コード例 #1
0
    def __init__(self, tableau_adresse, options, fichier_sortie):
        Thread.__init__(self)
        Observable.__init__(self)
        self.adresse = ''
        self.progress = 0.0
        self.status = 'ready'

        #On cree un string a partir de la liste des adresses
        #contenues dans le tableau
        for ip in tableau_adresse:
            try:
                ip = valideIP(ip)
                self.adresse += ' ' + str(ip)
            except:
                pass

        liste_arguments = [options, fichier_sortie]

        #Contrôle des arguments
        for arg in liste_arguments:
            error = re.search('[;|<>"`&{}]', str(arg))

            if error != None:
                raise Exception("Paramètres Nmap invalide")

        #Si pas de levé d'exception
        self.options = options
        self.fichier_sortie = fichier_sortie
コード例 #2
0
ファイル: client_nmap.py プロジェクト: LeGaulois/soc
    def __init__(self, tableau_adresse, options, fichier_sortie):
        Thread.__init__(self)
        Observable.__init__(self)
        self.adresse = ""
        self.progress = 0.0
        self.status = "ready"

        # On cree un string a partir de la liste des adresses
        # contenues dans le tableau
        for ip in tableau_adresse:
            try:
                ip = valideIP(ip)
                self.adresse += " " + str(ip)
            except:
                pass

        liste_arguments = [options, fichier_sortie]

        # Contrôle des arguments
        for arg in liste_arguments:
            error = re.search('[;|<>"`&{}]', str(arg))

            if error != None:
                raise Exception("Paramètres Nmap invalide")

        # Si pas de levé d'exception
        self.options = options
        self.fichier_sortie = fichier_sortie
コード例 #3
0
ファイル: dump.py プロジェクト: LeGaulois/soc
def initialiserPG(dump_file,host,port,database,login,password):
    '''
    Cette fonction permet d'initialiser une base de donnée POstgreSQL
    à partir d'un fichier de dump
    '''

    conn = psycopg2.connect(host=host,port=port,database='postgres',user=login,password=password)
    conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
    cursor=conn.cursor()

    cursor.execute("SELECT datdba FROM pg_database WHERE datname=%s",[database])
    base=dictfetchall(cursor)

    cursor.execute("SELECT rolcreatedb,oid FROM pg_roles WHERE rolname=%s",[login])    
    user=dictfetchall(cursor)

    #si la base n'existe pas
    #et si l'utilisateur possede le droit de creation de base
    if ((len(base)==0) and (user[0]['rolcreatedb']==True)):
        error=re.search('[;|<>]&"\'',str(database))

        if error!=None:
            raise Exception("Erreur de paramètre")

        cursor.execute('CREATE DATABASE '+str(database))


    cursor.close()

    if len(base)==1:
        conn = psycopg2.connect(host=host,port=port,database=database,user=login,password=password)
        conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
        cursor=conn.cursor()
        cursor.execute("SELECT tablename FROM pg_tables WHERE tableowner=%s AND schemaname='public'",[login])
        liste=dictfetchall(cursor)

        for table in liste:
            cursor.execute("DROP TABLE IF EXISTS "+str(table['tablename'])+" CASCADE")

    
    os.putenv('PGPASSWORD',password)

    #On recupère l'adresse IP si l'utilisateur nous envoie le hostname
    try:
        host=valideIP(host)
    except:
        host=getIP(host)

    subprocess.check_output('psql -h '+desatanize(host)+' -p '+str(port)+' -d '+desatanize(database)+' -U '+desatanize(login)+' < '+dump_file, shell=True)
コード例 #4
0
def initialiserPG(dump_file, host, port, database, login, password):
    '''
    Cette fonction permet d'initialiser une base de donnée POstgreSQL
    à partir d'un fichier de dump
    '''

    conn = psycopg2.connect(host=host,
                            port=port,
                            database='postgres',
                            user=login,
                            password=password)
    conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
    cursor = conn.cursor()

    cursor.execute("SELECT datdba FROM pg_database WHERE datname=%s",
                   [database])
    base = dictfetchall(cursor)

    cursor.execute("SELECT rolcreatedb,oid FROM pg_roles WHERE rolname=%s",
                   [login])
    user = dictfetchall(cursor)

    #si la base n'existe pas
    #et si l'utilisateur possede le droit de creation de base
    if ((len(base) == 0) and (user[0]['rolcreatedb'] == True)):
        error = re.search('[;|<>]&"\'', str(database))

        if error != None:
            raise Exception("Erreur de paramètre")

        cursor.execute('CREATE DATABASE ' + str(database))

    cursor.close()

    if len(base) == 1:
        conn = psycopg2.connect(host=host,
                                port=port,
                                database=database,
                                user=login,
                                password=password)
        conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
        cursor = conn.cursor()
        cursor.execute(
            "SELECT tablename FROM pg_tables WHERE tableowner=%s AND schemaname='public'",
            [login])
        liste = dictfetchall(cursor)

        for table in liste:
            cursor.execute("DROP TABLE IF EXISTS " + str(table['tablename']) +
                           " CASCADE")

    os.putenv('PGPASSWORD', password)

    #On recupère l'adresse IP si l'utilisateur nous envoie le hostname
    try:
        host = valideIP(host)
    except:
        host = getIP(host)

    subprocess.check_output('psql -h ' + desatanize(host) + ' -p ' +
                            str(port) + ' -d ' + desatanize(database) +
                            ' -U ' + desatanize(login) + ' < ' + dump_file,
                            shell=True)
コード例 #5
0
ファイル: importation.py プロジェクト: LeGaulois/soc
 def valideAdresse(self, adresse):
     if str(adresse) in self.LISTE_ADRESSES:
         raise Exception("Adresse IP déjà présente en base")
     else:
         return valideIP(adresse)
コード例 #6
0
ファイル: importation.py プロジェクト: LeGaulois/soc
 def valideAdresse(self,adresse): 
     if str(adresse) in self.LISTE_ADRESSES:
         raise Exception("Adresse IP déjà présente en base")
     else:
         return valideIP(adresse)