IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

souci code php sur hostname et formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut souci code php sur hostname et formulaire
    Actuellement je bloque car, quand je tape dans un champs l'URL , j'aimerais que le hostname et le hostip associer au champs soit affiche sur la page et procède tout de même au scan des port :

    exemple quand je met Google ou toto.fr j'aimerais que l'ip de ce domaine ainsi que le reste soit associer par rapport a url que je pourrais taper dans le champs url , car la je rentre l'url de mon site le code fonctionne sans aucun problème les port ouvert s'affiche.

    mais que cela puisse fonctionner individuellement aussi .

    voilà un aperçu en image je ne sais pas si vous comprenez ou je veut en venir :



    j'aimerais perfectionner le script

    avec les paramètres suivant

    - Les port Ouvert ou pas ouvert (chose faite)
    - Le type de serveur derrière apache ou autre (avec ça version)
    - l'ip du domaine ainsi que ces adresse dns et un trace route du domaine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Scanner</title>
    <link href="style.css" rel=stylesheet type="text/css">
    </head>
    <body> 
    <br/>
    <div id="conteneur">
    <br/>
    <div id="header">
    Scanner de Port
    </div>
    <table id="tableau">
     
    <?php 
    // Récupération du nom depuis l'adresse IP
    $hostname = gethostbyaddr("8.8.8.8");
     
    // Récupération de l'adresse ip depuis le nom
    $hostip = gethostbyname("www.google.fr");
     
     
    $hostname = $_POST["hostname"];
    $hostip = $_POST["hostip"];
     
    echo '<tr>';
    echo '<td class="text_tableau_resultat">'.$hostname.'</td>';
    echo '<td class="text_tableau_resultat">'.$hostip.'</td>';
    echo '</tr>';
    echo '</br>';
    echo '</br>';
     
     
    // Ping avec commande du système (Pour Linux, à adapter si le système est différent)
    function ping($host)
    {
    // exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval);
    return $rval === 0;
    }
    if (ping("8.8.4.4")) {
    echo '<tr>';
    echo '<br/><br/><td>Liaison OK</td>';
    echo '<td> </td>';
    echo '</tr>';
    echo '<br/>';
    echo '<br/>';
    } 
    else 
    {
    echo '<tr>';
    echo '<td>Liaison KO<br/><br/></td>';
    echo '<td> </td>';
    echo '</tr>';
    }
     
    // Scanner de ports
    $host = $_POST["adresse"];
    $ports = array(21, 22, 23, 25, 53, 80, 110, 1433, 3306);
    $results = array();
    foreach($ports as $port) {
    if($pf = @fsockopen($host, $port, $err, $err_string, 1)) {
    $results[$port] = true;
    fclose($pf);
    } else 
    {
    $results[$port] = false;
    }
    }
    foreach($results as $port=>$val) {
    $prot = getservbyport($port,"tcp");
    echo '<tr>';
    echo "<td><img src='serveur.png' border='0'> Port $port ($prot):</td>";
    if($val) {
    echo '<td><span class="text_tableau_resultat"><img src="port-ouvert.png" border="0"> Le port est Ouvert !</span></td>';
    }
    else
    {
    echo '<td><span class="text_tableau_resultat2"><img src="port-fermer.png" border="0"> Le port n\'est pas ouvert</span></td>';
    echo '</tr>';
    }
    }
    ?>
    </table>
     
     
    <br/>
     
    <form method="POST" action="scan-tools.php">
    <table id="tableau2">
     <tr>
      <td align="right" width="100" class="text_tableau2"> Hostname :</td>
      <td align="right" width="300"><input name="hostname" type="text"></td>
     </tr>
     <tr>
      <td align="right" width="100" class="text_tableau2"> L'URL / WWW :</td>
      <td align="right" width="300"><input name="adresse" type="text"></td>
     </tr>
     <tr>
      <td align="right" width="100" class="text_tableau2"> Adresse IP:</td>
      <td align="right" width="300"><input name="hostip" type="text"></td>
     </tr>
      <tr>
      <td> </td>
      <td> </td>
     </tr>
     <tr>
      <td align="right" width="100"> </td>
      <td align="right" width="300"><button type="submit">Lancer le Scan !</button></td>
     </tr>
    </table>
    <br/>
    </form>
    </div>
    <br/>
    <div id="footer"><br/></div>
    </body> 
    </html>

  2. #2
    Membre régulier Avatar de moogli
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 58
    Points : 102
    Points
    102
    Par défaut
    salut,

    Tu écrase systématiquement les variables $hostname et $hostip avec ce qui viens du formulaire

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $hostname = gethostbyaddr("8.8.8.8");
     // Récupération de l'adresse ip depuis le nom
    $hostip = gethostbyname("www.google.fr");
     
    $hostname = $_POST["hostname"];
    $hostip = $_POST["hostip"];
     ?>
    du coup l'utilisation des fonctions sert pas à grand chose.
    pour chaque champs du formulaire tu test s'il existe et s'il n'est pas vide tu l'utilise sinon tu utilise la fonction qui va bien (gethostby(name|addr).

    la suite découle.

    pour ce qui est du trace route au pire en ligne de commande (system, exec etc.) et tu récupère le contenu de ce qui est affiché dans la console. Attention au timeout php (30s par défaut).

    Pour le type de serveur je suppose que l'info globalement fiable c'est l'entête http (dans a réponse tu as une ligne Server: xxxx). Cette info est généralement fournit, après comme toute infos qui t'es données c'est plus ou moins fiable )
    Vu que tu te connecte avec fsockopen autant faire une requete get et prendre le début de la réponse (utilise une page budin même une 404 devrait te fournir l'info et surtout éviter de récupérer une grosse page )
    a ne faire que pour le port 80, sauf si le serveur web n'est pas sur ce port bien entendu


    @+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Et comment puis-procédé je commence en php donc je ne voie pas trop comment mettre ça en place à travers le formulaire ...

    Car ce que je voudrais faire c'est n'avoir qu'un champ nommer ou je rentre l'url et que le reste me donne les ports ouvert, le hostname, la version appache, système ou autre , le traceroute et aussi me donne les DNS, la actuellement dans le code mise à part que ça ne prend pas tout, il y a que le scan des ports qui fonctionne actuellement.

  4. #4
    Membre régulier Avatar de moogli
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 58
    Points : 102
    Points
    102
    Par défaut
    sais tu récupérer les valeurs d'un formulaire ?
    si ce n'est pas le cas => http://sylvie-vauthier.developpez.co...ulaires#LIII-1

    au final c'est un mélange des quatre lignes que j'ai indiqué

    pour avoir des infos sur sur le serveur connecté il faut une requête http (avec un exemple en php + socket qui devrait te convenir ) dont tu analyse le retour.
    dans ton cas une requête HEAD sur l'index devrait suffire.

    plus d'info sur http http://fr.wikipedia.org/wiki/Hyperte...nsfer_Protocol

    pour les champs en trop supprime les du code html tous simplement

    @+

Discussions similaires

  1. [PDO] Code PHP sur la page
    Par chris51000 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/11/2014, 19h41
  2. [MySQL] Code php pour remplir un formulaire
    Par solaar dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/01/2008, 00h40
  3. [MySQL] Code PHP sur des UPDATE qui ne fonctionne pas
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/10/2007, 11h57
  4. Faire tourner du code PHP sur un CD Rom
    Par Furius dans le forum Langage
    Réponses: 8
    Dernier message: 22/11/2005, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo