- # -*- coding: cp1252 -*-
- ## Scanner de ports
- ## By Bouceka
-
- ## Importation des modules
- import socket,threading
-
- ## Définition de la classe Thread
- class Thread_Scan(threading.Thread):
- "Definition d'une classe Thread"
- ## Constructeur
- def __init__(self,h,p):
- threading.Thread.__init__(self)
- self.host = h
- self.port = p
-
- ## Méthode run du Thread
- def run(self):
- global report
- for rang in range(self.port,self.port+5):
- self.mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- self.mysocket.connect((self.host,rang))
- except:
- self.mysocket.close()
- else:
- report[rang] = "ouvert."
- self.mysocket.close()
-
- ## Fonction qui affiche les ports ouvert
- def Affiche_port(report):
- lstreport = report.items()
- for port in lstreport:
- print "Port %s ouvert"%(port[0])
-
- ## Fonction qui enregistre le résultat
- def Enregistrer(report):
- lstreport = report.items()
- ofi = open("Scan_report.txt","a")
- ofi.write("*****\-Bouceka Report-/*****\n\n")
- if(len(lstreport) == 0):
- ofi.write("Aucun ports ouvert.")
- else:
- for rport in lstreport:
- ofi.write("|- Port %s ouvert."%(rport[0]))
- ofi.close()
-
- ## Programme principale
- if __name__ == "__main__":
-
- ## Création des variables
- report,i,lstth = {},0,[]
-
- ## Menu
- print "****\-Scanner de ports by Bouceka-/****\n"
- Host = raw_input("Entrer l'adresse ip: ")
- Portd = input("Entrer le port de debut: ")
- Portf = input("Entrer le port de fin: ")
-
- ## Création des Threads scannant 5 ports chacun
- for port in range(Portd,Portf+1,5):
- lstth.append(Thread_Scan(Host,port))
- lstth[i].start()
- i += 1
-
- ## Attente fin des Threads
- for c in lstth:
- c.join()
-
- ## Affiche port ouvert
- if(len(report) == 0):
- print "Aucun ports ouvert."
- else:
- Affiche_port(report)
-
- ## Demande d'enregistrement du resultat
- choix = raw_input("Voulez vous enregistrer le resultat: (O)ui | (N)on: ")
- if(choix.upper() == "O"):
- Enregistrer(report)
- print "Resultat enregistre avec succes !"
-
- Temp = raw_input("Appuyez sur une touche pour continuer...")
# -*- coding: cp1252 -*-
## Scanner de ports
## By Bouceka
## Importation des modules
import socket,threading
## Définition de la classe Thread
class Thread_Scan(threading.Thread):
"Definition d'une classe Thread"
## Constructeur
def __init__(self,h,p):
threading.Thread.__init__(self)
self.host = h
self.port = p
## Méthode run du Thread
def run(self):
global report
for rang in range(self.port,self.port+5):
self.mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
self.mysocket.connect((self.host,rang))
except:
self.mysocket.close()
else:
report[rang] = "ouvert."
self.mysocket.close()
## Fonction qui affiche les ports ouvert
def Affiche_port(report):
lstreport = report.items()
for port in lstreport:
print "Port %s ouvert"%(port[0])
## Fonction qui enregistre le résultat
def Enregistrer(report):
lstreport = report.items()
ofi = open("Scan_report.txt","a")
ofi.write("*****\-Bouceka Report-/*****\n\n")
if(len(lstreport) == 0):
ofi.write("Aucun ports ouvert.")
else:
for rport in lstreport:
ofi.write("|- Port %s ouvert."%(rport[0]))
ofi.close()
## Programme principale
if __name__ == "__main__":
## Création des variables
report,i,lstth = {},0,[]
## Menu
print "****\-Scanner de ports by Bouceka-/****\n"
Host = raw_input("Entrer l'adresse ip: ")
Portd = input("Entrer le port de debut: ")
Portf = input("Entrer le port de fin: ")
## Création des Threads scannant 5 ports chacun
for port in range(Portd,Portf+1,5):
lstth.append(Thread_Scan(Host,port))
lstth[i].start()
i += 1
## Attente fin des Threads
for c in lstth:
c.join()
## Affiche port ouvert
if(len(report) == 0):
print "Aucun ports ouvert."
else:
Affiche_port(report)
## Demande d'enregistrement du resultat
choix = raw_input("Voulez vous enregistrer le resultat: (O)ui | (N)on: ")
if(choix.upper() == "O"):
Enregistrer(report)
print "Resultat enregistre avec succes !"
Temp = raw_input("Appuyez sur une touche pour continuer...")