tcpdump und grep

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von BiBe, 24.04.2006.

  1. BiBe

    BiBe Greenhorn

    Dabei seit:
    25.10.2004
    Beiträge:
    139
    Zustimmungen:
    0
    Ort:
    Karlsruhe
    Hi,
    ich würde gerne mit einem Befehl wie

    Code:
    tcpdump -A |grep '1' > test
    bestimmte Teile der Ausgabe von tcpdump in eine Datei schreiben. Leider klappt das aber nicht so, wie oben angegeben.

    Mit -w könnte ich die komplette Ausgabe in die Datei schreiben, wobei die dann ziemlich groß werden würde. Das würde ich gerne vermeiden.

    Wenn ich mit tcpdump selbst filtere, bezieht sich das IMHO nur auf die Header, aber mit -A will ich ja explizit den Inhalt durchsuchen.

    Ich würde mich freuen, wenn mir jemand sagen könnte, wieso obiges so nicht funktioniert. Ich habe schon an einen buffer gedacht, der nicht in die Datei geleert wird, weil ich das Programm mittels ^C abbreche. Aber -nl hilft auch nichts und selbst, wenn ich das einige Minuten laufen lasse, kommt kein Zeichen in die Datei.

    Wer kann helfen?

    Viele Grüße
    BiBe
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Goodspeed, 24.04.2006
    Goodspeed

    Goodspeed Foren Gott
    Moderator

    Dabei seit:
    21.04.2004
    Beiträge:
    4.165
    Zustimmungen:
    1
    Ort:
    Dresden
    Äh ... geht doch ...

    Bekommste ohne das ">test" Output?
     
  4. #3 daedalus, 24.04.2006
    daedalus

    daedalus Doppel-As

    Dabei seit:
    10.07.2005
    Beiträge:
    113
    Zustimmungen:
    0
    Ort:
    Berlin
    probier mal:
    tcpdump > datei |grep filterwort
     
  5. BiBe

    BiBe Greenhorn

    Dabei seit:
    25.10.2004
    Beiträge:
    139
    Zustimmungen:
    0
    Ort:
    Karlsruhe
    Hi,
    vielen Dank für die schnellen Antworten.

    @Goodspeed:
    Also bei mir bleibt die Datei leider leer und, ja, natürlich bekomme ich ohne "> test" Output auf die Konsole. Viele Pakete enthalten eine '1'. :)
    Bei dir funktioniert das? Hast du eine Ahnung, woran das liegen könnte?

    @daedalus:
    Mit
    Code:
    tcpdump > test |grep '1'
    füllt sich die Datei ungefiltert, das grep hat also keine Auswirkungen auf den Inhalt der Datei. So wird mir diese aber zu schnell zu groß.

    Viele Grüße
    BiBe
     
  6. #5 daedalus, 25.04.2006
    daedalus

    daedalus Doppel-As

    Dabei seit:
    10.07.2005
    Beiträge:
    113
    Zustimmungen:
    0
    Ort:
    Berlin
    stimmt,... nimmt sich nix... da war ich diesmal wohl zu voreilig, sry...
    aber vllt. erfüllt bzw. hilft dir ngrep weiter... fällt mir so auf die schnelle ein...
     
  7. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    tcpdump unterstuetzt den Output in eine Pipe nicht. Daher funktioniert schon ein

    tcpdump | grep '1'

    nicht (habs extra ausprobiert, kein Output). *anmerk*
    Meine Empfehlung: Einfach snort benutzen. ('snort -v' sorgt dafuer, dass snort als Paket-Sniffer laeuft. Will man den Datenteil der Pakete auch sehen, benutzt man einfach '-vd' als Option. Sehr ausfuehrlichen Output gibt es mit '-vde'). Ansonsten ist auch tethereal (ethereal fuer die Konsole) eine gute Moeglichkeit tcpdump zu ersetzen.
     
  8. #7 slasher, 25.04.2006
    slasher

    slasher König

    Dabei seit:
    22.03.2006
    Beiträge:
    827
    Zustimmungen:
    0
    Das Leben ist so leicht, .. mit einem Bier, einer hübschen Frau und einer leckeren Manpage:

    Ps.: ich wollte schon immer Dichter werden, habe es aber nie geschafft, wieso? *g*
     
  9. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Und das verhindert, dass eine Datei angelegt wird? 'tschuldige, tcpdump auf openbsd kennt '-A' nicht, daher kann ich nicht nachgucken.
     
  10. #9 Havoc][, 25.04.2006
    Havoc][

    Havoc][ Debian && Gentoo'ler

    Dabei seit:
    27.07.2003
    Beiträge:
    898
    Zustimmungen:
    0
    Ort:
    GER/BaWü/Karlsruhe (bzw. GER/NRW/Siegen)
    Hä? Wie Goodspeed bereits gesagt hat: Es funktioniert. Auch bei mir:

    Code:
    root@rekelen ~# rm test 
    root@rekelen ~# tcpdump -A | grep 'tell' > test
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    274 packets captured
    548 packets received by filter
    0 packets dropped by kernel
    
    root@rekelen ~# cat test | tail
    09:01:01.549068 IP custard.intelligentstreaming.com.1192 > 10.88.1.254.43924: . 89777:91225(1448) ack 0 win 5792 <nop,nop,timestamp 2336978343 78008623>
    09:01:01.573860 IP custard.intelligentstreaming.com.1192 > 10.88.1.254.43924: . 91225:92673(1448) ack 0 win 5792 <nop,nop,timestamp 2336978346 78008647>
    09:01:01.573877 IP 10.88.1.254.43924 > custard.intelligentstreaming.com.1192: . ack 92673 win 1191 <nop,nop,timestamp 78008780 2336978343>
    09:01:01.574104 IP custard.intelligentstreaming.com.1192 > 10.88.1.254.43924: . 92673:94121(1448) ack 0 win 5792 <nop,nop,timestamp 2336978346 78008647>
    09:01:01.617958 IP 10.88.1.254.43924 > custard.intelligentstreaming.com.1192: . ack 94121 win 1191 <nop,nop,timestamp 78008824 2336978346>
    09:01:01.679038 arp who-has 10.88.254.255 tell 10.88.1.206
    09:01:01.706880 IP custard.intelligentstreaming.com.1192 > 10.88.1.254.43924: . 94121:95569(1448) ack 0 win 5792 <nop,nop,timestamp 2336978359 78008780>
    09:01:01.707036 IP custard.intelligentstreaming.com.1192 > 10.88.1.254.43924: . 95569:97017(1448) ack 0 win 5792 <nop,nop,timestamp 2336978359 78008780>
    09:01:01.718948 IP 10.88.1.254.43924 > custard.intelligentstreaming.com.1192: . ack 97017 win 1191 <nop,nop,timestamp 78008925 2336978359>
    09:01:01.751003 IP custard.intelli
    root@rekelen ~#
    
    Warum es allerdings bei dir nicht tut, BiBe kann ich im Moment auch nicht sagen. Welche Distribution hast du? Goodspeed und ich haben es wahrscheinlich unter Debian getestet. Wobei es auch daran nicht liegen sollte.
     
  11. BiBe

    BiBe Greenhorn

    Dabei seit:
    25.10.2004
    Beiträge:
    139
    Zustimmungen:
    0
    Ort:
    Karlsruhe
    Hi,
    zunächst vielen Dank für die vielen Antworten!

    @theton:
    Das hier funktioniert bei mir auf der Konsole aber einwandfrei. Daher gehe ich davon aus, dasa tcpdump durchaus mit grep umgehen kann.
    Code:
    tcpdump | grep '1'
    @slasher
    Toller Spruch :think: , aber was genau macht
    Code:
    tcpdump -l > dat & tail -f dat
    mehr, als mein Versuch? Auch damit bleibt die Datei leider leer.

    @Havoc][
    Seltsam... Wie brichst du denn das
    Code:
    tcpdump -A | grep 'tell' > test
    ab? Ich mache das mit ^C, gibt es eine andere Möglichkeit? Vieleleicht ist meine Varinate zu abrupt, sodass der Buffer nicht mehr in die Datei geleert wird, oder so?
    Mein Testsystem dafür ist ein Ubuntu 5.10. Aber das sollte ja eigentlich nicht vom OS abhängen...

    Habt ihr noch weitere Idee?

    Viele Grüße
    BiBe
     
  12. #11 Wolfgang, 25.04.2006
    Zuletzt bearbeitet: 25.04.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Schau dir doch einfach mal das bereits genannte ngrep an, das ist genau für solche Sachen vorgesehen.

    Gruß Wolfgang
    PS Du bist aber schon als root bzw. bei Ubuntu mit sudo unterwegs?
     
  13. BiBe

    BiBe Greenhorn

    Dabei seit:
    25.10.2004
    Beiträge:
    139
    Zustimmungen:
    0
    Ort:
    Karlsruhe
    Hi,
    vielen Dank für die Antworten, ich mache das nun so:

    Code:
    ngrep -qld eth0 'imap' > test
    Das klappt wunderbar.
    Bezüglich tcpdump und grep habe ich auf einem Server (Debian 3.1) mit ein wenig mehr Traffic herumgespielt: Wenn ich zum Beispiel

    Code:
     tcpdump -lnA | grep '1' > test
    ausführe, dann füllt sich die Datei schnell. Suche ich aber nach Phrasen, die weniger oft vorkommen, dauert es eine Weile bis der erste Eintrag in die Datei kommt. Ich vermute also, dass tcpdump einen internen Buffer hat, der erst in die Datei geleert wird, wenn er voll ist. Auf meinem Ubuntu-System herrscht sehr wenig Traffic und so würde es sehr lange dauern, bis der Buffer voll ist. Nur dachte ich eigentlich, das Buffering mittels "-ln" auf ein Minimum reduziert zu haben. Hat dazu noch jemand eine Idee?

    @Wolfgang: Ich mache das als root, denn als User bekomme ich unter Ubuntu den Fehler "tcpdump: socket: Operation not permitted" und das Debiansystem sagt mir "tcpdump: command not found".

    Viele Grüße
    BiBe
     
  14. #13 slasher, 25.04.2006
    slasher

    slasher König

    Dabei seit:
    22.03.2006
    Beiträge:
    827
    Zustimmungen:
    0
    1.) normal
    2.) apt-get install tcpdump

    :).
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. BiBe

    BiBe Greenhorn

    Dabei seit:
    25.10.2004
    Beiträge:
    139
    Zustimmungen:
    0
    Ort:
    Karlsruhe
    Hi!

    @slasher: Nene, das ist schon installiert. :brav: Nur lässt es sich halt nicht als User ausführen, daher der Fehler.

    Viele Grüße
    BiBe
     
  17. #15 slasher, 25.04.2006
    slasher

    slasher König

    Dabei seit:
    22.03.2006
    Beiträge:
    827
    Zustimmungen:
    0
    achso :).
     
Thema: tcpdump und grep
Besucher kamen mit folgenden Suchen
  1. tcpdump log schreiben

    ,
  2. tcpdump in konsole anzeigen

Die Seite wird geladen...

tcpdump und grep - Ähnliche Themen

  1. SED und TCPDUMP

    SED und TCPDUMP: Hallo! Ich versuche einen TCPDUMP mit SED zu begrenzen und in die Datei test.txt zu schreiben. Leider läuft die Sache nich so recht bzw. die...
  2. Sniffen per Script: tcpdump

    Sniffen per Script: tcpdump: Guten Tag Ich möchte ein Netzwerk sniffen. Da der Dump mit der Zeit etwas gross ist, möchte ich ihn vor der Analyse mit Wireshark noch...
  3. tcpdump Rückgabe auswerten

    tcpdump Rückgabe auswerten: tcpdump Rückgabe auswerten --- Gelöst Hallo zusammen, erstmal danke für diese häufig hilfreichen Threads. Hat mir in meiner Linux / Unix...
  4. tcpdump.org dwon

    tcpdump.org dwon: http://www.tcpdump.org/ mh hat irgendjemand ne Ahnung/Informationen warum die Seite schon seit n paar Tagen down ist?
  5. Tcpdump snifft keine RTP-Pakete

    Tcpdump snifft keine RTP-Pakete: Hallo zusammen Versuche mit tcpdump die RTP Pakete aufzuzeichnen. Habe folgendes ausgeführt: tcpdump -w log.dump Anschliessend habe...