tcpdump Rückgabe auswerten

D

delario

Grünschnabel
tcpdump Rückgabe auswerten --- Gelöst

Hallo zusammen,

erstmal danke für diese häufig hilfreichen Threads. Hat mir in meiner Linux / Unix Laufbahn oft weiter geholfen.

Nun habe ich aber eine Frage. OS: Debian Lenny.

Ich möchte in einem Shell Script tcpdump ausführen. Die Rückgabe
X packets captured
N packets received by filter
NM packets dropped by kernel


von tcpdump möchte ich in einer Variable übernehmen.

Wie ihr alle wisst, lässt sich tcpdump nur mit einem SIGINT beenden oder eben so wie ich es im Script mache:

Code:
/usr/sbin/tcpdump -s 60 -tt -n -l -v udp and ip multicast > /dev/null &
tcpdpid=$!
sleep 5
kill $tcpdpid

Wie kann ich aber nun den Rückgabewert übernehmen, so dass ich ihn im Script weiter verwenden kann? Natürlich muss es möglich sein, nach X Sekunden TCPDump automatisch zu beenden.

Ich bin für jeden Tipp dankbar und hoffe jemand kann weiterhelfen.

LG
Delario


P.S.: Ich wäre von einem Bash bzw. Perl Script auch nicht abgeneigt :-)

P.P.S.: Hintergrund der ganzen Aktion: Ich möchte ein Nagios Check bauen, der bei einer bestimmten Anzahl von Multicastpaketen eine Warnung ausgibt.
 
Zuletzt bearbeitet:
Hi,

denke, eigentlich brauchst du nur das Ganze einklammern und STDERR nach STDOUT umlenken:
Code:
TCPDUMP_OUT=$(
    /usr/sbin/tcpdump -s 60 -tt -n -l -v udp and ip multicast 2>&1 >/dev/null &
    sleep 5
    kill $!
)
echo "$TCPDUMP_OUT"
Gruss, A.
 
Klasse danke! An die Klammerung habe ich nicht gedacht.

Nochmal vielen Dank. :)
 

Ähnliche Themen

Routing Problematik

Modulfehler?

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

T-dslviasat (bitte mal reinschauen danke)

Zurück
Oben