Accueil > > > SCANNEUR D'IP21
SCANNEUR D'IP21
Information sur la source
Description
Voilà, c'est un petit scanneur de pub, Il est en ligne de commande ce qui permet de l'utiliser en remote : Scanneur de Pub en ligne de commande Utilisable en remote Utilisation : Dans un fichier path.txt entrez les repertoires qui doivent etre checkes scanneur.exe ipstart ipend nbthread Il teste l'upload, le dl avec un fichier 1mb, il met les reusltats ds results.txt Pour le moment j'ai pas mis de compteur de vitesse mais c'est rapide, je le ferais surement quand j'aurais le temps
Source
- import sys
- import os.path
- import thread
- from ftplib import FTP
- import time
- from string import *
-
- def testeur(i):
- fp=[]
- fp=open('path.txt', 'r').readlines()
- while 1:
- indir=1
- upok=1
- dlok=1
- logged=1
- connected=1
-
- try:
- ip=listip[0]
- del listip[0]
- except:
- print 'Thread ' + i + ' termine'
- break
-
- try:
- print 'Trying to connect on ' + ip
- ftp=FTP(ip)
- print 'Connected on ' + ip
- except:
- print 'Unabled to connect on ' + ip
- connected=0
-
- if(connected==1):
- try:
- print 'Trying to logon on ' + ip
- ftp.login()
- print 'Logged in on ' + ip
- except:
- print 'Unabled to logon on ' + ip
- logged=0
-
- if(logged==1 and connected==1):
- print 'Will check directories on ' + ip
- for currentdir in fp:
- currentdir=currentdir[0:len(currentdir)-1]
- indir=1
- upok=1
- dlok=1
- print 'Checking ' + currentdir + ' on ' + ip
-
- try:
- ftp.cwd(currentdir)
- except:
- print 'Directory ' + currentdir + ' does not exists or we do not have permission on ' + ip
- indir=0
-
- if(indir==1):
- print 'Trying to upload on ' + ip
- up=open('mbtest.dm', 'rb')
- try:
- ftp.storbinary('STOR mbtest.dm', up)
- print 'Upload succeed on ' + ip
- except:
- print 'Unabled to upload on ' + ip
- upok=0
-
- if(upok==1 and indir==1):
- print 'Trying to download on ' + ip
- try:
- ftp.retrbinary('RETR mbtest.dm', open('testdl'+i+'.dm', 'wb').write)
- print 'Download succeed on ' + ip
- except:
- print 'Unabled to download on ' + ip
- dlok=0
- if(dlok==1 and upok==1 and indir==1):
- print ip + ' Ok!'
- fp=open('results.txt', 'a').write(ip+'\nOndir : ' + currentdir + '\n')
- break
-
- if(len(sys.argv)!=4 or os.path.exists('path.txt')==False or os.path.exists('mbtest.dm')==False):
- print """DMScan21
-
- Scanneur de Pub en ligne de commande
- Utilisable en remote
-
- utilisation :
- dans un fichier path.txt entrez les repertoire qui doivent etre checkes
- scanneur.exe ipstart ipend nbthread
- """
- sys.exit()
- else:
- ip1=sys.argv[1]
- ip2=sys.argv[2]
- nbthread=int(sys.argv[3])
-
- print 'Initialisation...'
-
- if(os.path.exists('results.txt')==False) : open('results.txt', 'w')
-
- global listip
- listip=[]
-
- firstpart=[]
- secondpart=[]
- thirdpart=[]
- fourthpart=[]
-
- part1=[]
- part1=split(ip1, '.')
- part2=[]
- part2=split(ip2, '.')
-
- if(part1[0]==part2[0]):
- firstpart.append(part1[0])
- egal=1
- else:
- if(part1[0]>part2[0]):
- fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
- sys.exit()
- else:
- while int(part1[0])<=int(part2[0]):
- firstpart.append(part1[0])
- part1[0]=str(int(part1[0])+1)
-
- if(part1[1]==part2[1]):
- secondpart.append(part1[1])
- egal=1
- else:
- if(part1[1]>part2[1] and egal==1):
- fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
- sys.exit()
- else:
- while int(part1[1])<=int(part2[1]):
- secondpart.append(part1[1])
- part1[1]=str(int(part1[1])+1)
-
- if(part1[2]==part2[2]):
- thirdpart.append(part1[2])
- egal=1
- else:
- if(part1[2]>part2[2] and egal==1):
- fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
- sys.exit()
- else:
- while int(part1[2])<=int(part2[2]):
- thirdpart.append(part1[2])
- part1[2]=str(int(part1[2])+1)
-
-
- if(part1[3]==part2[3]):
- fourthpart.append(part1[3])
- else:
- if(part1[3]>part2[3] and egal==1):
- fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
- sys.exit()
- else:
- while int(part1[3])<=int(part2[3]):
- fourthpart.append(part1[3])
- part1[3]=str(int(part1[3])+1)
-
- for current in firstpart:
- for current2 in secondpart:
- for current3 in thirdpart:
- for current4 in fourthpart:
- listip.append(current + '.' + current2 + '.' +current3 + '.' +current4)
-
- print 'Finish\n'
-
- for i in range(nbthread):
- thread.start_new_thread(testeur, (str(i+1), ))
- print 'Thread ' + str(i+1) + ' lance'
- time.sleep(0.15)
-
- raw_input('Scan Lance !\n')
import sys
import os.path
import thread
from ftplib import FTP
import time
from string import *
def testeur(i):
fp=[]
fp=open('path.txt', 'r').readlines()
while 1:
indir=1
upok=1
dlok=1
logged=1
connected=1
try:
ip=listip[0]
del listip[0]
except:
print 'Thread ' + i + ' termine'
break
try:
print 'Trying to connect on ' + ip
ftp=FTP(ip)
print 'Connected on ' + ip
except:
print 'Unabled to connect on ' + ip
connected=0
if(connected==1):
try:
print 'Trying to logon on ' + ip
ftp.login()
print 'Logged in on ' + ip
except:
print 'Unabled to logon on ' + ip
logged=0
if(logged==1 and connected==1):
print 'Will check directories on ' + ip
for currentdir in fp:
currentdir=currentdir[0:len(currentdir)-1]
indir=1
upok=1
dlok=1
print 'Checking ' + currentdir + ' on ' + ip
try:
ftp.cwd(currentdir)
except:
print 'Directory ' + currentdir + ' does not exists or we do not have permission on ' + ip
indir=0
if(indir==1):
print 'Trying to upload on ' + ip
up=open('mbtest.dm', 'rb')
try:
ftp.storbinary('STOR mbtest.dm', up)
print 'Upload succeed on ' + ip
except:
print 'Unabled to upload on ' + ip
upok=0
if(upok==1 and indir==1):
print 'Trying to download on ' + ip
try:
ftp.retrbinary('RETR mbtest.dm', open('testdl'+i+'.dm', 'wb').write)
print 'Download succeed on ' + ip
except:
print 'Unabled to download on ' + ip
dlok=0
if(dlok==1 and upok==1 and indir==1):
print ip + ' Ok!'
fp=open('results.txt', 'a').write(ip+'\nOndir : ' + currentdir + '\n')
break
if(len(sys.argv)!=4 or os.path.exists('path.txt')==False or os.path.exists('mbtest.dm')==False):
print """DMScan21
Scanneur de Pub en ligne de commande
Utilisable en remote
utilisation :
dans un fichier path.txt entrez les repertoire qui doivent etre checkes
scanneur.exe ipstart ipend nbthread
"""
sys.exit()
else:
ip1=sys.argv[1]
ip2=sys.argv[2]
nbthread=int(sys.argv[3])
print 'Initialisation...'
if(os.path.exists('results.txt')==False) : open('results.txt', 'w')
global listip
listip=[]
firstpart=[]
secondpart=[]
thirdpart=[]
fourthpart=[]
part1=[]
part1=split(ip1, '.')
part2=[]
part2=split(ip2, '.')
if(part1[0]==part2[0]):
firstpart.append(part1[0])
egal=1
else:
if(part1[0]>part2[0]):
fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
sys.exit()
else:
while int(part1[0])<=int(part2[0]):
firstpart.append(part1[0])
part1[0]=str(int(part1[0])+1)
if(part1[1]==part2[1]):
secondpart.append(part1[1])
egal=1
else:
if(part1[1]>part2[1] and egal==1):
fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
sys.exit()
else:
while int(part1[1])<=int(part2[1]):
secondpart.append(part1[1])
part1[1]=str(int(part1[1])+1)
if(part1[2]==part2[2]):
thirdpart.append(part1[2])
egal=1
else:
if(part1[2]>part2[2] and egal==1):
fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
sys.exit()
else:
while int(part1[2])<=int(part2[2]):
thirdpart.append(part1[2])
part1[2]=str(int(part1[2])+1)
if(part1[3]==part2[3]):
fourthpart.append(part1[3])
else:
if(part1[3]>part2[3] and egal==1):
fin=raw_input("Erreur, premiere ip superieure. Tapez une touche pour finir")
sys.exit()
else:
while int(part1[3])<=int(part2[3]):
fourthpart.append(part1[3])
part1[3]=str(int(part1[3])+1)
for current in firstpart:
for current2 in secondpart:
for current3 in thirdpart:
for current4 in fourthpart:
listip.append(current + '.' + current2 + '.' +current3 + '.' +current4)
print 'Finish\n'
for i in range(nbthread):
thread.start_new_thread(testeur, (str(i+1), ))
print 'Thread ' + str(i+1) + ' lance'
time.sleep(0.15)
raw_input('Scan Lance !\n')
Conclusion
Voilà, je pense qu'il y a pas de prob meme si je l'ai pas reellement utilisé ^^
PS : sachez que le scan n'est pas très bien accepté ^^
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Adresse IP FAI [ par dabcorp ]
Bonjour , Je recherche un moyen simple d'envoyer un IP contenant l'adresse IP du FAI de mes clients via mail quand celle ci change. J'ai déja fa
ip et reseau local [ par xilure ]
comment en python peut on trouver l'adresse IP d'un PC ? cela pour faire un chat sur un reseau local du meme type que celui ci http://www.siteduzero.c
[Python] Trouver l'IP d'un PC à partir d'un Pocket PC [ par sacrechipou ]
Salut!Je suis en stage d'informatique et on m'a demandé à partir d'un pocket pc de récupérer l'adresse ip du PC auquel il est connecté.Ayant débuté le
Module mechanize et fonction submit() [ par kobral999 ]
Bonjour,Je développe en python sous Linux et je souhaiterais récupérer une liste de nom d'utilisateur, de machine et d'adresse IP disponible sur un si
probleme avec les listes ... ( anonymisation de log ) [ par psyssa ]
bonjour tt le monde , je devellope un programme d'anonymisation de logs en python le but etant donné la recuperation ds un premier temps dadresse ip
Comment connaitre le pays d'origine via ip ou dns ? [ par ordema ]
Bonjour a tous ; J'ai repris un bot sur un serveur de jeu et je cherche le moyen de récupérer le nom du pays d'un client connecté pour lui renvoyer l
Scanner de port [ par iAure5974 ]
Salut tout le monde il y a peu de temps j'ai codé un petit scanner de port en python (2.7.2) qui fonctionne plutôt bien mais je le trouve lent (normal
Lastlog de plusieurs machines [ par koalasc ]
Bonjour Voila je cherche a faire un script en python avec des dictionnaires. En gros je pose la situation car je ne suis pas sur dans quel direction
Comment récuperer la sortie d'une commande systeme executer depuis un code python ? [ par saigneurdushi ]
Bonjour, Je souhaite récuperer les @mac de toute les routeur wifi que mon ordi est susceptible de capter lors de mes déplacement. Fonctionnement: A
|
Derniers Blogs
TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0 par odewit
Je viens de publier la version 3.0 de Perspective pour Silverlight, qui regroupe un portage sous Silverlight 5.0 des fonctionnalités de Perspective 2.0, le framework 3D de haut-niveau introduit récemment et de nouveaux exemples de code. En voici la li...
Cliquez pour lire la suite de l'article par odewit TECHDAYS PARIS 2012 : TOP 10 DES BEST PRACTICES POUR SQL SERVERTECHDAYS PARIS 2012 : TOP 10 DES BEST PRACTICES POUR SQL SERVER par ROMELARD Fabrice
Speaker : Nadia Ben El Kadi Configuration machine La session commence par la toute première question à se poser lors de la mise en place d'environnement SQL Server, la configuration des machines : Type de mac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : KINECT + OFFICE 365 UN BON GESTE POUR VOTRE SITECHDAYS PARIS 2012 : KINECT + OFFICE 365 UN BON GESTE POUR VOTRE SI par ROMELARD Fabrice
Speakers : Fabrice Barbin, Samuel Blanchard, Julien Lo Presti Titre Prometteur et attractif invitant à voir comment lier le composant ludique Kinect dans le cadre d'une structure IT classique, notamment au travers de la plat...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE DU PREMIER JOURTECHDAYS PARIS 2012 : PLEINIèRE DU PREMIER JOUR par ROMELARD Fabrice
KeyNotes du premier jour pour les développeurs. La session est principalement axée sur une des principales directions prise par Microsoft à travers tous ses nouveaux produits : Cloud privé ou public (Solution Azure) ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
PYVISA PROBLèMEPYVISA PROBLèME par sandrine44
Cliquez pour lire la suite par sandrine44
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|