begin process at 2012 05 24 01:20:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & internet

 > PÊCHEUR D'ADRESSE MAC :-)

PÊCHEUR D'ADRESSE MAC :-)


 Description

Cliquez pour voir la capture en taille normale
Bonjour,

================================================ ==============

Bien que ce code n'est pas très utile :-)
Ce script peu probablement être utile pour d'autre raison.

Actuellement il permet la création et la mise à jour (à chaque fois qu'il est lancé) d une liste d'adresses MAC des routeurs 'wifi' avoisinants.

==================================== ==========================

Le fonctionnement se résume à:

1/ L'ouverture du fichier contenant la liste d'@mac (ou création si il n existe pas)
2/ Lancement de la commande pour récuperer les informations sur les réseaux environnants(la sortie d affichage est redirigée vers un fichier)
3/ Traitement de ce fichier
4/ Suppression de ce fichier
5/ Ajout des @mac nouvellement trouvées
6/ Enregistrement du fichier mis à jour


=========================================== =====================


(le commentaire fournis dans le code est en langue anglaise)


====================================== ==========================
====ATTENTION=

A l'attention des utilisateur de Windows:
le script ne fonctionnera pas sous Windows car la commande
"iwlist" n existe pas.
solution rapide : telecharger et installer une version de linux :-)


Aux autres: penser à executer le script en 'superuser' pour pouvoir faire un 'scan' des réseaux wifi.

=========================================== ===================

Source

  • #########################################################################
  • ## Update a file with a list of mac adress from (wireless routers) # ## #
  • ## (working on ubuntu with superuser right) #
  • ## #
  • ## command: 'sudo python macfisher.py' #
  • #########################################################################
  • ## set import
  • import os,string
  • ## set command line and filename output destination
  • command="iwlist wlan0 scan" # define command : scann wireless network
  • filename = "test" # define output file
  • command_line= command + ">" + filename # define command line
  • ### open MAC adress archive file
  • print '\n'+ "Open old archive file ..."
  • archivemacfilename="maclist" # define archive name
  • try:
  • archivemacfile=open(archivemacfilename,"r") # open archive file
  • stringarchivemac=archivemacfile.read() # to read the content
  • archivemacfile.close() # close this file
  • except:
  • stringarchivemac=""
  • ## run command line
  • print "Make a scan ..."
  • val = os.system(command_line) # run it !
  • ## file processing
  • FILE = open(filename,"r") # open command output file
  • cp_new=0 # define the count for new adress
  • for line in FILE: # read the file
  • if line.find('Cell')>-1: # if the line contain a MAC adress
  • C = line.split()[-1] # split the line
  • if stringarchivemac.find(C)==-1: # if the adress is new
  • stringarchivemac=stringarchivemac+C+"\n" # add
  • cp_new=cp_new+1
  • FILE.close() # close file
  • os.remove(filename) # delete file
  • ### update du fichier avec les nouvelles
  • if cp_new<>0: # if new adress(es) detected
  • print "Archive file were updated with " + str(cp_new) + " new address(es)."
  • archivemacfilename="maclist" # open archive mac adress file
  • archivemacfile=open(archivemacfilename,"w") # to write
  • archivemacfile.write(stringarchivemac) # the update
  • archivemacfile.close() # close the archive file
  • else:
  • print "No update for archive file."
  • print "\n"
#########################################################################
## Update a file with a list of mac adress from (wireless routers)      # ## 								        #
## 	(working on ubuntu with superuser right)			#
##									#
## command: 'sudo python macfisher.py'					#
#########################################################################

## set import
import os,string

## set command line and filename output destination
command="iwlist wlan0 scan" # define command : scann wireless network
filename = "test" # define output file
command_line= command + ">" + filename # define command line

### open MAC adress archive file
print '\n'+ "Open old archive file ..."
archivemacfilename="maclist" # define archive name
try:
	archivemacfile=open(archivemacfilename,"r") # open archive file 
	stringarchivemac=archivemacfile.read() # to read the content
	archivemacfile.close() # close this file
except:
	stringarchivemac=""

## run command line
print "Make a scan ..."
val = os.system(command_line) # run it !

## file processing
FILE = open(filename,"r") # open command output file 
cp_new=0 # define the count for new adress
for line in FILE: # read the file
	if line.find('Cell')>-1: # if the line contain a MAC adress
		C = line.split()[-1] # split the line
		if stringarchivemac.find(C)==-1:  # if the adress is new
			stringarchivemac=stringarchivemac+C+"\n" # add
			cp_new=cp_new+1	
FILE.close() # close file
os.remove(filename) # delete file

### update du fichier avec les nouvelles
if cp_new<>0: # if new adress(es) detected
	print "Archive file were updated with " + str(cp_new) + " new address(es)."		

	archivemacfilename="maclist" # open archive mac adress file
	archivemacfile=open(archivemacfilename,"w") # to write
	archivemacfile.write(stringarchivemac) # the update
	archivemacfile.close() # close the archive file
else:
	print "No update for archive file."  

print "\n"

 Conclusion

================================================== ======================

Il y a probablement de nombreuses améliorations à apporter tel que:
- récuper direct les lignes ou se situent les adresse mac plutôt que de lire tout le fichier.
- ajouter les ligne à la fin du fichier contenant la liste plutôt que de réecrire la liste complète des @mac à chaque lancement.
- ...

Bonne journée à vous :-)

Cdt.

======================================= =================================

Conseil:
Si vous aimez 'python', alors probablement 'Linux' aussi, ainsi si vous n'êtes pas obliger d'utiliser un système d exploitation payant n'hésitez pas à essayer le gratuit !!!

ex: http://www.ubuntu-fr.org/telechargement

========= ================================================== =============


 Sources du même auteur

LE GLOUTON ! [MANGE ET RECRACHE LES FICHIERS QU IL TROUVE D...
Source avec Zip Source avec une capture LISTING ET LOGS DES CONNEXIONS ET DECONNEXIONS DE MACHINES Q...
Source avec une capture PHOTO SATELLITE AVEC ARCHIVAGE
Source avec une capture PRENEUR DE CHOIX, PRISE DE DECISION, COMPARAISON D ELEMENT
CRYPTE ET DECRYPTE UN FICHIER (AVEC HASH POUR VÉRIFICATION)

 Sources de la même categorie

SOCKET MULTITHREAD SIMPLE par Guillamue06
TRANSFERT DE FICHIER PAR SOCKET par Guillamue06
Source avec une capture AUTO-FOLLOW/UNFOLLOW [TWITTER] EN [PERL] UTILISANT NET::TWIT... par GeroXXXX
Source avec Zip PINGEUR RÉSEAU par jeanbleo44
Source avec Zip Source avec une capture LISTING ET LOGS DES CONNEXIONS ET DECONNEXIONS DE MACHINES Q... par saigneurdushi

Commentaires et avis

Commentaire de PlugnPlay666 le 17/09/2010 20:36:44

Bonjour,

« - ajouter les ligne à la fin du fichier contenant la liste plutôt que de réecrire la liste complète des @mac à chaque lancement. »

Dans ton appel à la fonction open() il faut mettre a comme méthode d'ouverture.
a signifie append, qui veux dire ajouter. Les lignes seront donc ajoutées à la fin du fichier et il n'y aura plus besoin de tout copier.

PS: petites modifications au niveau des ouvertures de fichiers.   http://pastebin.com/pFziWXVj

Commentaire de aera group le 30/10/2010 22:41:10

Je fais pareil avec un terminal.
Et je hais Linux de tout mon c½ur :/

Commentaire de saigneurdushi le 01/11/2010 01:02:56

Merci plugin :-)
Aera group: le coeur ne hait pas il ne fait qu aimer !!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Gestion d'une interface graphique [ par lilly74 ] Bonjour, je débute en python et j'essaie de créer une interface graphique qui prend en entrée deux chaînes de caractères et qui les traite selon une m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales