Supervision des ports ouverts - scan tcp

Soyez le premier à donner votre avis sur cette source.

Vue 11 256 fois - Téléchargée 637 fois

Description

Ce script vous permettra de superviser les services en vérifiant l'ouverture du port TCP.

_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP

Source / Exemple :


<?

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

	<body>
	';

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

// **********************************************
// Affichage du titre
// **********************************************
echo 	'
	<p align="center"><b><font color="blue" size="4">
		Validation du bon fonctionnement des services
	</font></b></p>
	<BR>
	';

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

// ********************************************
// Affiche de l'Url
// ********************************************
echo
	'
	<br>
	<p>
		<a target="_blank" href="http://www.frameip.com">
			www.frameip.com
		</a>
	</p>
	';

// ********************************************
// Fin de la page Html
// ********************************************
echo
	'
	</body>

	</html>
	';

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

	// **********************************************
	// Scan du serveur x
	// **********************************************
	echo  '
		<p>
			Voici les résultats du Scan du serveur <b>'.$serveur.'</b>
		';

	// **********************************************
	// 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 '</p>';
	}

?>

<? 

// ********************************************
// 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('<BR>Le port TCP $port est <b><font color=\"green\">ouvert</font></b>');";
	}
else
	// **********************************************
	// La session ne s'est pas ouverte
	// **********************************************
	echo "document.write('<BR>Le port TCP $port est <b><font color=\"red\">fermé</font></b>');";

?>

Conclusion :


_SebF

http://www.frameip.com
Pour ceux qui aiment TCPIP

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
20 mai 2007

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
Messages postés
1
Date d'inscription
mardi 9 janvier 2007
Statut
Membre
Dernière intervention
9 janvier 2007

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.
Messages postés
28
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
8 janvier 2007

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.

@++
Messages postés
42
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
7 octobre 2006

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
Messages postés
42
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
7 octobre 2006

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
Afficher les 24 commentaires

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.