SUPERVISION DES PORTS OUVERTS - SCAN TCP

D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007 - 20 juin 2004 à 19:01
AIEAIEAIE2006 Messages postés 1 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 20 mai 2007 - 20 mai 2007 à 16:51
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/23835-supervision-des-ports-ouverts-scan-tcp

AIEAIEAIE2006 Messages postés 1 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 20 mai 2007
20 mai 2007 à 16:51
Salut,
merci de ton script j'ai essayer de l'heberger sur plusieur hebergeur mais j'obtient toujours l'erreur
Erreur

Le Scan ne peux pas avoir lieu car le champ IP est vide.

www.frameip.com
Est ce que quelqu'un sait pourquoi?
Je suis un newbie dans le php
GregJZS Messages postés 1 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 9 janvier 2007
9 janv. 2007 à 21:12
Bonjour,

Ces script peut fonctionner avec apache sous un serveur linux ou seulement sous windows, car sur mon serveur linux ce srcipt n'affiche pas les ports scannés (par defaut dans le script: port 21, 23, 25 et 80)?
Sachant ke le port 80 est utilisé pour un site web sur hebergé sur le serveur linux et le port 21 un service ftp hebergé sur un serveur windows.

Merci d'avance.
D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007
5 oct. 2004 à 21:20
Salut,

après de longues recherches il s'avère que ce monitoring fonctionne très bien sur les comptes perso ouverts sur 100webspace.com
Sur d'autres comme Free ou laposte.net certains ports ne seront pas monitorés.

@++
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
7 juil. 2004 à 23:17
Ok, merci pour cette information.

Je n'arrive pas à reproduire le problème. Si le problème intervient au niveau d ela variable ip_source_reception, c'est que cela ne se produit pas au démarrage de l'application, mais certainement au moment de démarrage du ping.

Est ce bien le cas ?
Pourrais tu essayer de désactiver la reception et de m'indiquer si cela fait pareil ?
Pourrais tu me donner la configuration de ton poste Os, application réseau .. ?
Pourrais tu aussi me donner le contennu des différent champs au moment où de l'erreur ?
_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
7 juil. 2004 à 23:16
Ok, merci pour cette information.

Je n'arrive pas à reproduire le problème. Si le problème intervient au niveau d ela variable ip_source_reception, c'est que cela ne se produit pas au démarrage de l'application, mais certainement au moment de démarrage du ping.

Est ce bien le cas ?
Pourrais tu essayer de désactiver la reception et de m'indiquer si cela fait pareil ?
Pourrais tu me donner la configuration de ton poste Os, application réseau .. ?
Pourrais tu aussi me donner le contennu des différent champs au moment où de l'erreur ?
_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
30 juin 2004 à 16:50
Salut seb voici donc le message d'erreur
A+
Debug Errot!

Run-Time Check Failure #2 - Stack around the variable 'ip_source_reception' was corrupted
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
30 juin 2004 à 13:30
Ok pour le script Php. De toute façon si tu as besoin d'aide supplémentaire alors n'hésite pas.

Pour l'exécutable PingIcmp.exe, cela fonctionne très bien chez moi. Cependant je ne pas prétendre qu'il fonctionne sans bug juste parce que cela travail correctement sur ma station. Cela m'intéresse vivement de te dépanner afin d'améliorer mes dev.
Pourrais tu me donner le message exacte ?
Je suppose que si cela travail correctement par la suite, c'est que le message apparaît certainement au lancement uniquement.

Ca touche IP alors c'est avec plaisir,

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
30 juin 2004 à 08:03
J'ai essayé de testé ton ping.exe graphique cela marche mais il y a toujours un fenêtre de débogage visual c++ qui apparaît et si on veut que cela marche il faut ignorer. As-tu une version qui marche bien ?
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
30 juin 2004 à 07:58
Salut _sebf et merci pour ta réponse c'est bizzare car moi je les tester sur mon serveur web(easyphp 1.6) et cela indique que c'est fermé
le port qui est utilisé pour le web est bien 80 ?
Je suis allé sur ton site web et je le trouve super intéressant
malheureusement je n'y comprend pas grand chose mais ça c'est dû à moi et non à ton site. Bravo
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
29 juin 2004 à 23:52
ok,

cela signie, pour simplifier, que l'adresse IP que tu as tester n'a pas de serveur FTP ni Telnet ni Smtp et ni Web de démarré.

Il teste si un port Tcp est écouté ou pas.

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
29 juin 2004 à 11:32
Merci mais moi ce que je veux savoir ce qui signifie


Le port TCP 21 est fermé
Le port TCP 23 est fermé
Le port TCP 25 est fermé
Le port TCP 80 est fermé

A+
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
28 juin 2004 à 23:06
Regarde ici : http://www.phpcs.com/code.aspx?ID=23718 c'est la source d'origine de ce script. On m'a dékjà posé la même quetion.

Dis moi si cela te conviens.

@+

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
28 juin 2004 à 11:20
Super merci beaucoup

j'ai fais un test sur mon serveur et j'ai ces messages

Le port TCP 21 est fermé
Le port TCP 23 est fermé
Le port TCP 25 est fermé
Le port TCP 80 est fermé
qu'est-ce que cela signifie ?
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
28 juin 2004 à 10:39
Ok, je viens de comprendre. Tu colles tous dans un même fichier alors que le code comprends de Php : scan.php et scan2.php

La ligne 132 tombe pile poile sur le second fichier avec header, donc le message est cohérent.

Amuse toi bien,

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
28 juin 2004 à 09:40
Salut et merci de ta réponse mais exactement la même chose
j'ai fait un copier coller de ton script


voici ce que j'ai copier

<?

// ********************************************
// Nom du script : scan2.php
// Auteur : _SebF AT frameIP.com
// date de création : 20 juin 2004
// version : 1.0
// Licence : Ce script est libre de toute utilisation.
// La seule condition existante est de faire référence au site http://www.frameip.com afin de respecter le travail d'autrui.
// ********************************************

// ********************************************
// Affichage de l'entete html
// ********************************************
echo
'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<link REL= "StyleSheet" HREF="../style.css" TYPE="text/css">

<title>FrameIP, Pour ceux qui aiment IP - Script Scan</title>

<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="www.frameip.com">
<META NAME="COPYRIGHT" CONTENT="Copyright (c) 2003 by framip">
<META NAME="KEYWORDS" CONTENT="scan, online, outil, tcp, udp, port, destination, ouvert ferme, session, valider, validation, securite">
<META NAME="DESCRIPTION" CONTENT="Frameip, pour ceux qui aiment IP - Script Scan">
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
<META NAME="RATING" CONTENT="GENERAL">
<META NAME="GENERATOR" CONTENT="powered by frameip.com - webmaster@frameip.com">

</head>


';

// **********************************************
// Définition des constantes
// **********************************************
$serveur1 = "www.microsoft.com";
$serveur2 = "smtp.laposte.net";
$serveur3 = "ftp.crihan.fr";
$serveur4 = "www.yahoo.fr";

// **********************************************
// Affichage du titre
// **********************************************
echo '

Validation du bon fonctionnement des services





';

// **********************************************
// Lancement des scan
// **********************************************
serveur($serveur1);
serveur($serveur2);
serveur($serveur3);
serveur($serveur4);

// ********************************************
// Affiche de l'Url
// ********************************************
echo
'



www.frameip.com



';

// ********************************************
// Fin de la page Html
// ********************************************
echo
'


</html>
';

function serveur($serveur)
{
// ********************************************
// Résolution du nom
// ********************************************
$serveur_ip=gethostbyname($serveur);

// **********************************************
// Scan du serveur x
// **********************************************
echo '

Voici les résultats du Scan du serveur '.$serveur.'
';

// **********************************************
// Boucle lancant les appels du script de scan port par port
// **********************************************
echo '<script src ="scan2.php?host='.$serveur_ip.'&port=21"></script>';
echo '<script src="scan2.php?host='.$serveur_ip.'&port=23"></script>';
echo '<script src="scan2.php?host='.$serveur_ip.'&port=25"></script>';
echo '<script src="scan2.php?host='.$serveur_ip.'&port=80"></script>';
echo '

';
}

?>

<?

// ********************************************
// Nom du script : scan2.php
// Auteur : _SebF AT frameIP.com
// date de création : 29 Novembre 2003
// version : 2.1
// Licence : Ce script est libre de toute utilisation.
// La seule condition existante est de faire référence au site http://www.frameip.com afin de respecter le travail d'autrui.
// ********************************************

// **********************************************
// Interdiction de la mise en cache
// **********************************************
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

// **********************************************
// Suppression des warning et erreurs si la session tcp ne monte pas
// **********************************************
error_reporting(0);

// **********************************************
// Ouverture de session tcp
// **********************************************
$socket=fsockopen($host, $port, &$errno, &$errstr, 1);

if ($socket)
{
// **********************************************
// La session s'est bien ouverte
// **********************************************
$nombre_de_port_ouvert++;
fclose($socket);
echo "document.write('
Le port TCP $port est ouvert');";
}
else
// **********************************************
// La session ne s'est pas ouverte
// **********************************************
echo "document.write('
Le port TCP $port est fermé');";


?>
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
28 juin 2004 à 09:22
Salut,

Peux tu m'envoyer par messagerie les modifications que tu as effectuées dans le code? Car ce que j'ai posté ne possède pas les 132 lignes :)

Sinon, regarde un peu, le message "Cannot add header information - headers already sent" est très parlant.

@+

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
28 juin 2004 à 08:40
Hello j'ai voulu teste ce script et j'ai ces message d'erreur

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 132

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 133

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 134

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 135
document.write('
Le port TCP est ouvert');
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
28 juin 2004 à 08:39
Hello j'ai voulu teste ce script et j'ai ces message d'erreur

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 132

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 133

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 134

Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\ria\scan.php:40) in c:\program files\easyphp\www\ria\scan.php on line 135
document.write('
Le port TCP est ouvert');
D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007
23 juin 2004 à 11:51
Salut,

voilà le script fonctionne à merveille, c'est juste le serveur de Free sur lequel je l'ai placé qui est "aveugle".

Un grand merci à _SebF pour son script qui me sera très utile pour monitorer l'état de mes serveurs perso.... dès que j'ai trouvé un endroit pour l'héberger ;)

@++
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
22 juin 2004 à 09:15
Cool c'est un bon test, mais il n'y a pas de rapport entre la resolution Dns et les ports ouverts. Car ton port 80 est en permanance ouvert.

Modifi le code afin d'afficher l'ip résolue. Pour cela remplace :
echo '

Voici les résultats du Scan du serveur '.$serveur.'
';

par :
echo '

Voici les résultats du Scan du serveur '.$serveur.' ET voici l ip'.$serveur_ip'
';


Peux tu me donner l'adresse de ton script afin que je visualises le truc et si possible, le code que tu as mis, car tu as du effectuer des changements :)

@+

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007
21 juin 2004 à 22:00
Je viens de refaire un essai avec l'autre scanner qui fonctionne avec les @ip et il détecte parfaitement les ports ouverts de ports fermés. Il semblerait que le problème vienne bien de la différence entre @ip et dns.
D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007
21 juin 2004 à 21:04
Effectivement, je n'y avais pas pensé. Cette page est sur Free mais je vais tester sur d'autres hébergeurs car apparmment Free n'autorise le check que sur le 80.
Si je trouve un hébergeur gratuit compatible je ferai un post ici.

@++

^°^
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
21 juin 2004 à 20:37
J'ai fait le test et tous les ports fonctionnent correctement. Cependant, n'oublis pas que l'execution s'effectue à partir du serveur qui héberge ton script. Donc c'est ce même serveur qui test l'ouverture de port. Ma question est donc : Est ce que le serveur qui héberge ton script à le droit de requéter sur un autre port que le 80 ?

@+

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP
D4rkXtaL Messages postés 28 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 8 janvier 2007
20 juin 2004 à 19:01
Salut,

excellent!! c'est exactement ce que je cherchais :))
Par contre il ne semble "voir" que le port 80 contrairement au scanner par @ip.Est-ce que ça peut être dû à la résolution des dns?

Sinon bravo!
Rejoignez-nous