[classe php5]scan ip v2.0 - scanner des plages d'ip et retrouner le résultat dans un tableau

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 / Exemple :


//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.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.