begin process at 2012 02 15 02:16:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > SUPERVISION DE PORTS

SUPERVISION DE PORTS


 Information sur la source

 Description

Ce script permets de superviser les services lancés sur un serveur avec la fonction @fsockopen. Les informations (adresses ip et ports) sont stockés dans une base de donnée.
En cas de ports libre tout va bien sinon création d'un fichier log avec heure, date, adresse ip et ports du serveur en question.
Script commenté (c'est mon premier alors j'attends vos remarques). C'est une adaptation du script http://www.phpcs.com/codes/STATUS-SERVEUR-PHP_3950 3.aspx

Source

  • <?php
  • mysql_connect("localhost", "root", ""); // Connexion à MySQL
  • mysql_select_db("supervision"); // Sélection de la base
  • $reponse = mysql_query("SELECT * FROM serveur"); // Requête SQL de la table serveur
  • while ($donnees = mysql_fetch_array($reponse) )
  • { // Début boucle while
  • $ip = $donnees['ip_serveur']; // adresse ip du serveur
  • $ports = $donnees['ports_serveur']; // ports du serveur
  • $connect = TRUE; // Autoriser ou non la connexion
  • // Mise en place du texte du nom de serveur
  • echo "Le serveur $ip port $ports";
  • // Verification du statut
  • if (! $sock = @fsockopen($ip, $ports, $num, $error, 5))
  • {
  • // Si il est hors ligne
  • echo ' est : <font color="#CC0000">DECONNECTE</font> !';
  • // Si problème création du fichier log
  • echo "<br />";
  • echo "Création du fichier log";
  • $fp=fopen("/var/www/test/log.txt","a"); // Ouverture du fichier avec le mode écriture
  • fputs($fp, "\n"); // on va a la ligne
  • $date = date("d-m-Y"); // On recupere la date de l'incident
  • $heure = date("H:i"); // On recupere l'heure de l'incident
  • fputs($fp, "$date $heure $ip $ports"); // On écrit la date, l'heure, l'ip et le port concerné
  • fclose($fp); // Fermeture du fichier
  • }
  • else{
  • // Si il est en ligne
  • echo ' est : <font color="#00CC00">CONNECTE</font> !';
  • fclose($sock);
  • }
  • echo "<br />";
  • } // Fin boucle while
  • mysql_close(); // Déconnexion de MySQL
  • ?>
     <?php
     
     mysql_connect("localhost", "root", ""); // Connexion à MySQL
     mysql_select_db("supervision"); // Sélection de la base 

     $reponse = mysql_query("SELECT * FROM serveur"); // Requête SQL de la table serveur
     
     while ($donnees = mysql_fetch_array($reponse) )
     { // Début boucle while

     $ip = $donnees['ip_serveur']; // adresse ip du serveur
     $ports = $donnees['ports_serveur']; // ports du serveur

     
     $connect = TRUE; // Autoriser ou non la connexion
        
    	
     // Mise en place du texte du nom de serveur
     echo "Le serveur $ip port $ports";
     // Verification du statut
    
     if (! $sock = @fsockopen($ip, $ports, $num, $error, 5))
     {
     // Si il est hors ligne
     echo ' est : <font color="#CC0000">DECONNECTE</font> !';
     
     // Si problème création du fichier log
     echo "<br />";
     echo "Création du fichier log";
     $fp=fopen("/var/www/test/log.txt","a"); // Ouverture du fichier avec le mode écriture
     fputs($fp, "\n"); // on va a la ligne
     $date = date("d-m-Y"); // On recupere la date de l'incident
     $heure = date("H:i"); // On recupere l'heure  de l'incident
     fputs($fp, "$date $heure $ip $ports"); // On écrit la date, l'heure, l'ip et le port concerné
     fclose($fp); // Fermeture du fichier
     }	 
	  
     else{
     // Si il est en ligne
     echo ' est : <font color="#00CC00">CONNECTE</font> !';
    
     fclose($sock);
    
     }	
     echo "<br />";
	
     } // Fin boucle while
     mysql_close(); // Déconnexion de MySQL
     ?> 




 Sources de la même categorie

Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj
Source avec Zip MYGGL GOOGLE API CLASS FOR BEGINERZ par lezj
CLASSE WIKILOC par aKheNathOn

 Sources en rapport avec celle ci

COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip PROTÉGER UNE PAGE PAR UN MOT DE PASSE SANS COOKIES par Hitoshi54
MIGAPROXY : PROXY EN PHP COMPILABLE AVEC BAMCOMPILE par qbasic
STATUS SERVEUR EN PHP par naruto uzumaki

Commentaires et avis

Commentaire de DiGhan le 07/07/2007 17:46:18

Salut,

bien pratique ce petit script. Pour l'archivage des données dans le fichier de log, il est possible de faire plus simple (écriture sur la prochaine ligne) :

> $hFile = fopen('/var/www/test/log.txt', 'a+');
> $time = date("d-m-Y H:i"); // récupération des infos de temps
> fputs($hFile, "$time $ip $ports\r\n");  // "\r\n" permet d'insérer un retour à ligne
> fclose($hFile);

Une dernière petite chose, pour la vérification des communications :

# if (! $sock = @fsockopen($ip, $ports, $num, $error, 5))
> if (FALSE === ($sock = @fsockopen($ip, $ports, $num, $error, 5) )
Rq : vérifier le type de retour étant donné que fsockopen retourne soit un pointeur soit false (type différent).






Commentaire de coucou747 le 09/07/2007 07:35:32 administrateur CS

c'est pas de la supervision, c'est juste un exemple de log... t'as aucune verification d'erreur dans ton script...

Commentaire de marmarak le 11/04/2008 10:21:23

j'ai exécuté votre code je trouve ces erreurs:

Notice: Undefined index: ip_serveur in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 10

Notice: Undefined index: ports_serveur in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 11
Le serveur port est : DECONNECTE !
Création du fichier log
Warning: fopen(/var/www/test/log.txt) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 29

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 30

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 33

Warning: fclose(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\supervision.php on line 34

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Serveur socket [ par Tibo82 ] Je débute en php et en fait je dois developpez un serveur simple à l'aide de socket. Ce serveur devra juste recevoir un caractère correspondant à une if et else en php [ par mediapat ] slt à tousje suis débutant et n'arrive pas à faire un code avec condition.voici le début de mon code source :&lt;? $host = "213.228.13.136"; echo get scripte redirection ip fix-->ip dynamique [ par Parilla77 ] Bonjour je cherche a faire un scripte qui rediriger&#233; vers mon serveur perso:1 fichier sur mon serveur perso qui envoi toutes les minutes par exem Socket et redirection serveur PROBLEME ! [ par Antidote ] Bonjour j'ai un pb entre deux socket. J'envoie une requette http par socket, le server me répond par un code 302 et une adresse de redirection. Quand Socket : Adresse d'un serveur [ par Leneuf8000 ] Bonjour, voil&#224;, j'ai trouv&#233; des sripts permettant l'envoi de mail et qui utilise la fonction fsockopen, or comme j'ai un probl&#232;me pour Affichage Adresse IP Du Serveur ! [ par theserveur ] Bonjour @ tous Alors je vais tenter d'&#234;tre clair dans ma demande. J'ai un serveur CS sur lequel j'ai install&#233; phpBB pour mettre &#224; di sockets/php [ par agoumi ] bonjour a tous! bon j'ai réaliser une socket serveur en php sous linux,mais lors de l'execution j'ai l'erreur suivant: Fatal error: Call to undefined Socket bind : erreur... [ par skurvy ] Voila, j'aimerais utiliser les sockets pour faire un petit jeu, mais ca ne va pas... /// voila le de but de mon programme&lt;?$ip=$_SERVER["REMOTE_ADD HELP socket [ par OverDarck ] Je n'arrive pas a utiliser les fonction socket ou meme fsockopen sur free et sur un autre serveur profesionel, alors que la meme source utilisatn ces Serveur Socket [ par Astalavista ] Je chercher le moyen de cree un serveur en PHP avec des sockets.Je compte fair un programme en un autre language (Client) qui communiquerais avec mon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales