Script php nslookup

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script php nslookup

par websat » 04 nov. 2005, 09:57

merci, ca marche...

par sadeq » 04 nov. 2005, 09:42

Explication:
Il y a repétition de l'ip : 213.228.37.132 car le tableau $array_out n'est pas vidé avant de lancer le second nslookup.

Pour corriger, ajoute le code : $array_out = null; avant de lancer le second exec.

par websat » 03 nov. 2005, 21:30

J'ai un autre petit probleme, j'ai ca:

Code : Tout sélectionner

<? exec("nslookup 213.228.37.132",$array_out); echo "<u>Nslookup BRC29-1 - Brest Centre:</u>"; if ($array_out != null) foreach ($array_out as $out) echo "<p>$out"; else echo "<p>Rien"; exec("nslookup 213.228.37.130",$array_out); echo "<u>Nslookup BRE29-1 - Brest Est:</u>"; if ($array_out != null) foreach ($array_out as $out) echo "<p>$out"; else echo "<p>Rien"; ?>
Ca marche mais ca affiche:

Code : Tout sélectionner

Nslookup BRC29-1 - Brest Centre: Serveur : bewan Address: 192.168.0.1 Nom : brc29-1.dslg.proxad.net Address: 213.228.37.132 Nslookup BRE29-1 - Brest Est: Serveur : bewan Address: 192.168.0.1 Nom : brc29-1.dslg.proxad.net Address: 213.228.37.132 Serveur : bewan Address: 192.168.0.1 Nom : bre29-1.dslg.proxad.net Address: 213.228.37.130
ca affiche Serveur : bewan

Address: 192.168.0.1

Nom : brc29-1.dslg.proxad.net

Address: 213.228.37.132 en trop, pourquoi ????

par Invité » 03 nov. 2005, 19:07

Merci beaucoup, ca marche, j'ai utilisé ton script sadeq, par contre ca affiche ca:
Réponse nslookup 213.228.37.195

Serveur : bewan

Address: 192.168.0.1

Nom : qrc29-1.dslg.proxad.net

Address: 213.228.37.195

comment ne pas afficher ca: Serveur : bewan

Address: 192.168.0.1 (c'est mon routeur)

par sadeq » 03 nov. 2005, 14:21

exact,
zeus +1

Exemple :
<?
exec("nslookup qrc29-1.dslg.proxad.net",$array_out);
echo "<h3>Réponse nslookup qrc29-1.dslg.proxad.net</h3>";
if ($array_out != null) 
	foreach ($array_out as $out) echo "<p>$out";
else echo "<p>Rien";
?>

par zeus » 03 nov. 2005, 14:13

Comme ce que je t'ai dit, il faut lire la partie sur la variable output

Tu executes ta fonction avec exec et tu récupères le résultat de cette exécution dans la variable output

Il ne te reste ensuite plus qu'a afficher ta variable dans ta page PHP

par sadeq » 03 nov. 2005, 14:06

L'idée est de créer un batch qui exécute la commande nslookup et renvoi le résultat dans un fichier log :

Code : Tout sélectionner

nslookup %1 >nslookup.log
que je nomme par exemple nslook.bat pour ne pas le confondre avec la commande nslookup (le nom du batch ne doit pas être nslookup pour éviter la récurcivité).

Ensuite dans ton programme PHP lance le batch et affiche le fichier log porteur du résultat:
<?
exec("nslook.bat qrc29-1.dslg.proxad.net");
?>
<iframe src="nslookup.log" width="100%" height="100%"></iframe>
où nslook.bat est le nom de ton batch et nslookup.log est le fichier log créé par le batch

par Invité » 03 nov. 2005, 13:40

La fonction exec me convient, mais comment faire apres ?
merci

par zeus » 28 oct. 2005, 11:34

Est-ce que la fonction exec pourrait te convenir ?

Lit bien tout sur les valeurs de retour ;)

Script php nslookup

par websat » 28 oct. 2005, 10:23

Salut
J'ai un script qui fonctionne sous dos avec la commande: nslookup qrc29-1.dslg.proxad.net comment transferer cette commande pour afficher le resultat dans une page php ?
Merci