Linux Shell Programmierung - brauche Hilfe

easy.2ci

Commodore
Registriert
Mai 2006
Beiträge
4.388
Hi,

wir haben kürzlich eine andere Firma übernommen und haben auf deren Systemen noch nicht unsere Inventarisierungstools ausgerollt. Außerdem besteht noch keine Möglichkeit, sich an Systemen aus deren AD sich zu authorisieren, um Umgebungsvariablen auszulesen.

Mein Problem: Ich muss wissen, welches Betriebssystem auf diesen Systemen läuft. Dazu habe ich eine Liste mit massig IP-Addressen drauf von deren Servern. Da es nur um Server mit festen IP's geht, sollten also IP-Adressen ausreichen.

So nun muss ich also wissen, welches OS auf den IP's läuft, ohne eine Anmeldung durchzuführen.

Dachte da an Nmap -O Zieladdresse. Das funktioniert auch soweit und Nmap gibt das korrekte OS zurück.

Nun brauch ich nur noch ein Script, welches Nmap auf alle diese IP's in meiner Liste ausführt, ein Grep auf die entsprechende Zeile des Output macht und alles in eine Datei schreibt.

Hab nur dummerweise keine Ahnung von Shell Programmierung von Linux :-)

Hat da jemand eine schnelle Idee? Ist ja eigentlich eine simple Aufgabe, nur mir fehlt die Zeit mich ausführlicher in die Shell einzuarbeiten.


Viele Grüße
 
Ungetestet! Ich habe kein nmap hier und keine lust es zu installieren. Deswegen weiß ich nicht wonach man grepen muss um an das OS zu kommen.
Auch sitze ich am Mac und gehe einfach mal davon aus dass du bash hast ;)

Code:
#!/bin/bash

cat ip_list | while read ip; do

echo "Die IP $ip rennt das OS:" >> os_list
nmap -O $ip | grep OS | cat >> os_list

done
Ich hab nicht allzuviel ahnung von bash-scripten und habe ehrlich gesagt nicht die geringste Ahnung, ob das auf diese Art und weise funktioniert. Aber ich GLAUBE dass es geht :)
 
Habs jetzt so hinbekommen:

for i in `cat /IP.txt`
do
echo $i >> Liste.txt
nmap -O $i | grep "details" >> Liste.txt
done

Vielen Dank für die Unterstützung
 
Zurück
Oben