UN SCANNER DE PORTS

Signaler
Messages postés
1
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
12 juillet 2007
-
Messages postés
18
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 janvier 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43426-un-scanner-de-ports

Messages postés
18
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 janvier 2011

Pour iseult, comme 99% des programmeurs, une tete de con assortie d'un ego surdimentionné, ça change pas
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
ma facon de tester l'ip, c'est kankrelune qui avait demande ici meme de lui expliquer un code en C sur ces fonctions, ca avait fait un peu discuter... la, ca permet si tu veux, de tester vraiment le fait que ton ip ne contienne que des choses entre 0 et 255...


Pour les types de variables, je suis... disons... contre cette facon de coder : ta variable en C, tu la declares au debut avec son type, ensuite, elle garde ce type, et donc si t'as un probleme, tu vas voir en haut de ta fonction, ou la ou ta variable est declaree... la, c'est different en php, t'as pas un typage aussi soutenu, et on s'en fou au fond... si tu fais une fonction de plus de 50 lignes, alors elle devient assez illisible, ou fait trop de choses seule, (neurocyfer, un operateur de #programmation, salon officiel de codes-sources, appelle ca "fonction ou classes divine" car ca fait tout seul, sans rien demander aux autres, et surtout, on ne sait pas comment ca peut bien marcher...), alors pour de petits morceaux de codes, savoir quel type a une variable... au pire, un echo gettype($var); en debug...
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

Salut all ;-)
Belle ambiance sur ce thread, sympa ^^

Bon j'avais juste quelques remarques, rien de bien mechant :p

Comme me l'avait fait remarquer un jour Malalam, il serait interessant que tu essayes de prefixer tes variables par leurs types ou au moins que tu leurs donnes des noms plus explicite.
Je ne doute pas que le code soit facile a comprendre mais des var qui s'appellent $start ou $end gagnerait (a mon avis) a s'appeller $iPortStart ou $iStartPort ou un truc du genre. C'est du chipotage, je ne met pas en doute tes qualites de developpeur pour autant ;-)

Par contre, j'aurais vu une petite optimisation lors de tes tests avec ces fameuses variables $start et $end. Plutot que de les tester 2 fois (is_numeric() et ensuite if $start >= 655535 [etc]), pourquoi ne pas raccourcir directement avec intval() ?

if (isset($_GET['ip']) && isset($_GET['start']) && isset($_GET['end']))
{
$ip = intval($_GET['ip']);
$start = intval($_GET['start']);
$end = intval($_GET['end']);
$fermes=0;

if ( !long2ip(ip2long($ip))==$ip || $start >=65536 || $end >=65536 || $start <=0 || $end < $start )
echo 'Il y a eu une erreur : veuillez verifier vos parametres (causes possibles : mauvais formats ou valeurs incorrects)';

// ...
}

C'est sur qu'en reflechissant bien, on perd la gestion complete des erreurs et on doit afficher un message generique mais cela me parait mieux que de tester 2 fois les memes variables. Question de gout j'imagine ^^

Je suis etonne du test que tu effectues pour l'adresse ip. Convertir l'ip en format litterale puis la convertir en format numerique, c'est plutot interessant. J'avais l'habitude de tester avec une regex mais je dois dire que cette facon de faire est marrante, je crois que je vais la garder ;-)

Dernier truc, bravo pour la gestion des exceptions. Pas indispensables si on prend bien en compte chaque retour de fonction mais interesant dans sa mise en oeuvre.

Je te met 8 car tu as un peu triche avec fsockopen(), j'aurais prefere voir une source avec socket() mais l'idee est la et le code est plutot solide.

@++
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Ca c'est très malin, Coucou, très.
Afficher les 74 commentaires