Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Gawk und regExp

Frage Linux Linux Netzwerk

Mitglied: marinux

marinux (Level 2) - Jetzt verbinden

24.01.2012 um 14:38 Uhr, 2532 Aufrufe, 1 Kommentar

Hallo,

ich habe von tcpdump folgende Ausgabe in einem File stehen:

01.
1327412193.651818 IP (tos 0x0, ttl 64, id 21615, offset 0, flags [DF], proto TCP (6), length 60) 172.16.144.130.44529 > host.sunrpc: S, cksum 0xe4b3 (correct), 2129017670:2129017670(0) win 5840 <mss 1460,sackOK,timestamp 1208105 0,nop,wscale 7> 
02.
1327412193.652429 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60) host.sunrpc > 172.16.144.130.44529: S, cksum 0xac67 (correct), 2314354817:2314354817(0) ack 2129017671 win 5792 <mss 1460,sackOK,timestamp 1234510951 1208105,nop,wscale 2> 
03.
1327412193.652445 IP (tos 0x0, ttl 64, id 21616, offset 0, flags [DF], proto TCP (6), length 52) 172.16.144.130.44529 > host.sunrpc: ., cksum 0xf1a0 (correct), 1:1(0) ack 1 win 46 <nop,nop,timestamp 1208105 1234510951> 
04.
1327412193.652513 IP (tos 0x0, ttl 64, id 21617, offset 0, flags [DF], proto TCP (6), length 112) 172.16.144.130.44529 > host.sunrpc: P 1:61(60) ack 1 win 46 <nop,nop,timestamp 1208105 1234510951> 
05.
1327412193.653142 IP (tos 0x0, ttl 63, id 25829, offset 0, flags [DF], proto TCP (6), length 52) host.sunrpc > 172.16.144.130.44529: ., cksum 0xebea (correct), 1:1(0) ack 61 win 1448 <nop,nop,timestamp 1234510951 1208105> 
06.
1327412193.653266 IP (tos 0x0, ttl 63, id 25830, offset 0, flags [DF], proto TCP (6), length 84) host.sunrpc > 172.16.144.130.44529: P 1:33(32) ack 61 win 1448 <nop,nop,timestamp 1234510951 1208105> 
07.
1327412193.653279 IP (tos 0x0, ttl 64, id 21618, offset 0, flags [DF], proto TCP (6), length 52) 172.16.144.130.44529 > host.sunrpc: ., cksum 0xf144 (correct), 61:61(0) ack 33 win 46 <nop,nop,timestamp 1208105 1234510951> 
08.
1327412193.653341 IP (tos 0x0, ttl 64, id 21619, offset 0, flags [DF], proto TCP (6), length 52) 172.16.144.130.44529 > host.sunrpc: F, cksum 0xf143 (correct), 61:61(0) ack 33 win 46 <nop,nop,timestamp 1208105 1234510951> 
09.
1327412193.653360 IP (tos 0x0, ttl 64, id 25547, offset 0, flags [DF], proto TCP (6), length 60) 172.16.144.130.972 > host.hello-port: S, cksum 0xba95 (correct), 2138115298:2138115298(0) win 5840 <mss 1460,sackOK,timestamp 1208105 0,nop,wscale 7> 
10.
1327412193.653957 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60) host.hello-port > 172.16.144.130.972: S, cksum 0xec07 (correct), 2304628567:2304628567(0) ack 2138115299 win 5792 <mss 1460,sackOK,timestamp 1234510951 1208105,nop,wscale 2> 
11.
 
Dieses möchte ich nun aufsplitten wie folgt:

01.
time, ip transmitter, ip receiver, port, protcol, packet length, 
Mittels
01.
     BEGIN { 
02.
         FPAT = "([^ ]+)" 
03.
04.
      
05.
06.
         print "NF = ", NF 
07.
         for (i = 1; i <= NF; i++) { 
08.
             printf("$%d = <%s>\n", i, $i) 
09.
10.
     }
bekomme ich zumindest schon mal eine Aufsplittung nach Leerzeichen. Ich denke, dass es aber sinnvoller wäre mit Wortsuchen zu arbeiten, falls die Reihenfolgen sich mal ändern. Nur wie stelle ich das am Geschicktesten an? Muss ich dann noch grep bemühen und wie würde es aussehen?

Gruß
Mitglied: marinux
24.01.2012 um 15:41 Uhr
Hallo,

habe es geschafft schon mal nach 'length' zu filtern, mit:

01.
grep -o 'length [0-9]*' traffic.pcap.log
Dies gibt mir:
01.
length 60 
02.
length 60 
03.
length 52 
04.
length 112 
05.
length 52 
06.
length 84 
07.
length 52 
08.
length 52 
09.
length 60 
10.
length 60

aus.

01.
grep -o 'length [0-9]*' traffic.pcap.log | cut -d ' ' -f2
das ist die Bereinigung um 'length'.

Jetzt wäre es noch schön, wenn man alles was ich suche in einen Befehl packen könnte, à la


01.
grep -o 'length [0-9]*' & suche nach port & suche nach protocol ... traffic.pcap.log
Ist eine Verknüpfung so möglich oder muss man den grep-Befehl für jede Suche extra aufrufen?
Das Ganze soll möglichst auch schnell gehen, da große Datenmengen anfallen können. von daher weiß ich nicht, ob es geeignetere Befehle gibt.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
VB for Applications
gelöst Vbscript.regexp suche nach Variable (5)

Frage von deutsch73 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...