[NMAP] résultat curieux...

résultat curieux... [NMAP] - Linux et OS Alternatifs

Marsh Posté le 01-06-2005 à 11:37:30    

Bonjour!
merci de lire ce post ;)
 
Je viens de voir un truc bizarre avec la commande nmap:
Est ce normal qu'un "nmap -sP IP/24 > /tmp/test.tmp" lancé par console affiche 2 lignes par hôte (host+\n+@Mac), et que le même nmap lancé par un exec() de PHP n'affiche que la ligne host ??  :heink:  
 
Merci de vos éclaircissements ^^

Reply

Marsh Posté le 01-06-2005 à 11:37:30   

Reply

Marsh Posté le 01-06-2005 à 11:41:05    

Réponse rapide:
 
Il existe 3 canaux principaux sur les OS (quelqu'ils soient)
- STDIN (l'entrée d'information - clavier)
- STDOUT (la sortie normale - ecran)
- STDERR (la sortie d'erreur)  
 
Donc dans ton cas, tu dois rediriger STDERR dans STDOUT pour cela il te suffit de faire :  
un exec('nmap -sP IP/24 2>&1 >/tmp/test.tmp', $out, $ret)
 
Bonne chance
A+
Tom
 


---------------
&THEN :: t-shirts geek collectorZ:: fermeture pour noel ::  http://and.then.fr
Reply

Marsh Posté le 01-06-2005 à 11:41:24    

PS: 2 etant le code pour STDERR et 1 etant le code pour STDOUT


---------------
&THEN :: t-shirts geek collectorZ:: fermeture pour noel ::  http://and.then.fr
Reply

Marsh Posté le 01-06-2005 à 13:21:45    

malheureusement ça ne change rien...  
c'est le système ou moi qui suit illogique?  :heink:

Reply

Marsh Posté le 01-06-2005 à 13:31:13    

Tu peux toujours récupérer les logs de nmap puis les traiter par la suite.
les options commençants par -o

Reply

Marsh Posté le 01-06-2005 à 21:29:09    

Je pense que nmap fait ce que tu lui demandes. Si tu veux un report plus détaillé, en ajoutant un -o comme a dit jlighty, ça ira. Tu t'attendais à quoi?

Reply

Marsh Posté le 02-06-2005 à 09:30:49    

alors voici mes tests :
<?
exec('nmap -sP IP/24 -oN /tmp/nmap248.log', $out, $ret);
?>
resultat : un log avec que des lignes Host
<?
exec('nmap -sP IP/24 -oN /tmp/nmap248.log > /tmp/nmap248.tmp', $out, $ret);
?>
resultat : un log avec que des lignes Host, et un tmp identique au log
 
alors qu'en console :  
 
# nmap -sP IP/24
 
resultat pour chaque machine trouvée :  
Host [@IP] appears to be up.
MAC Address: [@MAC] (type machine)
 
Je precise aussi que le '2>&1' ne change rien, quelque soit le exec() ci-dessus, de même si je supprime le $out et le $ret.
 
Donc Shiva pour répondre à ta question, je m'attendais à ce que une commande shell exécutée par un exec() de Php renvoie le même résultat que si elle était exécutée sur une console. Voilà ce que je trouve d'illogique. Ya surement une soluce mais je la trouve pas  grrr
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed