2011-11-11 10 views
7

Zastanawiałem się, czy istnieje narzędzie, które można analizować dane pcap i przekonwertować go do pliku csv z następującymi informacjami:Dane Export Pcap do csv: datownik, bajty, uplink/downlink, Dodatkowe informacje

datownik, bajty, łącze w górę/w dół, niektóre dodatkowe informacje ..

Zasadniczo łącze w górę/w dół może być widziane z adresu IP/MAC, a dodatkowe informacje nie są naprawdę potrzebne, ale mam na myśli wybór konkretnego pole pakietu na przykład.

Próbowałem niektórych narzędzi, ale jeszcze nie znalazłem odpowiedniego. W przeciwnym razie napiszę mały parser. Z góry dziękuję!

+0

tshark musi to zrobić, opublikuję, jeśli znajdę wynik. – Ekhi

+0

Oto odpowiedź na pytanie, jak używać tsharka do pisania plików .csv: http://stackoverflow.com/questions/6962133/plot-rtt-histogram-using-wireshark-or-other-tool/6969664#6969664 – rupello

Odpowiedz

0

Jak zauważył w komentarzach na pytanie, do wyjścia adresy IP dla ramek w pliku przechwytywania w formacie CSV użyć formatu coś takiego:

tshark -r <filename> -t fields -e ip.addr 

Zobacz pomocy tshark uzyskać więcej informacji na temat opcji, aby ustawić separator i cytowanie znaków na wyjściu csv.

Nazwy pól można określić za pomocą narzędzia Wireshark, aby sprawdzić plik przechwytywania i wybrać konkretne pole w okienku szczegółów. Nazwa pola pojawi się wówczas w wierszu statusu na dole okna Wireshark.

13

TShark
Oto kilka przykładów:

 
$ tshark -r test.pcap -T fields -e frame.number -e eth.src -e eth.dst -e ip.src -e ip.dst -e frame.len > test1.csv 

$ tshark -r test.pcap -T fields -e frame.number -e eth.src -e eth.dst -e ip.src -e ip.dst -e frame.len -E header=y -E separator=, > test2.csv 

$ tshark -r test.pcap -R "frame.number>40" -T fields -e frame.number -e frame.time -e frame.time_delta -e frame.time_delta_displayed -e frame.time_relative -E header=y > test3.csv 

$ tshark -r test.pcap -R "wlan.fc.type_subtype == 0x08" -T fields -e frame.number -e wlan.sa -e wlan.bssid > test4.csv 

$ tshark -r test.pcap -R "ip.addr==192.168.1.6 && tcp.port==1696 && ip.addr==67.212.143.22 && tcp.port==80" -T fields -e frame.number -e tcp.analysis.ack_rtt -E header=y > test5.csv 

$ tshark -r test.pcap -T fields -e frame.number -e tcp.analysis.ack_rtt -E header=y > test6.csv 
2

Wygląda jak chcesz Bro „s logi połączeń:

bro -r trace.pcap 
head conn.log 

wyjściowa:

#separator \x09 
#set_separator , 
#empty_field (empty) 
#unset_field - 
#path conn 
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig missed_bytes history orig_pkts orig_ip_bytes resp_pkts resp_ip_bytes 
#types time string addr port addr port enum string intervacount count string bool count string count count count count 
1258531221.486539 gvuu4KIHDph 192.168.1.102 68 192.168.1.1 67 udp - 0.163820 301 300 SF - 0 Dd 1 329 1 328 
1258531680.237254 6nWmFGj6kWg 192.168.1.103 137 192.168.1.255 137 udp dns 3.780125 350 0 S0 - 0 546 0 0 
1258531693.816224 y2lMKyrnnO6 192.168.1.102 137 192.168.1.255 137 udp dns 3.748647 350 0 S0 - 0 546 0 0 

Teraz analizowania odpowiednich pól :

bro-cut ts id.orig_h id.orig_p id.resp_h id.resp_p service orig_bytes resp_bytes < conn.log | head 

1258531221.486539 192.168.1.102 68 192.168.1.1  67 - 301 300 
1258531680.237254 192.168.1.103 137 192.168.1.255 137 dns 350 0 
1258531693.816224 192.168.1.102 137 192.168.1.255 137 dns 350 0 
1258531635.800933 192.168.1.103 138 192.168.1.255 138 - 560 0 
1258531693.825212 192.168.1.102 138 192.168.1.255 138 - 348 0 
1258531803.872834 192.168.1.104 137 192.168.1.255 137 dns 350 0 
1258531747.077012 192.168.1.104 138 192.168.1.255 138 - 549 0 
1258531924.321413 192.168.1.103 68 192.168.1.1  67 - 303 300 
1258531939.613071 192.168.1.102 138 192.168.1.255 138 - - - 
1258532046.693816 192.168.1.104 68 192.168.1.1 67 - 311 300 
3

Nie szukaj dalej, wireshark jest twoim najlepszym przyjacielem. Może otworzyć plik pcap i umożliwić określenie dodatkowych kolumn, które chcesz. Następnie możesz po prostu wyeksportować je jako plik CSV. W głównym interfejsie, po prostu na dowolnej z kolumn i wybierz "preferencje kolumny". Otwiera to nowe okno, które jest bardzo intuicyjne. Po prostu dodaj nową kolumnę i podaj nazwę pola. Tak proste jak to.

próbowałem tshark ale uwierzcie mi, że staje się nieco irytujące, zwłaszcza z tym:

 tshark: Read filters were specified both with "-R" and with additional command-line arguments." 

Ten komunikat wyskakuje jeśli zawierają zbyt wiele kolumn lub z jakiegoś nieznanego powodu.

0

Można to zrobić z aplikacji Wireshark samego:

  • Upewnij zapisaniu pliku na dysku już (File>Save) (jeśli masz tylko zrobić zrzut)
  • Przejdź do File>Export Packet Dissesctions>as "CSV" [etc]
  • Następnie wprowadź nazwę pliku (upewnij się, że dodajesz .csv na końcu, ponieważ WS nie robi tego!)

Voila

0

Czy to możliwe, że możemy ustawić separator pól inny niż przecinek? Ponieważ w moim pliku PCap, jeśli ustawię separator =, moje dane w pliku wyjściowym (.csv) nie wyglądają dobrze, ponieważ mam, w mojej większości kolumn.

Więc chcę wiedzieć, że istnieje sposób, w jaki możemy ustawić separator pól tak, jak inne znaki ładunkowe, np. | (pip) itp.

Dzięki

Powiązane problemy