Apres plus d'un mois sans article je revien avec mon scanneur de port la source est ouverte et pas besoin d'attendre 3o secondes pour avoir la source :)
Pour l'ouvrir sous linux / mac:
start.sh
#Propriété ---> Autoriser l'exécution de ce fichier comme un programe
python 'portscanner.py'
#Mettez portscanner.py dans le meme dossier que start.sh
La source :
# -*- coding: cp1252 -*-
import socket
import os
import sys
import time
import random
import time
def ht(txt22):
for character in txt22:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(.03)
texte01 = "4nkynz present..."
for character in texte01:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(.03)
texte02 = "La version finale de son scanneur de port"
for character in texte02:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(.03)
print "\n"
print "\n"
print "\n"
sys.stdout.write("Loading.... ")
sys.stdout.flush()
round = 0
type = 0
while round != 25:
if type == 0: sys.stdout.write("\b/")
if type == 1: sys.stdout.write("\b-")
if type == 2: sys.stdout.write("\b\\")
if type == 3: sys.stdout.write("\b|")
type += 1
round += 1
if type == 4: type = 0
sys.stdout.flush()
time.sleep(0.1)
print "\b\b done!"
ankynz = """
/\ |\ | | / \ | |\ | ----/
/ \ | \ | | / \ | | \ | /
/ \ | \ | |/ \ | | \ | /
/ ---- \ | \ | | \ | | \ | /
/ \| \| | \ | | \| /----
"""
for character in ankynz:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(.03)
print "\n"
print "\n"
print "\n"
sys.stdout.write("Loading.... ")
sys.stdout.flush()
round = 0
type = 0
while round != 25:
if type == 0: sys.stdout.write("\b/")
if type == 1: sys.stdout.write("\b-")
if type == 2: sys.stdout.write("\b\\")
if type == 3: sys.stdout.write("\b|")
type += 1
round += 1
if type == 4: type = 0
sys.stdout.flush()
time.sleep(0.1)
print "\b\b done!"
openport01 = 0
closeport01 = 0
hc1 = "Voulez-vous que l'interpreteur soit vert ? O/N "
ht(hc1)
ch1 = raw_input("")
if ch1 == "O":
try:
os.system("color 0a")
os.system("title SDP_Version_2 by 4nkynz")
except:
print("Vous n'etes pas sous windows cette commande ne marche pas")
elif ch1 == "N":
print("La couleur de l'interpreteur sera celle par defaut ! ")
else :
erreur03 = ("Vous n'avez pas répondu a la question, le programme fermera dans 15 secondes :( \n ")
ht
time.sleep(15)
exit()
hote1 = "Entrez l'IP a scanner : "
ht(hote1)
hote = raw_input("")
port1 = "Entrez le premier Port : "
ht(port1)
port = raw_input("")
stop1 = "Entrez le port dernier Port : "
ht(stop1)
stop = raw_input("")
url1 = "Entrer la location du fichier ou enregistrer les ports ouverts : "
ht(url1)
url = raw_input("")
if url=="":
if os.name == "nt":
url = "c:"
fichier = url +"\port_ouvert.port"
elif os.name == "posix":
url = raw_input("Quel est votre nom d'utilisateur ?")
url = "/home/" + url
fichier = url + "/" + "port_ouvert.port"
enregistrementdesports = open(fichier, "w")
enregistrementdesports.write("""
/\ |\ | | / \ | |\ | ----/
/ \ | \ | | / \ | | \ | /
/ \ | \ | |/ \ | | \ | /
/ ---- \ | \ | | \ | | \ | /
/ \| \| | \ | | \| /----
############Merci d'avoir utilise mon programme#############
---------------------------4nkynz---------------------------
###########Liste des ports ouverts sur la machine###########
""")
if hote=="":
hote ="127.0.0.1"
if port=="":
port=0
if stop=="":
stop=65535
print 'Scanning ports {0} to {1} on {2} saving file in {3}' .format(port, stop, hote, url)
sys.stdout.write("Loading.... ")
sys.stdout.flush()
round = 0
type = 0
while round != 30:
if type == 0: sys.stdout.write("\b/")
if type == 1: sys.stdout.write("\b-")
if type == 2: sys.stdout.write("\b\\")
if type == 3: sys.stdout.write("\b|")
type += 1
round += 1
if type == 4: type = 0
sys.stdout.flush()
time.sleep(0.1)
print "\b\b done!"
print "Scan result: "
sys.stdout.write("Loading.... ")
sys.stdout.flush()
round = 0
type = 0
while round != 25:
if type == 0: sys.stdout.write("\b/")
if type == 1: sys.stdout.write("\b-")
if type == 2: sys.stdout.write("\b\\")
if type == 3: sys.stdout.write("\b|")
type += 1
round += 1
if type == 4: type = 0
sys.stdout.flush()
time.sleep(0.1)
print "\b\b done!"
tps1 = time.clock()
enregistrementdesports = open(fichier, "a")
enregistrementdesports.write("Resultat du scan de la machine {0} des ports {1} a {2} \n".format(hote, port, stop))
date01 = time.strftime('%d/%m/%y %H:%M',time.localtime())
enregistrementdesports.write("Debut du scan : {0} \n \n".format(date01))
while int(port) <= int(stop):
try:
connexion = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
connexion.connect((hote, int(port)))
print "Port " + str(port) + " is open. "
lesports = "Port " + str(port) + " is open. "
enregistrementdesports = open(fichier, "a")
lesportsavecespace=lesports + '\n'
enregistrementdesports.write(lesportsavecespace)
connexion.close()
print (port)
port = int(port) + 1
enregistrementdesports.close()
openport01 = int(openport01) + 1
except socket.error:
print "Port " + str(port) + " is closed. "
connexion.close()
print port
closeport01 = int(closeport01) + 1
port = int(port) + 1
enregistrementdesports = open(fichier, "a")
date02 = time.strftime('%d/%m/%y %H:%M',time.localtime())
enregistrementdesports.write("""#####Fin du scan : {0}#####""".format(date02))
tps2 = time.clock()
resume01 = "En resume : \n {0} Port ouvert \n {1} Port Fermes \n Operation a commence le {2} et a fini le {3} \n".format(openport01, closeport01, date01, date02)
enregistrementdesports.write("""
""")
enregistrementdesports.write(resume01)
fin01 = "Fin du scan, Compilation des resultats"
ht(fin01)
print "\n"
sys.stdout.write("Loading.... ")
sys.stdout.flush()
round = 0
type = 0
while round != 30:
if type == 0: sys.stdout.write("\b/")
if type == 1: sys.stdout.write("\b-")
if type == 2: sys.stdout.write("\b\\")
if type == 3: sys.stdout.write("\b|")
type += 1
round += 1
if type == 4: type = 0
sys.stdout.flush()
time.sleep(0.1)
print "\b\b done!"
ht(resume01)
print "\n"
print '=' * 60
print "Merci d'avoir utilise mon programme".center(60,"/")
print '4nkynz'.center(60,'-')
print "Appuye sur ENTER pour fermer".center(60,"/")
print '=' * 60
raw_input("")