France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 511 membres enregistrés - 2 069 318 posts - 122 026 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Bases de données
                Testeur d'IP et remplissage des pools testés
71 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
1,2 | Suivant
Testeur d'IP et remplissage des pools testés

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 03 March 2006 - 16 h 29 m 15 s
Bonjour,
Je developpe un testeur d'IP un peu comme celui la http://tnmit.free.fr/test/scanIP.php sauf que le mien est plustot dedié aux pools '192.252.xxx.xxx' et '193.253.xxx.xxx' de FT meme si il fait aussi d'autre opérateurs. J'aimerai, a partir des resultats qu'il me sort, creer un ficher HTML qui représente l'oocupation de ces pools, par exmemple si les adresse IP d'une plage sont occupées par les conexions d'abonnés ou par les serveurs smtp par exemple.
Le probleme est que je ne sais pas bien comment faire, surtout pour générer le fichier en lui meme et ensuite faire un tableau qui, en fonction d'une entrée du scan, est modifié. Si vous pourriez m'éclairer sur le sujet serait sympas merci.
Pour finir, je cherche a faire ca car les pools étant deja bien remplis et longs a scanner, le tableau étant remis a jour par portions a chaque scan, je saurait donc ou aller chercher mes infos.

Merci d'avence.


Message édité 1 fois, la dernière par fanfouer le 03 March 2006 - 19 h 16.

http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 03 March 2006 - 16 h 57 m 42 s
euh, ton topic serait mieux dans prog ;)
ben en fait, je pense pas que ce soit tres stratege d'utiliser un fichier texte, tout simplement parce que tu vas etre oblige de la parser du debut a la fin pour faire une modif, donc grosse perte de temps et d'efficacite. une base de donnees ferait plutot mieux ton affaire :)
tu fais 4 champs smallint ou tu colles les 3 1ers chiffres du masque + 1 champ pour les occurences, pis voila c regle. ensuite pour afficher, ben tu pompes ta table dans l'ordre :)
1 requete pour l'update, 1 requete pour l'affichage, emballe c pese !



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 03 March 2006 - 17 h 01 m 41 s
Parfais!!! je vais voir ce que je peut faire merci beaucoup
(déplace le topic si ce n'est as sa bonne place)



http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 03 March 2006 - 17 h 08 m 42 s
ce que je te donne, c'est juste pour le comptage, mais c'est la meme chose si tu veux stocker les infos comme le fait le site sur lequel tu prends exemple.



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 03 March 2006 - 17 h 20 m 33 s
Non, en fait, mon testeur sert aussi de base a un script de mise a jour de mes bases : je declanche un test avec des parametres bien précis et le script de lui meme insert ou mes a jour a ma base avec les équipements que je lui ai indiqué (BAS, DSLAM...). Ce que je veu faire maintenent c'est produire un tableau a chaque test disant de telle IP a telle IP il y a sois des conexions, des BAS, des DSLAM, des équipements du backbone, etc... Mais bon, j'ai fait ma table mais plus sa va plus je ne sais pas comment dire au test que l'on a changé d'équipement depui la derniere ligne. Car le test sait de lui meme pour chaque IP testée, de quel type d'équipement il s'agit et ou il se situe. Et puis aussi, il y aura plusieurs entrée par pool (a moin qu'il y ait 255x255 connexions a la suite, ce dont je doute) donc comment dois-je faire? Faire une liste dans une entrée ou refaire une entrée a a chaque changement?



http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 04 March 2006 - 18 h 06 m 48 s
donne la structure de ta table, ce sera plus clair, parce que la je vois pas trop le souci... tu vas juste mettre a jour ta table avec le nouvel equipement alors ou es le probleme ? tu veux garder un historique en fait ? si c'est un truc du genre, il te suffit de rajouter a ta table un timestamp qui te permettra de garder l'historique. ainsi, a chaque fois que l'equipement change par rapport a ce que tu as dans ta base, tu rajoutes un enregistrement. par contre, cree des index pour que ca file...

++



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 05 March 2006 - 01 h 33 m 16 s
Non, je ne veut pas mettre en base tous les équipements trouvés. Je veu simplement enregistrer des 'plages' d'IP occupées par tel ou tel type d'équipement. En base, je doit avoir un champ debut, fin pour indiquer les IP de depart et de fin. Le probleme est que je voudrais savoir si je doit refaire une entrée a chque fois que la plage change ou, pour un meme pool, je peut faire une 'liste' exploitable comme un array par la suite dans mon entrée de table. Dans ce dernier cas, il n'y aurait alors plus qu'un entrée par pool, ce qui serait plus pratique.



http://www.infos-reseaux.com

gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 114
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 05 March 2006 - 15 h 12 m 37 s
En gros, il veut faire exactement comme http://francois04.free.fr si j'ai bien compris... :roll:



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 05 March 2006 - 15 h 28 m 31 s
Non plus, enfin, presque mais de toute façon je en risque pas de lui faire concurence car ca ne sera pas publique. Ensuite, c'est pour les pools de FT et non de Free et pour finir c'est juste des ensemble grossiers d'occupations : de l'IP 193.253.160.0 a l'IP 193.253.169.255 ya des BAS par exemple. et ainsi de suite pour toutes les IP du pool



http://www.infos-reseaux.com

gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 114
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 05 March 2006 - 15 h 30 m 32 s


Le 05 mars 2006 - 15 h 28, fanfouer a écrit :
Non plus, enfin, presque mais de toute façon je en risque pas de lui faire concurence car ca ne sera pas publique. Ensuite, c'est pour les pools de FT et non de Free et pour finir c'est juste des ensemble grossiers d'occupations : de l'IP 193.253.160.0 a l'IP 193.253.169.255 ya des BAS par exemple. et ainsi de suite pour toutes les IP du pool


M'en fout de si tu le commercialises ou non, si c'est du Free ou pas, j'explique juste que le comportement sera similaire à celui de francois04.free.fr...

Juste une remarque : préviens ton FAI, parce que si tu fais des scans d'IP régulièrement, tu risques de recevoir un joli mail te demandant d'arrêter...



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 06 March 2006 - 07 h 45 m 21 s


Le 05 mars 2006 - 15 h 30, gege38 a écrit :
Juste une remarque : préviens ton FAI, parce que si tu fais des scans d'IP régulièrement, tu risques de recevoir un joli mail te demandant d'arrêter...


Le script étant hebergé par OVH, c'est eux qui risquent de recevoir un joli mail lol. (qu'ils risquent de me rediriger par la suite, c'est sur)



http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 06 March 2006 - 15 h 25 m 00 s
tant que t'explose pas ton quota ils te diront rien du tout a mon avis...



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 06 March 2006 - 20 h 42 m 14 s
Oui, nan mais cela reste le cadet de mes soucis lol mais cela ne me dit toujours pas comment proceder... désolé je suis un peu gauche ces temps-ci



http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 06 March 2006 - 23 h 11 m 03 s
rah ! moi je comprends plus rien !
ecoutes, desole de te le dire mais soit un peu plus clair, si tu fais un projet comme ca, t'as au moins grifonne un truc ou t'as des tables, donne la structure, je te l'ai deja demandee ! ou alors donne ton algo de base, fais des etapes, genre :
1- je saisis une plage
2- machin fait "ci" comme "ca"
3- truc fait "ca" comme "ci"
4- il faut que je garde "ca" en base d'une facon ou d'une autre
5- cool j'ai fini :D

parce que la, on peut pas t'aider, avec toute la bonne volonte du monde :jap:



:firefox: :ol:

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 06 March 2006 - 23 h 11 m 41 s
pinaise, vla ke jme remet a engueuler tout le monde :chepa: :lol: :bla:



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 07 March 2006 - 18 h 40 m 18 s
Bien.. okay, si tu veut, je vais tout de detailler de A jusqu'a Z!(ne pensez pas que je vous prend pour des imbeciles mais j'aimerai éviter toute forme de malentendu)

Pour commencer :
1.) Mon test et son fonctionnement.



Pour commencer, voila une capture d'ecran du menu du testeur, de là ou je lance et paramètre le test, ca va me servir de base. Le test fonctionne de la manière suivante, en suivant l'ordre d'une IP : tout d'abord, on choisi les deux premieres chiffres de cette deniere. Pour cela, des données comme l'Opérateur et le pool sont demandées a l'utilisateur. (voir tableau du haut). Des options ce présentent alors telles que 'scan total' ou 'importBD'. La premiere change de 'mode' : elle dit au scan qu'il ne va pas scanner une 'plage' (appelation personnelle alors inutile de dire que ca n'existe pas, ca représente pour moi la 3eme partie d'une IP) mais plusieurs dont le nombre est défini par la suite (10, 13, 15... 25). Initialement, seul les tableaux de la capture d'écran sont affiché au 'demarrage' de la page. Seulement, lorsque la case scan total est cochée, les paramètres du test sont un peu modifiés : voir capture ci dessous.



La deuxieme option, importBD, dit au test qu'en fonction de certaines infos telles que le type d'équipement ou sa localisation, il doit le mettre en base (si on choisi de mettre les DSLAM situés a Annecy en paramètre, et bien a chaque fois DURANT le test, dès qu'il rencontre un tel équipement, il l'ajoute a la table concernée). Pareillement que pour le scan multiple, là c'est un tableau entier qui s'affiche pour le parametrage de l'import :



Pour terminer avec le parametrage, j'ai ajouté une fonctionnalité à laquelle j'ai deja fait alusion plus haut plus haut : la recherche par ville. Elle permet de mettre en valeur dans la liste des resultats tous les équipements se situtant dans la ville precisée. La fonction analyse la resolution DNS de l'équipement testé et le parse a l'aide d'un motif fesant ressortir la localisation de l'équipement concerné. Et, pour finir, les indications de situation géaographique des DNS ne correspondant généralement pas aux noms entiers des villes, on compare ce qui ressort du parser avec le contenu d'une table pour que ca colle avec le nom de la ville entré.

2.) Affichage des resultats et déroulement du test
Une fois que l'utilisateur a cliqué sur 'envoyer', le test se lance. Si je voulais détailler toutes les fonctions qui interviennent, j'y passerai la nuit, je vais donc faire simple et résumer la situation pour les deux cas de figures (scan simple ou multiple).
  • Cas de 'scan simple' : Une boucle s'active et defini toutes les IP de la plage selectionnée (au nombre de 255 donc) et les resolve toutes. Chaque équipement qui repond est ensuite analysé par la biais de sa resolution DNS : on sort son type, sa localisation, son état, son ID de reseau... Tous les équipements sont testés les uns après les autres. A la fin de chaque test d'équipement, une ligne est ajoutée au tableau des resultats (le tableau est donc construit au fur et a mesure et non d'un coup).
  • Cas d'un 'scan multiple' : Et bien la procédure ne diffère pas en pratique sauf que la on doit générer nbPlages*255 IP : et bien une boucle au dessus de la premiere donne le 3ème chiffre de l'IP (car dans ce cas il n'est pas donné par l'utilisateur).

En image ca donne ca:
    Code php    
 1. if ($operateur != "none"){//Si un operarteur est defini
 2. 	if ($typeTest == "simple"){//On veut faire un test simple (qu'une seule plage)
 3. 		Scan ($importBD, $importTypeEquipement, $importOption, $operateur, $pool, $plage, $locationQuery);//On declanche un scan (la prmeeire boucle est deja dans la fonction
 4. 	}else if ($typeTest == "multiple"){//Si, en revanche, on veut faire un scan multiple
 5. 		for ($i=$depart; $i < $depart+$NbPlages; $i++){//On fait un systeme de boucle imbriquée
 6. 			$plage = $i;//Definition de la plage en fonction du coef. de boucle
 7. 			$pattern = "!([0-9])!";
 8. 			if (preg_match($pattern, $plage) AND $plage < 256){//Simple vérif que la plage est bien defnie sinon ca fait des beugs
 9. 				echo '<tr>//Un peu de HTML pour mettre en place le tableau (on remet une ligne blanche a chaque debut de plage pour espacer un peu les resultats
10. 				  <td colspan="4" class="listing_header">
11. 				   Listing des IP trouvées de la plage :'.$plage.'
12. 				   </td>
13. 				</tr>';
14. 				Scan ($importBD, $importTypeEquipement, $importOption, $operateur, $pool, $plage, $locationQuery);//On lance un scan sur la plage definie par la boucle
15. 			}
16. 		}
17. 	}
18. }


Petite capture pour terminer



La colone IP contient l'IP qui a été généré par le test, celle qui porte le nom de 'DNS' contient la resolution DNS de l'équipement a la quelle j'ai ajouté la ville de l'équipement. Celle du nom contient le nom de l'équipement, parsé a partir de la resolution DNS et la derniere, 'importBD' donne l'état de l'import. En effet, pour chaque equipement, on verfie si il est en base ou pas. Si le message est rouge, rien ne s'est passé mais il n'est pas en base, si il est orange, on la ajouté a la base et si il est vert, on a rien touché mais il est deja connu de mySQL.


3.) Ce que je j'aimerai faire avec l'occupation des Pools
Voila, maintenent que vous savez tout je vais pouvoir m'expliquer. Je veu simplement que mon test fasse de lui meme l'opération suivante : Lorsqu'il rencontre uen plage ou il n'y a que des connexion ou des équipement ADSL, qu'il mette dans une base ou ou il veut, que la palge qu'il vien de scanner est rempli de tels ou tels trucs. De maniere a afficher une page par la suite avec un tableau donnant le remplissage du pool, plage par plage, un peu comme une frise chronologique.
Je ne sais pas comment réaliser cela. Et j'aimerai bien que qqn m'éclaire un peu sur la réalisation du truc car je suis perdu!

Voila, j'ai mal au poinget a force d'écrire donc si qqn a des questions, qu'il les pose et j'y repondrait.

Merci de votre aide



http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 08 March 2006 - 13 h 53 m 34 s
OK, donc tu veux t'interesser seulement aux pools qui sont totalement remplis, hors d'apres ton appli, tu scannes les ips une par une, donc a priori, tu ne peux faire cela qu'a la fin du traitement classique. A la rigueur, ce que tu peux faire est de creer une variable a la con qui s'appelle genre "pool_plein" (booleen) ; a chaque fois que tu scannes une ip differente, tu verifies qu'un equipement soit present, si oui, la variable ne change pas d'etat, si non, elle change d'etat. Du coup a la fin de ton scan, tu n'as qu'a recuperer la valeur de ta variable (true / false). Une fois que tu connais la valeur de la variable, tu dis : si ma variable est "true" alors mon pool est plein donc je le met dans la table de ma base qui correspond.

voila, ca me parait pas complique a cote de ce que tu as deja du pondre, donc je suis pas sur d'etre dans le reel... eclaires moi si c'est pas ca :)



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 08 March 2006 - 16 h 52 m 36 s
Ca commence a venir... saut qu'il me faudrait dire de KOI le pool est rempli. exemple : de 193.253.0.0 a 193.253.160.0 ca peut etre des conexions et ensuite des BAS, il faudrait le faire aparaitre.


Message édité 1 fois, la dernière par fanfouer le 08 March 2006 - 16 h 53.

http://www.infos-reseaux.com

grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 08 March 2006 - 17 h 42 m 33 s
ben tu crees une table avec 4 champs pour les 4 chiffres des ips, plus un champs pour le libelle de l'equipement que tu recup via ton script, et tu colles tout dans la base. si l'indicateur de pool rempli est a true, c'est ok, sinon, tu vires les lignes inserees precedemment.



:firefox: :ol:

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 09 March 2006 - 12 h 13 m 48 s
Mais vu que j'ai pas une base de donnée illimité, je n'aimerai pas inserer toutes les lignes d'un pool sachant que deux suffisent : pourquoi ne pas dire de telle IP a telle IP ya ca, ca economiserai deja pas mal de place. Le tout est de savoir dire au script que l'on change d'équipement entre deux IP car je le repete : le script test un équipement et attend d'avoir la reponse de celui-ci avent d'en faire un autre. Les variable étant réinitialisées, je ne peut pas savoir ce que j'ai avent.



http://www.infos-reseaux.com

1,2 | Suivant
Page genérée en 0.3507 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory