résultat curieux... [NMAP] - Linux et OS Alternatifs
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
Marsh Posté le 01-06-2005 à 11:41:24
PS: 2 etant le code pour STDERR et 1 etant le code pour STDOUT
Marsh Posté le 01-06-2005 à 13:21:45
malheureusement ça ne change rien...
c'est le système ou moi qui suit illogique?
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
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?
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
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 ??
Merci de vos éclaircissements ^^