[Problème] Grep et log Nmap [Résolu => Awk] Script Simple Inside !

Script Simple Inside ! [Problème] Grep et log Nmap [Résolu => Awk] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 08-04-2005 à 10:24:28    

J'effectue actuellement un stage dans une entreprise et il voudrai que je réalise un outils de supervision des imprimantes et serveur d'impression ...
Pour cela je dispose:
- Mandrake 10.1
- Xampp
- Nmap pour scrutter le réseau et scanner les ports
 
Maintenant le problème:
 
J'arrive à obtenir un log avec les ports ouverts pour chaque IP scannée:
 
Exemple du motif du log:  

Code :
  1. Interesting ports on 10.xxx.x.x:
  2. (The 14 ports scanned but not shown below are in state: closed)
  3. PORT    STATE SERVICE
  4. 35/tcp  open  priv-print
  5. 515/tcp open  printer
  6. 631/tcp open  ipp
  7. Interesting ports on 10.xxx.x.x:
  8. (The 14 ports scanned but not shown below are in state: closed)
  9. PORT    STATE SERVICE
  10. 35/tcp  open  priv-print
  11. 515/tcp open  printer
  12. 631/tcp open  ipp
  13. Interesting ports on 10.xxx.x.x:
  14. (The 14 ports scanned but not shown below are in state: closed)
  15. PORT    STATE SERVICE
  16. 35/tcp  open  priv-print
  17. 515/tcp open  printer
  18. 631/tcp open  ipp


 
J'aimerai à partir de cela remplir une bdd (mysql) en ne mettant que l'ip et les ports ouvert.
 
Pour le moment j'essai de faire cela avec un grep dans un fichier result.txt
J'aimerai obtenir une syntaxe du genre:
 
10.xxx.x.x (port,port,port)
 
Mais je n'arrive que soit à obtenir toutes les IP soit tous les ports !!
 
Plz help et merci d'avance


Message édité par CocoRambo le 08-04-2005 à 12:27:26
Reply

Marsh Posté le 08-04-2005 à 10:24:28   

Reply

Marsh Posté le 08-04-2005 à 10:37:39    

GNU Awk ou perl sont tes amis, tu trouveras des docs en ligne par une simple recherche dans google.


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 08-04-2005 à 10:40:59    

YupYup a écrit :

GNU Awk ou perl sont tes amis, tu trouveras des docs en ligne par une simple recherche dans google.


 
Euh je suis nouveau dans le monde Linux et ca fais 4 jours que je suis sous Mandrake alors un peu d'indulgence svp :D
Awk je sais meme pas ce que c'est et perl me dit juste qqchose de nom !! :(
 
On passe tous par là un jour :D lol

Reply

Marsh Posté le 08-04-2005 à 10:44:53    

Awk est un langage dédié au traitement de fichiers plats, Perl couvre un domaine beaucoup plus large.
 
Je ne peux pas te faire une formation à la programmation awk ici, mais si tu n'arrives vraiment pas à te plonger dans la doc, essaie de trouver une bonne âme qui te livrera un script tout prêt.


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 08-04-2005 à 10:46:12    

Merci d'avoir pris en considération le fait que je suis un noob !! :D
 
Je fais des recherches sur Google et si je trouve la solution à mon problème je le posterai ;)

Reply

Marsh Posté le 08-04-2005 à 12:19:51    

Voilà j'ai réussi :D
Merci beaucoup pour m'avoir donné la piste YupYup
 
Je donne les liens qui m'ont aidé à comprendre Awk:
 
http://lea-linux.org/dev/awk.html
http://www.chez.com/brunogarcia/Unix/Docs/awk.html


Message édité par CocoRambo le 08-04-2005 à 12:20:14
Reply

Marsh Posté le 08-04-2005 à 12:23:30    

Je précise que ce script peut fonctionner avec n'importe quel log de type "normal" fais avec Nmap.
Mon script donne un résultat de la forme:
 
xxx.xxx.xxx.xxx ports( port , port , port , port)
 
Où: xxx.xxx.xxx.xxx représente l'IP
    port représente un port scanné à l'adresse IP en question et qui est ouvert (open)
 
Voila mon script:
 

Code :
  1. #!/bin/awk -f
  2. BEGIN {
  3.         FS=" ";
  4.         debut_ip=0;
  5.         debut_port=0;
  6. }
  7. !(/^#/ || /^$/) {
  8.         if($0 ~ /^Interesting/)
  9.         {
  10.                 if(debut_ip==0)
  11.                 {
  12.                         split($4, ip, ":" );
  13.                         printf "%s ports( ",ip[1];
  14.                         debut_ip++;
  15.                 }else
  16.                 {
  17.                         printf " )\n";
  18.                         split($4, ip, ":" );
  19.                         printf "%s ports( ",ip[1];
  20.                         debut_port--;
  21.                 }
  22.         }
  23.         if($2 ~ /open/)
  24.         {
  25.                 if(debut_port==0)
  26.                 {
  27.                         split($1, port, "/" );
  28.                         printf "%s ", port[1];
  29.                         debut_port++;
  30.                 }else
  31.                 {
  32.                         split($1, port, "/" );
  33.                         printf ", %s ", port[1];
  34.                 }
  35.         }
  36. }
  37. END {
  38.         print " )";
  39. }


Message édité par CocoRambo le 08-04-2005 à 12:26:25
Reply

Marsh Posté le 08-04-2005 à 12:38:42    

Et tu as appris à faire tout ça en 2h ? Chapeau !


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 08-04-2005 à 14:08:40    

Merci beaucoup :D ;)
Mais grâce aux exemple que y a sur les liens que j'ai donné ca va c'est pas trop dur :D ;)

Reply

Marsh Posté le 09-04-2005 à 09:21:39    

:ouch:  
 
C'est un faux noob ca.......................

Reply

Marsh Posté le 09-04-2005 à 09:21:39   

Reply

Marsh Posté le 10-04-2005 à 11:16:46    

Euh pkoi ?? :(

Reply

Marsh Posté le 10-04-2005 à 11:18:23    

nouveau (peut-etre ???  :)  ) sur linux mais pas en info.....

Reply

Marsh Posté le 10-04-2005 à 11:20:22    

Ah nop en info ca fais un bon moment ke je fais des sites web ou des tit prog en C !!
Mais pkoi tu di ca  ?! Je capte pas tout par rapport au sujet !

Reply

Marsh Posté le 10-04-2005 à 11:22:14    

juste une boutade ...
chapeau c tout .....

Reply

Marsh Posté le 10-04-2005 à 11:24:10    

Merki :D ;)

Reply

Sujets relatifs:

Leave a Replay

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