Accueil > > > [CLASSE PHP5]SCAN IP V2.0 - SCANNER DES PLAGES D'IP ET RETROUNER LE RÉSULTAT DANS UN TABLEAU
[CLASSE PHP5]SCAN IP V2.0 - SCANNER DES PLAGES D'IP ET RETROUNER LE RÉSULTAT DANS UN TABLEAU
Information sur la source
Description
Cela fait déjà quelque mois que le code existe sur l'admin de mon site mais je l'avais rédigé jusqu'à lors sous la forme de fonctions, pas très pratique quand il est utilsé dans plusieurs endroit. J'ai donc décidé de le transformer en classe, de maniere a faciliter son utilisation et j'avais envie de vous en faire profiter. Concretement, cette classe porte bien son nom puisqu'avec une simple poignée de renseignements elle vous retourne une liste complete des équipements (avec leur type et localisation) sur une plage d'adresse IP donnée. Il vous suffit juste de donner le pool (deux premiers chiffre de l'adresse IP), la plage (le 3ème chiffre), le nombre de plage que vous désirez scanner et c'est parti! Le script va se carger de générer avec deux ou trois boucles toutes les adresses IP possible dans ce que vous lui avez donné à manger. Pour finir, je préciserai que deux 'modes' sont disponibles, a savoir le mode 'simple' qui ne scanne qu'une seule plage d'adresse, sois 255 adresses différentes ou le mode 'multiple' qui scanne plusieurs plages (d'ou le nombre de plage a fournir).
Source
- //Code a mettre dans votre page (index.php par exemple)
- include('ScanIP.Class.php');//On importe la classe
-
- $ScanIP = new ScanIP($operateur, $typeTest, $locationQuery);
- $ScanIP->addPool($pool, $depart, $NbPlages);
- $ScanIP->launch();
-
- //Si vous desirez un compte-rendu graphique, rajoutez juste ceci :
- $url = $ScanIP->generateGraphResume('chemin_de/sauvegarde');
-
- ?>
-
- <img src="<? echo $url;?>" alt="" />
//Code a mettre dans votre page (index.php par exemple)
include('ScanIP.Class.php');//On importe la classe
$ScanIP = new ScanIP($operateur, $typeTest, $locationQuery);
$ScanIP->addPool($pool, $depart, $NbPlages);
$ScanIP->launch();
//Si vous desirez un compte-rendu graphique, rajoutez juste ceci :
$url = $ScanIP->generateGraphResume('chemin_de/sauvegarde');
?>
<img src="<? echo $url;?>" alt="" />
Conclusion
Pour faire tourner le scanner, un objet est a creer (avec les paramètres qui vont bien avec, rdv dans le fichier), des pools sont a indiquer à l'objet (par le biais de $votreObjet->addPool();) et une fonction est a appeler : $votreObjet->launch(); et c'est parti! Deux choix s'offrent à vous : fournir les paramètres par un formulaire ou coder en dur dans votre page les paramètres a definir.
Cette version n'est basée que sur IPV4... peut-etre qu'un jour, quand IPV6 se sera démocratisé, je ferai les modifications nécéssaires.
///--------------------- Au niveau des opérateurs, cette vision est un peu abstraite mais c'est un moyen pour savoir qui possède quoi durant le scan. La définition d'opérateurs permet en outre de ne selectionner que les équipements de tels ou tels opérateurs (par le biais des patterns de determination de type), les autres entrées seront désignée comme 'bad'.
///--------------------- Sur le point du vue des deux fonction de détermination du type et de la localisation, vous pouvez ajouter vos propres paterns et type et ceux que j'ai fournis peuvent deja vous montrer la marche a suivre. Libre a vous donc de modifier ces deux fonction pour obtenir les résultats escomptés.
///--------------------- En dernier lieu, la classe est uniquement compatible PHP5 et la librairie GD2 est nécéssaire pour génerer les compte-rendus graphiques. Le choix du PHP5 m'était plus pratique, tous ceux qui ne pourrons pas faire fonctionner la classe à cause de ce choix recoivent mes sincères exuses.
Historique
- 22 juillet 2006 16:02:52 :
- Correction d'un erreur bete dans la deuxieme partie de l'explication
- 26 juillet 2006 21:05:41 :
- Comme précisé dans l'un de mes commentaires, cette MAJ concerne la méthode addPool(); qui remplace la fastidieuse confection d'un array résumant l'ensemble des propriétés des pools à scanner (cétait vraiement pas très malin de ma part). Elle simplifie donc la vie de l'utilisateur.
Pour le reste, les paterns de localisation et de typage resterons la ou ils sont car je pense que la classe doit etre personnalisée selon les besoins de chacun (meme si c'est pas le but d'une classe en général). Seul le moteur (ScanPlage();) doit rester tel quel. Je ne peut prévoir ce qui va etre determiné pour la localisation et le type (je vous en ai fourni quelque-uns, ceux dont j'avais besoin) donc je ne peut pas finaliser la classe de ce coté la.
La source est maintenent dans sa version finale (du moin je pense), bonne utilisation.
- 07 mai 2007 19:37:57 :
- Post de la V2.0 : Modifications dans le fonctionnement ainsi que l'implémentation des graphs resumant le scan.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
scanner repertoire [ par morgandetoi06 ]
comment faire pour scanner un repertoire "photos/" et afficher toutes les photos de ce repertoire ?mercu de votre aidewww.morgan06.fr.fm
dilemme pour scanner un répertoire distant [ par floflotz ]
bonjour à tousje suis en train de faire un petit script et je rencontre un gros souci !je souhaite scanner un répertoire distant, répertoire contenant
Utiliser un scanner en php [ par mictif ]
bonjour, j'aimerais savoir si il ete possioble de gerer un scanner en php ;je vous explique la fonctionnalité que j'aimerais integrer dans mon a
PHP sans acces adsl [ par boblebricotueur ]
Je voudai savoir comment faire pour faire du php sur mon pcmerci
gethostbyadress [ par wizad ]
Bonjour,J'utilise la fontction gethostbyadresse dans un de mes script php malheureusement les visiteurs de certain réseau (type entrprise ou scolaire)
Condition PHP pb d'operateurs [ par d9thc ]
Bonjour à vous, j'ai une question sur les condition en php, commencons par le début: <f
scanner des photos et enregistrer en format JPG [ par merkhaled ]
bonjour, je souhaiterais savoir si on pouvait scanner une image (twain) en php, et l'enregistrer en format jpg, en local ou sur un serveur distant (ft
scanner un répertoire [ par mcleod1 ]
Quelqu'un sait il comment scanner un répertoireet lister tous les sous répertoires non vides avec lien vers ceux ci (création d'un html avec liste de
Scanner un dossier vers mysql... [ par R3dDragon ]
Bonjour à tous,J'aimerais s'il est possible de scanner les fichiers d'un dossier, et d'en envoyé le nom, ainsi que le nom complet (avec extension) ver
Module pour piloter un scanner [ par sasigabon ]
Bonjour,Je suis en train en train de développer un logiciel GED en PHP4, et j'ai 3 questions fondamentales.1Q : Je suis bloqué pour coder la fonction
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
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 Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System 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
|