Tshark / TCPDump i analiza mrežnog prometa

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Članovi tima: Matej Lazarević, Filip Antonio Jeličić

--Malazarev 21:58, 2. studenog 2015. (CET)

Sadržaj

Uvod U Tcpdump

Tcpdump je open source alat za nadgledanje i prikupljanje informacija i mrežnih paketa (monitoring, sniffing) u mrežnom prometu, a pokreće se i radi u Linux komandnoj liniji (u daljnjem tekstu: Terminal). Tcpdump dohvaća i prikazuje zaglavlja mrežnih paketa iz mreže na koju je računalo spojeno, zavisno o postavljenim kriterijima i opcijama. Alat je izvorno napisan 1987. godine pod BSD licencom za većinu Unix sustava, a danas postoji i za Windows operacijske sustave pod imenom WinDump. Najčešće se koristi za prisretanje i prikazivanje informacija o prenesenim ili primljenim paketima na određenoj mreži uz pomoć ugrađenih filtera za isključivanje nepotrebnih analiza u svrhu uklanjanja poteškoća na mreži, a sve češće se koristi i u zlonamjerne svrhe poput otkrivanja informacija o korisniku (lozinki, e-mailova i sl.), pogotovo danas u eri bežičnih mreža i mogućnosti udaljenog administriranja. U većini Unix sustava je predinstaliran i može se odmah koristiti. Prema autoru Shema, tcpdump je primarno "njuškalo" za mrežne pakete (u daljenjem tekstu: "sniffer") za razliku od T-sharka (Wiresharka) koji je analizator protokola (u daljenjem tekstu: "protocol analyzer"). Njegovi filteri omogućuju izdvajanje bilo koje kombinacije mrežnog paketa, ali ne mogu rasčlaniti (eng. "parse") pojedine protokole u format koji je razumljiv čovjeku (eng. "human readable"). Na primjer, uz pomoć Tsharka bi bilo moguće interpretirati pojedine zastavice, opcije i korake pri SSL konekciji, a tcpdump može samo prikazati sirove (eng. "raw") pakete.

Neke najbitnije opcije koje će biti prikazane su:

-i - specificiranje sučelja (eng. "interface")
-c - definiranje broja primljenih paketa nakoj kojih će skeniranje završiti
-n - nemoj pretvarati adrese (npr. adrese hostova, brojeve portova i sl.) u imena
-A - prikaži svaki paket u ASCII formatu
-XX - prikaži detalje svakog paketa u HEX i ASCII obliku
-r - učitaj pakete iz datoteke
-w - zapiši pakete u datoteku
-v - prikaži detaljnije podatke o paketima (može se postaviti još -vv i -vvv za najviše detalja)

Sintaksa alata Tcpdump

.--------..---------..-------..-----..-----------------..--------------------.
|Protocol||Direction||Host(s)||Value||Logical operators||  Other expression  |
'--------''---------''-------''-----''-----------------''--------------------'
   tcp        dst    10.1.1.1   80           and        tcp dst 10.2.2.2 3128


Primjeri korištenja

Ako se tcpdump pokrene bez opcija, počet će hvatati promet na prvom mrežnom sučelju (eng. "network interface") koje vidi. Kao što se može vidjeti, tcpdump prikazuje samo računala domaćine (eng. "host") koji su uključeni u mrežni promet, vrijeme (eng. "timestamp") i još neke IP podatke, ali bez sadržaja paketa.

root@kinky-bastard:/home/madafaka# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:53:32.460022 IP kinky-bastard.32780 > 192.168.1.1.domain: 38496+ A? www.linkedin.com. (34)
14:53:32.460288 IP kinky-bastard.56928 > 192.168.1.1.domain: 28746+ A? www.foi.unizg.hr. (34)
14:53:32.479081 IP gimli.foi.hr.http > kinky-bastard.58391: Flags [.], ack 1, win 239, options [nop,nop,TS val 3286108925 ecr 10436836], length 0
14:53:32.480926 IP gimli.foi.hr.http > kinky-bastard.58393: Flags [.], ack 1, win 214, options [nop,nop,TS val 3286108925 ecr 10436836], length 0
14:53:32.481073 IP gimli.foi.hr.http > kinky-bastard.58389: Flags [.], ack 1, win 256, options [nop,nop,TS val 3286108925 ecr 10436836], length 0
14:53:32.482681 IP gimli.foi.hr.http > kinky-bastard.58392: Flags [.], ack 1, win 214, options [nop,nop,TS val 3286108926 ecr 10436836], length 0
14:53:32.482890 IP gimli.foi.hr.http > kinky-bastard.58394: Flags [.], ack 1, win 248, options [nop,nop,TS val 3286108926 ecr 10436836], length 0
14:53:32.483137 IP gimli.foi.hr.http > kinky-bastard.58390: Flags [.], ack 1, win 231, options [nop,nop,TS val 3286108926 ecr 10436836], length 0
14:53:32.484683 IP 192.168.1.1.domain > kinky-bastard.32780: 38496 2/8/12 CNAME any-eu.www.linkedin.com., A 185.63.147.10 (469)
14:53:32.486742 IP 192.168.1.186.44816 > 239.255.255.250.1900: UDP, length 125
14:53:32.487935 IP 192.168.1.1.domain > kinky-bastard.56928: 28746 1/2/3 A 161.53.120.190 (162)
14:53:32.508908 IP kinky-bastard.58404 > gimli.foi.hr.http: Flags [.], ack 1, win 229, options [nop,nop,TS val 10436848 ecr 3286108932], length 0
14:53:32.509075 IP kinky-bastard.58404 > gimli.foi.hr.http: Flags [P.], seq 1:446, ack 1, win 229, options [nop,nop,TS val 10436848 ecr 3286108932], length 445
14:53:32.534668 IP gimli.foi.hr.http > kinky-bastard.58404: Flags [.], ack 446, win 122, options [nop,nop,TS val 3286108939 ecr 10436848], length 0
14:53:32.538140 IP 185.63.147.10.https > kinky-bastard.32994: Flags [S.], seq 3091208151, ack 2266286582, win 65160, options [mss 1400,sackOK,TS val 2568817647 ecr 10436842,nop,wscale 12], length 0
14:53:32.538183 IP kinky-bastard.32994 > 185.63.147.10.https: Flags [.], ack 1, win 229, options [nop,nop,TS val 10436856 ecr 2568817647], length 0
14:53:32.538320 IP kinky-bastard.32994 > 185.63.147.10.https: Flags [P.], seq 1:241, ack 1, win 229, options [nop,nop,TS val 10436856 ecr 2568817647], length 240
14:53:32.590838 IP 185.63.147.10.https > kinky-bastard.32994: Flags [.], ack 241, win 16, options [nop,nop,TS val 2568817700 ecr 10436856], length 0

Najčešće korišteni tzv. kvalifikatori paketa (eng. "packet qualifiers") su host, net i port. Na sljedećem primjeru rekli smo tcpdump-u da želimo vidjeti samo pakete iz 192.168.1.102 (tzv. "inet addr" - adresa dodjeljena određenom interface-u, u našem slučaju wlan0 ili pojednostavljeno rečeno adresa mog računala). Uz to, možemo dodati da nas zanimaju samo paketi predodređeni za port 80 (HTTP).

root@kinky-bastard:/home/madafaka# tcpdump src host 192.168.1.105 and dst port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:33:08.815391 IP kinky-bastard.34960 > barok.foi.hr.http: Flags [F.], seq 3534325180, ack 739539597, win 229, options [nop,nop,TS val 276064 ecr 934210660], length 0
16:33:09.475653 IP kinky-bastard.34970 > barok.foi.hr.http: Flags [F.], seq 3542263200, ack 1802838513, win 229, options [nop,nop,TS val 276229 ecr 934215262], length 0
16:33:10.118406 IP kinky-bastard.47236 > gimli.foi.hr.http: Flags [.], ack 2863474680, win 1426, options [nop,nop,TS val 276389 ecr 3287603030,nop,nop,sack 1 {0:1}], length 0
16:33:10.118627 IP kinky-bastard.47236 > gimli.foi.hr.http: Flags [.], ack 1, win 1426, options [nop,nop,TS val 276389 ecr 3287603148,nop,nop,sack 1 {0:1}], length 0
16:33:10.119727 IP kinky-bastard.34970 > barok.foi.hr.http: Flags [.], ack 2, win 229, options [nop,nop,TS val 276390 ecr 934218620], length 0
16:33:10.123790 IP kinky-bastard.47236 > gimli.foi.hr.http: Flags [.], ack 1, win 1426, options [nop,nop,TS val 276391 ecr 3287603384,nop,nop,sack 1 {0:1}], length 0
16:33:10.765662 IP kinky-bastard.47236 > gimli.foi.hr.http: Flags [F.], seq 0, ack 1, win 1426, options [nop,nop,TS val 276551 ecr 3287603384], length 0
16:33:10.789488 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [S], seq 3378930657, win 29200, options [mss 1460,sackOK,TS val 276557 ecr 0,nop,wscale 7], length 0
16:33:10.809278 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 72978152, win 229, options [nop,nop,TS val 276562 ecr 3287603598], length 0
16:33:10.809396 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [P.], seq 0:478, ack 1, win 229, options [nop,nop,TS val 276562 ecr 3287603598], length 478
16:33:12.587476 IP kinky-bastard.42569 > veles.foi.hr.http: Flags [.], ack 3325683664, win 237, options [nop,nop,TS val 277007 ecr 1049445189], length 0
16:33:12.945883 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 1369, win 250, options [nop,nop,TS val 277096 ecr 3287604131], length 0
16:33:12.947060 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 2737, win 271, options [nop,nop,TS val 277096 ecr 3287604131], length 0
16:33:12.948266 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 4105, win 293, options [nop,nop,TS val 277097 ecr 3287604131], length 0
16:33:12.949255 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 5473, win 314, options [nop,nop,TS val 277097 ecr 3287604131], length 0
16:33:12.950520 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 6841, win 335, options [nop,nop,TS val 277097 ecr 3287604131], length 0
16:33:12.951693 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 8209, win 357, options [nop,nop,TS val 277098 ecr 3287604131], length 0
16:33:12.952713 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 9577, win 378, options [nop,nop,TS val 277098 ecr 3287604131], length 0
16:33:12.953936 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 10945, win 400, options [nop,nop,TS val 277098 ecr 3287604131], length 0
16:33:12.957417 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 12313, win 421, options [nop,nop,TS val 277099 ecr 3287604131], length 0
16:33:12.957758 IP kinky-bastard.47244 > gimli.foi.hr.http: Flags [.], ack 13078, win 442, options [nop,nop,TS val 277099 ecr 3287604131], length 0
16:33:13.013363 IP kinky-bastard.42569 > veles.foi.hr.http: Flags [F.], seq 0, ack 1, win 237, options [nop,nop,TS val 277113 ecr 1049445189], length 0

Na sljedećem primjeru biti će prikazano prikupljanje paketa iz SSH sesije. Dakle, samo ćemo tražiti filter za port 22.

root@kinky-bastard:/home/madafaka# tcpdump port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:05:39.673316 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [S], seq 2378122947, win 29200, options [mss 1460,sackOK,TS val 763778 ecr 0,nop,wscale 7], length 0
17:05:39.694051 IP arka.foi.hr.ssh > kinky-bastard.37867: Flags [S.], seq 1005301946, ack 2378122948, win 5792, options [mss 1400,sackOK,TS val 228596148 ecr 763778,nop,wscale 6], length 0
17:05:39.694086 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [.], ack 1, win 229, options [nop,nop,TS val 763783 ecr 228596148], length 0
17:05:39.694316 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [P.], seq 1:33, ack 1, win 229, options [nop,nop,TS val 763783 ecr 228596148], length 32
17:05:39.713399 IP arka.foi.hr.ssh > kinky-bastard.37867: Flags [.], ack 33, win 91, options [nop,nop,TS val 228596153 ecr 763783], length 0
17:05:39.723210 IP arka.foi.hr.ssh > kinky-bastard.37867: Flags [P.], seq 1:42, ack 33, win 91, options [nop,nop,TS val 228596155 ecr 763783], length 41
17:05:39.723236 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [.], ack 42, win 229, options [nop,nop,TS val 763790 ecr 228596155], length 0
17:05:39.723508 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [.], seq 33:1421, ack 42, win 229, options [nop,nop,TS val 763791 ecr 228596155], length 1388
17:05:39.725964 IP kinky-bastard.37867 > arka.foi.hr.ssh: Flags [P.], seq 1421:2001, ack 42, win 229, options [nop,nop,TS val 763791 ecr 228596155], length 580
17:05:39.744347 IP arka.foi.hr.ssh > kinky-bastard.37867: Flags [P.], seq 42:826, ack 33, win 91, options [nop,nop,TS val 228596160 ecr 763790], length 784
17:05:39.763416 IP arka.foi.hr.ssh > kinky-bastard.37867: Flags [.], ack 2001, win 180, options [nop,nop,TS val 228596165 ecr 763791], length 0

Promotrimo prvi paket. Na samom početku prikazan je timestamp paketa. Zatim dolazi polje s imenom hosta paketa. Znak više (>) predstavlja smjer paketa iz source hosta s lijeve strane do destination hosta (arka.foi.hr) s desne strane. Također, vidljivo je da je postavljena S (SYN) zastavica koja predstavlja iniciranje TCP konekcije. Promatranje TCP prometa i generalno korištenje alata tcpdump može pomoći pri razumjevanju kako protokoli funkcioniraju.

Na sljedećem primjeru biti će prikazan promet prema FTP serveru i neke sigurnosne implikacije tcpdump-a. FTP protokol nije siguran i ima nekoliko sigurnosnih nedostataka među kojima je i činjenica da promet nije kriptiran; svi prijenosi su u čistom tekstu (eng. "plain text") zajedno s korisničkim imenima i lozinkama. Problem s kriptiranjem prometa imaju i još neki protokoli poput SMTP, POP i IMAP koji su nastali prije pojave SSL-a i TLS-a. Dakle, kad bismo htjeli skenirati promet prema FTP serveru, filtrirat ćemo ga prema FTP portu 21. Dodana je i opcija -X kako bi bili vidljivi podaci paketa u heksadecimalnom obliku. Kao što je vidljivo na sljedećem primjeru, korisničko ime i lozinka su u plaintextu. Korisničko ime je "matz", a lozinka je "8066-PTHB"

root@kinky-bastard:/home/madafaka# tcpdump -X dst port 21
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
18:02:28.783692 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [S], seq 2024192728, win 29200, options [mss 1460,sackOK,TS val 1616056 ecr 0,nop,wscale 7], length 0
	0x0000:  4500 003c 1260 4000 4006 0fef c0a8 0169  E..<.`@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bad8 0000 0000  .2.).i..x.......
	0x0020:  a002 7210 4ab4 0000 0204 05b4 0402 080a  ..r.J...........
	0x0030:  0018 a8b8 0000 0000 0103 0307            ............
18:02:28.910192 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [.], ack 1218694067, win 229, options [nop,nop,TS val 1616087 ecr 415909133], length 0
	0x0000:  4500 0034 1261 4000 4006 0ff6 c0a8 0169  E..4.a@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bad9 48a3 cbb3  .2.).i..x...H...
	0x0020:  8010 00e5 784e 0000 0101 080a 0018 a8d7  ....xN..........
	0x0030:  18ca 450d                                ..E.
18:02:29.049870 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [.], ack 63, win 229, options [nop,nop,TS val 1616122 ecr 415909273], length 0
	0x0000:  4510 0034 1262 4000 4006 0fe5 c0a8 0169  E..4.b@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bad9 48a3 cbf1  .2.).i..x...H...
	0x0020:  8010 00e5 7761 0000 0101 080a 0018 a8fa  ....wa..........
	0x0030:  18ca 4599                                ..E.
18:02:30.794043 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [P.], seq 0:11, ack 63, win 229, options [nop,nop,TS val 1616558 ecr 415909273], length 11
	0x0000:  4510 003f 1263 4000 4006 0fd9 c0a8 0169  E..?.c@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bad9 48a3 cbf1  .2.).i..x...H...
	0x0020:  8018 00e5 d505 0000 0101 080a 0018 aaae  ................
	0x0030:  18ca 4599 5553 4552 206d 6174 7a0d 0a    ..E.USER.matz..
18:02:30.939096 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [.], ack 107, win 229, options [nop,nop,TS val 1616594 ecr 415911157], length 0
	0x0000:  4510 0034 1264 4000 4006 0fe3 c0a8 0169  E..4.d@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bae4 48a3 cc1d  .2.).i..x...H...
	0x0020:  8010 00e5 6df6 0000 0101 080a 0018 aad2  ....m...........
	0x0030:  18ca 4cf5                                ..L.
18:02:32.698134 IP kinky-bastard.38505 > ovh.filegenie.com.ftp: Flags [P.], seq 11:27, ack 107, win 229, options [nop,nop,TS val 1617034 ecr 415911157], length 16
	0x0000:  4510 0044 1265 4000 4006 0fd2 c0a8 0169  E..D.e@.@......i
	0x0010:  c632 9029 9669 0015 78a6 bae4 48a3 cc1d  .2.).i..x...H...
	0x0020:  8018 00e5 9c55 0000 0101 080a 0018 ac8a  .....U..........
	0x0030:  18ca 4cf5 5041 5353 2038 3036 362d 5054  ..L.PASS.8066-PT
	0x0040:  4842 0d0a                                HB..

Osim FTP protokola, mnogi drugi protokoli poput SMTP, POP3, HTTP, Syslog, DNS itd. pohranjuju neke podatke kao plain text u payloadu paketa. Kako bi ti dijelovi paketa bili vidljivi, uglavnom je dovoljno samo uključiti -A opciju. Sljedećom naredbom možemo tražiti takve podatke u pcap datoteci ograničavajući se na portove spomenutih protokola. U outputu se vidi čak i cookie za stranicu last.fm.

root@kinky-bastard:/home/madafaka# tcpdump -Ann -r traffic.pcap 'dst port 25 or dst port 514 or port 110 or dst port 21 or dst port 53 or dst port 80' | head -50
reading from file traffic.pcap, link-type EN10MB (Ethernet)
23:17:58.932538 IP 192.168.1.105.48503 > 192.168.1.1.53: 64011+ A? www.facebook.com. (34)
E..>..@.@.'8...i.....w.5.*.&.............www.facebook.com.....
23:18:00.099969 IP 192.168.1.105.32546 > 192.168.1.1.53: 62975+ A? github.com. (28)
E..8..@.@.'$...i.....".5.$...............github.com.....
23:18:00.152389 IP 192.168.1.105.28853 > 192.168.1.1.53: 58379+ A? scontent-vie1-1.xx.fbcdn.net. (46)
E..J..@.@.'....i....p..5.6.a.............scontent-vie1-1.xx.fbcdn.net.....
23:18:00.959000 IP 192.168.1.105.44619 > 104.103.100.235.80: Flags [.], seq 0:1388, ack 1, win 229, options [nop,nop,TS val 3249595 ecr 3500917558], length 1388
E....P@.@."....ihgd..K.P.1..A.
......`.....
.1.....6GET /user/matejewski?utm_expid=44142428-14.Ks4XHXyTR7iSqjDJDz0q0g.0 HTTP/1.1
Host: www.last.fm
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: LXXXXXbrowser=XXXXXXXX-5a91-4b64-a3bf-xxxxxxx; XXXXX=18126153142; XXXXXXXXXXXXXXXXX%40AdobeOrg=1999109931%7CMCMID%7C39311589748880780039133118191366500707%XXXXXXXXX%7CNONE; sq4YFvJMK2=0; AnonSession=XXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; lfm_cors=0; AnonTrack=f3dd2de0c513da9147fc81565bf9d9e4; BrowserCapabilities=H%3D1%7CJ%3D1%7CR%3D0%7CS%3D1; javascript=enabled; csrftoken=Q7BGozTaQqdAkQeTEojtzUXlpCHd77NE; sessionid=.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-P8JM3tZ6smDcmixsNdZxxnXUS3TABkIKfznEJWvMUYql0qbQGaY1N3UBHq97uOV4ATDDXp8TjkhJKuzYRqCs4SWDEJxh4kLi-hzyPUB8RzFxGA0IxQwGljGHsIDZwuEsHyBFShq9QbqaKTHIp74P8gsJTkFOV0XW025z1rN2uokit78PzdWg282ierKpCpKthTrUX3UKdyj02s1n4orYo_2ixNwWXzoVVJKXdgrDbtrV5VWm7X7LfcXtX62_vq0_WqbhqiJu66GiZMdV4NOpZBdfGTspRLzwquYEcWn1WXxpTxvCzUvJz5wy72KVDB9tLjaN5
23:18:00.960600 IP 192.168.1.105.44619 > 104.103.100.235.80: Flags [P.], seq 1388:1669, ack 1, win 229, options [nop,nop,TS val 3249595 ecr 3500917558], length 281
E..M.Q@.@.&....ihgd..K.P.1.OA.
.....@9.....
.1.....6dH_ZBurHLZ9-nz7QDaU2-vif6l_7q9WD-i3oBBICgjoJ5ZIx5CSESPAd4TmCYpeJ_w4a_SvlxUHGO2jSw-2r9fsPEGK62g:1aAj65:LLLE6l3xlu3chEYpoGYPyXGRDSk; utag_main=v_id:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$_sn:31$_ss:0$_st:1450639362220$_pn:7%3Bexp-session$ses_id:1450637383737%3Bexp-session

Pokraj mnogih funkcionalnosti tcpdump alata, moguće ga je koristiti za učenje i proučavanje mreža i paketa. Na predavanjima smo spominjali 3-way-handshake u TCP protokolu. Pobliže možemo proučiti postavljanje zastavica (eng. "flag") i razmjenu paketa na primjeru spajanja na SSH server.

root@kinky-bastard:/home/madafaka# tcpdump -i wlan0 -vvv "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0" | grep arka.foi.hr
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [S], cksum 0xb5d2 (correct), seq 3001331107, win 29200, options [mss 1460,sackOK,TS val 30945892 ecr 0,nop,wscale 7], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [S.], cksum 0xc436 (correct), seq 3555818697, ack 3001331108, win 5792, options [mss 1400,sackOK,TS val 405988426 ecr 30945892,nop,wscale 6], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0x087c (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 30945897 ecr 405988426], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xd8aa (correct), seq 1:33, ack 1, win 229, options [nop,nop,TS val 30945898 ecr 405988426], length 32
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0x08df (correct), seq 1, ack 33, win 91, options [nop,nop,TS val 405988432 ecr 30945898], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x2d4d (correct), seq 1:42, ack 33, win 91, options [nop,nop,TS val 405988433 ecr 30945898], length 41
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0x0825 (correct), seq 33, ack 42, win 229, options [nop,nop,TS val 30945904 ecr 405988433], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xf56d (correct), seq 33:1421, ack 42, win 229, options [nop,nop,TS val 30945904 ecr 405988433], length 1388
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0x9ff0 (correct), seq 1421:2001, ack 42, win 229, options [nop,nop,TS val 30945905 ecr 405988433], length 580
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x5dd1 (correct), seq 42:826, ack 33, win 91, options [nop,nop,TS val 405988437 ecr 30945904], length 784
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xfd8b (correct), seq 826, ack 2001, win 180, options [nop,nop,TS val 405988443 ecr 30945904], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xc6f4 (correct), seq 2001:2025, ack 826, win 241, options [nop,nop,TS val 30945914 ecr 405988437], length 24
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0xa275 (correct), seq 826:1234, ack 2025, win 180, options [nop,nop,TS val 405988449 ecr 30945914], length 408
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0x0328 (correct), seq 2025:2425, ack 1234, win 253, options [nop,nop,TS val 30945921 ecr 405988449], length 400
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0xeaa6 (correct), seq 1234:2210, ack 2425, win 223, options [nop,nop,TS val 405988462 ecr 30945921], length 976
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xebb9 (correct), seq 2425:2441, ack 2210, win 268, options [nop,nop,TS val 30945934 ecr 405988462], length 16
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xf5ff (correct), seq 2210, ack 2441, win 223, options [nop,nop,TS val 405988478 ecr 30945934], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xa176 (correct), seq 2441:2481, ack 2210, win 268, options [nop,nop,TS val 30945949 ecr 405988478], length 40
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xf5c4 (correct), seq 2210, ack 2481, win 223, options [nop,nop,TS val 405988482 ecr 30945949], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x32be (correct), seq 2210:2250, ack 2481, win 223, options [nop,nop,TS val 405988482 ecr 30945949], length 40
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0x720a (correct), seq 2481:2553, ack 2250, win 268, options [nop,nop,TS val 30945954 ecr 405988482], length 72
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x24dc (correct), seq 2250:2306, ack 2553, win 223, options [nop,nop,TS val 405988490 ecr 30945954], length 56
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xf4d1 (correct), seq 2553, ack 2306, win 268, options [nop,nop,TS val 30945971 ecr 405988490], length 0


    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xb63f (correct), seq 2553:2689, ack 2306, win 268, options [nop,nop,TS val 30948264 ecr 405988490], length 136
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xe242 (correct), seq 2306, ack 2689, win 266, options [nop,nop,TS val 405990814 ecr 30948264], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x64c3 (correct), seq 2306:2330, ack 2689, win 266, options [nop,nop,TS val 405990821 ecr 30948264], length 24
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xe205 (correct), seq 2689, ack 2330, win 268, options [nop,nop,TS val 30948292 ecr 405990821], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xc6b4 (correct), seq 2689:2801, ack 2330, win 268, options [nop,nop,TS val 30948292 ecr 405990821], length 112
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xe192 (correct), seq 2330, ack 2801, win 266, options [nop,nop,TS val 405990826 ecr 30948292], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x72a6 (correct), seq 2330:2370, ack 2801, win 266, options [nop,nop,TS val 405990826 ecr 30948292], length 40
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0x5fee (correct), seq 2801:3225, ack 2370, win 268, options [nop,nop,TS val 30948297 ecr 405990826], length 424
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x19ed (correct), seq 2370:2458, ack 3225, win 310, options [nop,nop,TS val 405990833 ecr 30948297], length 88
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0x5924 (correct), seq 2458:3846, ack 3225, win 310, options [nop,nop,TS val 405990834 ecr 30948297], length 1388
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xd9d2 (correct), seq 3225, ack 3846, win 290, options [nop,nop,TS val 30948305 ecr 405990833], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0x03ee (correct), seq 3846:5234, ack 3225, win 310, options [nop,nop,TS val 405990834 ecr 30948297], length 1388
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0xd75e (correct), seq 5234:6594, ack 3225, win 310, options [nop,nop,TS val 405990834 ecr 30948297], length 1360
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xcee9 (correct), seq 3225, ack 6594, win 333, options [nop,nop,TS val 30948306 ecr 405990834], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0xc63c (correct), seq 6594:6746, ack 3225, win 310, options [nop,nop,TS val 405990834 ecr 30948297], length 152
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xce31 (correct), seq 3225, ack 6746, win 355, options [nop,nop,TS val 30948316 ecr 405990834], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0xa93c (correct), seq 6746:6818, ack 3225, win 310, options [nop,nop,TS val 405990877 ecr 30948316], length 72
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xcd9e (correct), seq 3225, ack 6818, win 355, options [nop,nop,TS val 30948348 ecr 405990877], length 0


    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0x0941 (correct), seq 3225:3265, ack 6818, win 355, options [nop,nop,TS val 30949394 ecr 405990877], length 40
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x8aa0 (correct), seq 6818:6858, ack 3265, win 310, options [nop,nop,TS val 405991930 ecr 30949394], length 40
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xc514 (correct), seq 3265, ack 6858, win 355, options [nop,nop,TS val 30949401 ecr 405991930], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xab2c (correct), seq 3265:3305, ack 6858, win 355, options [nop,nop,TS val 30950076 ecr 405991930], length 40
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x6fd0 (correct), seq 6858:7010, ack 3305, win 310, options [nop,nop,TS val 405992611 ecr 30950076], length 152
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xbeec (correct), seq 3305, ack 7010, win 377, options [nop,nop,TS val 30950082 ecr 405992611], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [P.], cksum 0x69f8 (correct), seq 7010:7058, ack 3305, win 310, options [nop,nop,TS val 405992611 ecr 30950076], length 48
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xbebc (correct), seq 3305, ack 7058, win 377, options [nop,nop,TS val 30950082 ecr 405992611], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [P.], cksum 0xb333 (correct), seq 3305:3329, ack 7058, win 377, options [nop,nop,TS val 30950082 ecr 405992611], length 24
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [FP.], cksum 0xa162 (correct), seq 3329:3385, ack 7058, win 377, options [nop,nop,TS val 30950082 ecr 405992611], length 56
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [.], cksum 0xbea8 (correct), seq 7058, ack 3386, win 310, options [nop,nop,TS val 405992617 ecr 30950082], length 0
    arka.foi.hr.ssh > kinky-bastard.45032: Flags [F.], cksum 0xbea6 (correct), seq 7058, ack 3386, win 310, options [nop,nop,TS val 405992618 ecr 30950082], length 0
    kinky-bastard.45032 > arka.foi.hr.ssh: Flags [.], cksum 0xbe5c (correct), seq 3386, ack 7059, win 377, options [nop,nop,TS val 30950089 ecr 405992618], length 0

Kombinirajući tcpdump s alatom grep, vrlo jednostavno možemo pretraživati samo http GET requestove na sljedeći način:

root@kinky-bastard:/home/madafaka# tcpdump -n -A | grep -e 'GET'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
.....!^WGET /my/ HTTP/1.1
..._.!^.GET /theme/yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.css HTTP/1.1
...f.!^.GET /theme/styles.php/more/1449123912/all HTTP/1.1
...m.!^.GET /theme/yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js&rollup/1449123912/mcore-min.js HTTP/1.1
...m.!^.GET /lib/javascript.php/1449123912/lib/javascript-static.js HTTP/1.1
...m.!^.GET /lib/javascript.php/1449123912/lib/requirejs/require.min.js HTTP/1.1
...n.!^.GET /theme/javascript.php/more/1449123912/footer HTTP/1.1
...n.!^.GET /theme/image.php/more/core/1449123912/u/f2 HTTP/1.1
...|.!_.GET /theme/image.php/more/core/1449123912/i/course HTTP/1.1
.....!_.GET /theme/image.php/more/core/1449123912/i/user HTTP/1.1
.....!_.GET /theme/image.php/more/core/1449123912/t/grades HTTP/1.1
.....!_.GET /theme/image.php/more/core/1449123912/t/message HTTP/1.1
.....!^.GET /theme/image.php/more/core/1449123912/t/preferences HTTP/1.1
.....!^.GET /theme/image.php/more/core/1449123912/a/logout HTTP/1.1

Kada bismo htjeli obaviti skeniranje mreže tražeći pojedine aktivnosti poput skeniranja portova (eng. "port scan"), a pod pretpostavkom da ne želimo koristiti napredne alate kojima je svrha otkrivanje neke ciljane aktivnosti poput port scana, to možemo obaviti uz pomoć tcpdumpa. Recimo da imamo veliku pcap datoteku u kojoj je pohranjen mrežni promet. U nastavku će biti prikazana serija naredbi kojom će se otkriti IP adrese koje komuniciraju s više različitih hostova i portova. Jedan legitiman razlog zašto u ovom slučaju koristiti tcpdump je taj da je u ovom slučaju brži od tsharka. Također, u tsharku ponekad dođe do ruženja aplikacije zbog prevelike pcap datoteke.

root@kinky-bastard:/home/madafaka# tcpdump -nr traffic.pcap 'tcp[tcpflags]=2' | awk '{print $3}' | cut -d. -f 1,2,3,4 | sort | uniq -c
reading from file traffic.pcap, link-type EN10MB (Ethernet)
    22 192.168.1.105

Dakle, output kaže da je adresa 192.168.1.105 poslala 22 SYN paketa, tj. 22 puta je inicirana konekcija.

Kako bi funkcija naredbe bila jasnija, rastavimo naredbu na manje dijelove:

Čitaj iz datoteke "traffic.pcap" i nemoj pretvarati adrese u imena -nr traffic.pcap

BPF filter koji selektira samo one pakete kojima je postavljena SYN zastavica. 'tcp[tcpflags]=2'

Uz pomoć alata awk dohvatimo treće polje, tj. source IP. awk '{print $3}'

S obzirom da smo s awk dohvatili source IP zajedno sa source portom koji nam ne treba, možemo ga odrezati. cut -d. -f 1,2,3,4

Na samom kraju dobiveni output možemo sortirati i grupirati IP adrese po broju ponavljanja. sort | uniq -c

Sljedećom naredbom možemo provjeriti s kim komunicira promatrana IP adresa:

root@kinky-bastard:/home/madafaka# tcpdump -nr traffic.pcap 'tcp[tcpflags]=2 and src host 192.168.1.105' | awk '{print $5}' | cut -d. -f1,2,3,4 | sort | uniq -c | wc -l
reading from file traffic.pcap, link-type EN10MB (Ethernet)
      6 104.16.107.25
      1 198.41.208.137
      2 23.235.43.193
      1 52.11.92.74
      2 52.35.198.252
      3 68.232.35.121
      6 69.164.197.216
      1 93.184.220.111

Sličan tip outputa kao i u prethodnoj naredbi, samo što trenutna naredba uz pomoć awk dohvaća destination IP i za src host je dodana IP adresa računala. Output prikazuje IP adrese s kojima računalo komunicira i broj njihovih ponavljanja.

U slučaju da pronađemo neku IP adresu za koju sumnjamo da radi port scan na naš server, sljedećom naredbom možemo provjeriti koliko je reazličitih portova "pogođeno":

 
root@kinky-bastard:/home/madafaka# tcpdump -nr traffic.pcap 'tcp[tcpflags]=2 and src host <suspicious_ip> and dst host 192.168.1.105' | awk '{print $5}' | cut -d. -f5 | sort | uniq -c | wc -l

Spomenuta naredba će ispisati broj skeniranih portova od strane sumnjive IP adrese prema našem serveru na adresi 192.168.1.105. U naredbi se dohvaćaju samo destination portovi, a zapravo se računa koliko je SYN paketa poslano na destination IP (192.168.1.105) od strane sumnjivog IP-a.

U sljedećim primjerima biti će prikazano kako pronaći broj TCP i UDP konekcija u pcap datoteci. Kada su u pitanju TCP konekcije, vrlo dobru aproksimaciju broja konekcija možemo dobiti tako da prebrojimo SYN_ACK pakete:

root@kinky-bastard:/home/madafaka# tcpdump -nr traffic.pcap 'tcp[tcpflags] & (tcp-syn|tcp-ack) = (tcp-syn|tcp-ack)' | wc -l
reading from file traffic.pcap, link-type EN10MB (Ethernet)
137

U outputu vidimo da je prebrojano 137 konekcija.

Znamo da za UDP protokol ne postoji konekcija, pa iz tog razloga moramo prvo definirati što ćemo brojati. Recimo, možemo brojati koliko ima različitih source i destination parova u pcap datoteci. Sljedećom naredbom će se računati broj paketa u oba smjera, pa ako zamišljena konekcija šalje pakete u oba smjera, output bismo trebali podijeliti s 2:

root@kinky-bastard:/home/madafaka# tcpdump -nr traffic.pcap 'udp' | cut -f2-5 -d' ' | sort -u | wc -l
reading from file traffic.pcap, link-type EN10MB (Ethernet)
118

Naredba je prebrojala 118 paketa, što bi značilo da ima 59 UDP "konekcija".

Autori malwarea često koriste jedinstvene i neobične "User-Agent" stringove kada rade HTTP GET request. Kako bismo vidjeli sve linije u kojima se spominje string "user-agent", možemo to napraviti na sljedeći način:

root@kinky-bastard:/home/madafaka# tcpdump -Ann -r traffic.pcap 'port 80' | grep -Ei 'user-agent' | sort | uniq -c | sort -nr | head -15
reading from file traffic.pcap, link-type EN10MB (Ethernet)
    285 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36
     16 Vary: User-Agent

U slučaju pronalaska nečega sumnjivog, postoji nekolicina user-agent lookup tražilica na kojima se mogu naći korisni detalji.

Postoje posebni slučajevi koji se javljaju prilikom otklanjanja kvarova na mreži ili aplikaciji u kojima ne znamo reproducirati korake koji prouzrokuju određeni problem. U takvim slučajevima prva stvar koja padne osobi na pamet vjerojatno je da netko mora nadzirati mrežu aplikaciju pomoću alata poput tcpdumpa sve dok se taj problem ne pojavi, što je uglavnom gubljenje vremena. Dobar pristup za rješavanje ovakvog problema može se riješiti na način da se pokrene tcpdump i promet pohranjuje u određeni broj datoteka određenog kapaciteta. Kada prva se prva datoteka popuni, promet se nastavlja spremati u drugu datoteku, pa tako sve do zadnje datoteke. Kada se popuni zadnja datoteka, promet se prepisuje ponovo u prvu datoteku i tako u krug. Konkretno, željena naredba može izgledati ovako:

root@kinky-bastard:/home/madafaka# tcpdump -w traceFile -W 5 -C 1

Naredva će stvoriti 5 novih datoteka (opcija -W 5), od traceFile0 do traceFile4. Kako je i objašnjeno, kada datoteka traceFile4 dosegne svoj limit, koji je u ovom slučaju 1 milijun bitova (opcija -C 1), promet će se ponovo prepisivati u traceFile0. Prednost ovog pristupa je ta da tcpdump može raditi zauvijek, a svo vrijeme ćemo imati sačuvanih 5 milijuna bitova (oko 5 GB) prometa. Kada primjetimo da je došlo do spomenutog problema, tcpdump možemo zaustaviti i analizirati problem i pakete koji su prouzročili problem.

Uvod U Tshark

Tshark kao i TCPdump spada u skupinu "packet sniffing" tehnologija za presretanje paketa koji putuju kroz mrežu. Paketi se šalju sa jednog računala prema drugome i u tom postupku se rastavljaju na manje segmente koji sadrže adrese pošiljatelja i primatelja, točnije svaki segment sadrži jedan dio odredišta. Takvi alati se najčešće koriste od strane administratora mreža koji su zaduženi za rješavanje problema u mrežnim sustavima. Isto tako ti alati se mogu koristiti u ilegalne svhre kao što je neovlašteno promatranje tuđeg internet prometa, što uključuje i krađu osjetljivih podataka kao što su lozinke. Postoje dvije vrste "packet sniffing" alata a to su pasivni i aktivni. Pasivni mogu samo prikupljati podatke koji prolaze kroz mrežu te ne mogu biti detektirani dok aktivni mogu umetati podatke u mrežu i mogu biti detektirani. Tshark i TCPdump spadaju u kategoriju pasivnih alata. Tshark, za zapisivanje uhvaćenog prometa koristi pcap format, koji se također koristi i u nekim drugim alatima poput tcpdump-a. Bez postavljanja opcija, tshark će se ponašati kao tcpdump. Koristiti će pcap biblioteku za hvatanje prometa sa prvog raspoloživog sučelja i prikazati sažetak za svaki primljeni paket. Tshark je tekstualna verzija poznatog Wireshark alata, te može čitati podatke koje je prikupio Wireshark. Ulazni file ne mora imati definiranu ekstenziju, već ga tshark sam detektira.


Upisivanjem naredbe tshark -h dobivamo popis naredbi za tshark podijeljene u grupe. Neke od opcija za skupljanje prometa (paketa) su:

-i <capture interface>		    Postavljanje sušelja sa kojeg će tshark sakupljati pakete. Npr.,wlan, ethernet, bluetooth

-I 				    Postavljanje sučelja na kojem se prikupljaju podaci u "monitor" modu. Podržano samo na IEEE 802.11 Wi-Fi sučeljima i nekim OS-ovima. 
                                    U monitor modu SSID filter je isključen pa tshark prikuplja pakete sa svih dostupnih kanala (wireless mreža u okolini).
				    	
-a <capture autostop condition>     Određuje kada tshark treba prestati sa prikupljanjem paketa

-O <protocols>			    Postavlja tshark tako da prikazuje samo detaljni opis zadanog protokola, npr. tcp, udp, dns

-q 				    Prikazuje samo broj primljenih paketa umjesto detalja svakog paketa dok se zapisuju

-z <statistics>			    Prikuplja razne tipove statistika

-w 				    Zapiši pakete u file

-r 				    Pročitaj spremljeni file sa paketima

-T                                  Postavljanje formata output-a

-f                                  Postavljanje filtera, npr. samo neki port

-x                                  ispis hex i ASCII sadržaja paketa                                 

Primjeri korištenja

Pokretanjem tsharka sa definiranim sučeljem (u ovom slučaju eth0), dobivamo mrežni promet u kojem se nalazi mnogo sadržaja ali je teško pronaći željeni paket ili informaciju.

filip@filip-VirtualBox:~$ tshark -i eth0
Capturing on 'eth0'
  1   0.000000    10.0.2.15 -> 192.168.1.1  DNS 76 Standard query 0x6aa3  A www.linkedin.com
  2   0.000098    10.0.2.15 -> 192.168.1.1  DNS 76 Standard query 0x2fba  AAAA www.linkedin.com
  3   0.002937    10.0.2.15 -> 161.53.120.190 TCP 74 43800 > http [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=217980 TSecr=0 WS=128
  4   0.020804  192.168.1.1 -> 10.0.2.15    DNS 536 Standard query response 0x6aa3  CNAME glb-any-eu.www.linkedin.com CNAME any-eu.www.linkedin.com A 185.63.147.10
  5   0.023239  192.168.1.1 -> 10.0.2.15    DNS 548 Standard query response 0x2fba  CNAME glb-any-eu.www.linkedin.com CNAME any-eu.www.linkedin.com AAAA 2a04:f540:1::b93f:930a
  6   0.026945 161.53.120.190 -> 10.0.2.15    TCP 60 http > 43800 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
  7   0.026970    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=1 Ack=1 Win=29200 Len=0
  8   0.029024    10.0.2.15 -> 161.53.120.190 HTTP 396 GET / HTTP/1.1 
  9   0.029602 161.53.120.190 -> 10.0.2.15    TCP 60 http > 43800 [ACK] Seq=1 Ack=343 Win=65535 Len=0
9  10   2.468837 161.53.120.190 -> 10.0.2.15    TCP 1474 [TCP segment of a reassembled PDU]
 11   2.468937    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=1421 Win=31240 Len=0
 12   2.472156 161.53.120.190 -> 10.0.2.15    TCP 2894 [TCP segment of a reassembled PDU]
 13   2.472193    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=4261 Win=36920 Len=0
 14   2.472666 161.53.120.190 -> 10.0.2.15    TCP 4314 [TCP segment of a reassembled PDU]
 15   2.472688    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=8521 Win=45440 Len=0
 16   2.474514 161.53.120.190 -> 10.0.2.15    TCP 1194 [TCP segment of a reassembled PDU]
 17   2.474526    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=9661 Win=48280 Len=0
 18   2.474584 161.53.120.190 -> 10.0.2.15    TCP 1434 [TCP segment of a reassembled PDU]
 19   2.474591    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=11041 Win=51120 Len=0
 20   2.476248 161.53.120.190 -> 10.0.2.15    HTTP 1472 HTTP/1.1 200 OK  (text/html)
 21   2.476262    10.0.2.15 -> 161.53.120.190 TCP 54 43800 > http [ACK] Seq=343 Ack=12459 Win=53960 Len=0
 22   2.529441    10.0.2.15 -> 192.168.1.1  DNS 81 Standard query 0xccfd  A platform.linkedin.com
 23   2.529791    10.0.2.15 -> 192.168.1.1  DNS 81 Standard query 0x5cad  AAAA platform.linkedin.com
 24   2.531097    10.0.2.15 -> 192.168.1.1  DNS 75 Standard query 0x54d4  A services.foi.hr
 25   2.531265    10.0.2.15 -> 192.168.1.1  DNS 75 Standard query 0xe7ef  AAAA services.foi.hr
 26   2.531742    10.0.2.15 -> 192.168.1.1  DNS 75 Standard query 0xc811  A services.foi.hr

Kako bi se riješio problem pronalaska željenog paketa ili informacije unutar paketa koriste se filteri. Filteri mogu biti jednostavni počevši sa recimo snimanjem prometa samo na jednom portu, u ovom slučaju port 53 (DNS port).

filip@filip-VirtualBox:~$ tshark -i eth0 -f "src port 53"
Capturing on 'eth0'
  1   0.000000  192.168.1.1 -> 10.0.2.15    DNS 441 Standard query response 0x010f  CNAME tiles.r53-2.services.mozilla.com A 52.34.249.78 A 52.35.210.189 A 52.88.88.71 A 54.149.224.177 A 54.191.113.255 A 52.26.254.134 A 52.32.9.85 A 52.34.245.108
  2   0.002734  192.168.1.1 -> 10.0.2.15    DNS 194 Standard query response 0x9ae1  CNAME tiles.r53-2.services.mozilla.com
  3   0.008506  192.168.1.1 -> 10.0.2.15    DNS 441 Standard query response 0xf982  CNAME tiles.r53-2.services.mozilla.com A 52.35.210.189 A 52.88.88.71 A 54.149.224.177 A 54.191.113.255 A 52.26.254.134 A 52.32.9.85 A 52.34.245.108 A 52.34.249.78

DNS port filter se može prilagoditi tako da se dodaju "-n -T fields -e dns.qry.name -e" naredbe kojima se izvlači DNS zahtjev i povratna IP adresa.

filip@filip-VirtualBox:~$ tshark -i eth0 -f "src port 53" -n -T fields -e dns.qry.name -e dns.resp.addr
Capturing on 'eth0'
www.foi.unizg.hr	161.53.120.190,161.53.120.3,161.53.2.70
www.foi.unizg.hr	
2 static.xx.fbcdn.net	31.13.84.4,69.171.239.11,69.171.255.11
static.xx.fbcdn.net	69.171.239.11,69.171.255.11
4 facebook.com	173.252.120.68,69.171.239.12,69.171.255.12
5 facebook.com	69.171.239.12,69.171.255.12
www.facebook.com	31.13.84.36,69.171.239.11,69.171.255.11
www.facebook.com	69.171.239.11,69.171.255.11
static.xx.fbcdn.net	31.13.84.4,69.171.239.11,69.171.255.11
scontent-vie1-1.xx.fbcdn.net	31.13.84.4,69.171.239.11,69.171.255.11
scontent-vie1-1.xx.fbcdn.net	69.171.239.11,69.171.255.11

Još jedan primjer filtera može biti pronalazak svih http requestova. U ispisu prometa se vide samo http requestovi prema serveru te browser koji je napravio request.

filip@filip-VirtualBox:~$ tshark -i eth0 -Y http.request -T fields -e http.host -e http.user_agent
Capturing on 'eth0'
foi.unizg.hr	Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:43.0) Gecko/20100101 Firefox/43.0
www.foi.unizg.hr	Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:43.0) Gecko/20100101 Firefox/43.0
2 services.foi.hr	Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:43.0) Gecko/20100101 Firefox/43.0
3 www.foi.unizg.hr	Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:43.0) Gecko/20100101 Firefox/43.0
4 www.youtube.com	Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:42.0) Gecko/20100101 Firefox/42.0

Za detaljniji prikaz nekog protokola koristimo naredbu -O sa definiranim protokolom. U ovom slučaju imamo detaljan prikaz tcp sloja paketa u kojem možemo vidjeti i osnovne podatke drugih slojeva kao što je mac adresa primatelja i pošiljatelja.

filip@filip-VirtualBox:~$ tshark -r email.pcap -R frame.number==148 -O tcp
Frame 148: 1919 bytes on wire (15352 bits), 1919 bytes captured (15352 bits) on interface 0
Ethernet II, Src: CadmusCo_4f:fd:a9 (08:00:27:4f:fd:a9), Dst: RealtekU_12:35:02 (52:54:00:12:35:02)
Internet Protocol Version 4, Src: 10.0.2.15 (10.0.2.15), Dst: 144.76.37.175 (144.76.37.175)
Transmission Control Protocol, Src Port: 42209 (42209), Dst Port: nbx-ser (2095), Seq: 7828, Ack: 8864, Len: 1865
    Source port: 42209 (42209)
    Destination port: nbx-ser (2095)
    [Stream index: 0]
    Sequence number: 7828    (relative sequence number)
    [Next sequence number: 9693    (relative sequence number)]
    Acknowledgment number: 8864    (relative ack number)
    Header length: 20 bytes
    Flags: 0x018 (PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 65535
    [Calculated window size: 65535]
    [Window size scaling factor: -1 (unknown)]
    Checksum: 0xc96d [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    [SEQ/ACK analysis]
        [Bytes in flight: 1865]
Hypertext Transfer Protocol
Line-based text data: application/x-www-form-urlencoded

Tshark i filteri se mogu koristiti i za presretanje osjetljivih podataka poput passworda, u sljedećem primjeru je filter koji izvlači password iz TCP paketa. Za demonstraciju ranjivosti napravljena je skripta koja se nalazi na sljedećem link-u: http://domotehnika.hr/sis/vuln_login.html.

Prvo smo pretražili spremljeni file sa paketima kako bi našli u kojem paketu se nalazi ključna riječ password.

filip@filip-VirtualBox:~$ tshark -r test_pass.pcap -Y 'tcp contains "password"'
 63 13.656483000    10.0.2.15 -> 144.76.37.175 HTTP 972 POST /sis/vuln_login.php HTTP/1.1  (application/x-www-form-urlencoded)

Nakon što znamo da paket 63 sadrži password u plaintext-u pregledavanjem paketa lako vidimo da je password "pass1234". Radi preglednosti predložen je samo dio paketa.

filip@filip-VirtualBox:~$ tshark -r test_pass.pcap -x -R frame.number==63
...
...
02c0  78 72 65 41 45 25 32 63 63 34 36 64 35 32 65 62   xreAE%2cc46d52eb
02d0  62 62 30 33 33 66 62 36 39 34 63 32 63 64 31 38   bb033fb694c2cd18
02e0  31 32 30 33 65 63 30 36 66 61 30 66 61 65 30 37   1203ec06fa0fae07
02f0  35 62 30 35 37 66 31 39 33 36 61 62 37 63 31 63   5b057f1936ab7c1c
0300  37 39 66 65 61 32 34 61 3b 20 74 69 6d 65 7a 6f   79fea24a; timezo
0310  6e 65 3d 45 75 72 6f 70 65 2f 42 65 72 6c 69 6e   ne=Europe/Berlin
0320  3b 20 6c 61 6e 67 65 64 69 74 3d 3b 20 6c 61 6e   ; langedit=; lan
0330  67 3d 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20   g=..Connection: 
0340  6b 65 65 70 2d 61 6c 69 76 65 0d 0a 43 6f 6e 74   keep-alive..Cont
0350  65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63   ent-Type: applic
0360  61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d   ation/x-www-form
0370  2d 75 72 6c 65 6e 63 6f 64 65 64 0d 0a 43 6f 6e   -urlencoded..Con
0380  74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 35 37 0d   tent-Length: 57.
0390  0a 0d 0a 73 75 62 6d 69 74 74 65 64 3d 31 26 75   ...submitted=1&u<------------------
03a0  73 65 72 6e 61 6d 65 3d 75 73 65 72 26 70 61 73   sername=user&pas
03b0  73 77 6f 72 64 3d 70 61 73 73 31 32 33 34 26 53   sword=pass1234&S
03c0  75 62 6d 69 74 3d 53 75 62 6d 69 74               ubmit=Submit
...
...

Slično kao što smo pronašli username i password, u sljedećem primjeru ćemo pronaći i cookie koji se stvorio nakon posjeta stranici. Pregledom okvira pod brojem 924, možemo vrlo brzo uočiti Cookie: _cfduiid=dlef47387637e787882375053d8feef1c1452353605; što je id cookie-a generiranog nakon posjeta stranici. Često se u cookie-u sprema sesija nakon logiranja u neku stranicu korištenjem lozinke, pa postoji opasnost ukoliko promet nije kriptiran, da se taj cookie pronađe te napadač iskoristi otvorenu sesiju umetanjem cookie-a u svoj browser. Time dobiva neovlašten pristup tuđem korisničkom računu.

filip@filip-VirtualBox:~$ tshark -r cookie.pcap -Y 'tcp contains "cookie"'
924 2.945491000    10.0.2.15 -> 104.23.128.79 HTTP 593 GET /js/jquery.cookiesdirective.js HTTP/1.1 
filip@filip-VirtualBox:~$ tshark -r cookie.pcap -x -R frame.number==924 
tshark: -R without -2 is deprecated. For single-pass filtering use -Y.
0000  52 54 00 12 35 02 08 00 27 4f fd a9 08 00 45 00   RT..5...'O....E.
0010  02 43 6c 8b 40 00 40 06 d7 b4 0a 00 02 0f 68 17   .Cl.@.@.......h.
0020  80 4f c3 7b 00 50 71 47 87 dd 63 3f 54 fa 50 18   .O.{.PqG..c?T.P.
0030  bf 68 f6 aa 00 00 47 45 54 20 2f 6a 73 2f 6a 71   .h....GET /js/jq
0040  75 65 72 79 2e 63 6f 6f 6b 69 65 73 64 69 72 65   uery.cookiesdire
0050  63 74 69 76 65 2e 6a 73 20 48 54 54 50 2f 31 2e   ctive.js HTTP/1.
0060  31 0d 0a 48 6f 73 74 3a 20 77 77 77 2e 69 6e 64   1..Host: www.ind
0070  65 78 2e 68 72 0d 0a 55 73 65 72 2d 41 67 65 6e   ex.hr..User-Agen
0080  74 3a 20 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28   t: Mozilla/5.0 (
0090  58 31 31 3b 20 55 62 75 6e 74 75 3b 20 4c 69 6e   X11; Ubuntu; Lin
00a0  75 78 20 69 36 38 36 3b 20 72 76 3a 34 33 2e 30   ux i686; rv:43.0
00b0  29 20 47 65 63 6b 6f 2f 32 30 31 30 30 31 30 31   ) Gecko/20100101
00c0  20 46 69 72 65 66 6f 78 2f 34 33 2e 30 0d 0a 41    Firefox/43.0..A
00d0  63 63 65 70 74 3a 20 2a 2f 2a 0d 0a 41 63 63 65   ccept: */*..Acce
00e0  70 74 2d 4c 61 6e 67 75 61 67 65 3a 20 65 6e 2d   pt-Language: en-
00f0  55 53 2c 65 6e 3b 71 3d 30 2e 35 0d 0a 41 63 63   US,en;q=0.5..Acc
0100  65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a   ept-Encoding: gz
0110  69 70 2c 20 64 65 66 6c 61 74 65 0d 0a 52 65 66   ip, deflate..Ref
0120  65 72 65 72 3a 20 68 74 74 70 3a 2f 2f 77 77 77   erer: http://www
0130  2e 69 6e 64 65 78 2e 68 72 2f 0d 0a 43 6f 6f 6b   .index.hr/..Cook
0140  69 65 3a 20 5f 5f 63 66 64 75 69 64 3d 64 31 65   ie: __cfduid=d1e
0150  66 34 37 33 38 37 36 33 37 65 37 38 37 38 38 32   f47387637e787882
0160  33 37 35 30 35 33 64 38 66 65 65 66 31 63 31 34   375053d8feef1c14
0170  35 32 33 35 33 36 30 35 3b 20 4c 69 6b 65 55 73   52353605; LikeUs
0180  65 72 53 65 74 74 69 6e 67 73 3d 43 75 72 72 65   erSettings=Curre
0190  6e 74 43 61 74 65 67 6f 72 79 3d 30 3b 20 41 53   ntCategory=0; AS
01a0  50 2e 4e 45 54 5f 53 65 73 73 69 6f 6e 49 64 3d   P.NET_SessionId=<----------------
01b0  33 6c 6b 73 72 62 6f 67 66 33 30 31 68 31 71 77   3lksrbogf301h1qw
01c0  76 64 74 76 63 76 73 75 3b 20 73 65 72 76 65 72   vdtvcvsu; server
01d0  49 6e 64 65 78 3d 70 69 32 7c 56 70 71 43 47 0d   Index=pi2|VpqCG.
01e0  0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 6b 65 65   .Connection: kee
01f0  70 2d 61 6c 69 76 65 0d 0a 49 66 2d 4d 6f 64 69   p-alive..If-Modi
0200  66 69 65 64 2d 53 69 6e 63 65 3a 20 57 65 64 2c   fied-Since: Wed,
0210  20 31 36 20 4f 63 74 20 32 30 31 33 20 31 35 3a    16 Oct 2013 15:
0220  31 31 3a 34 34 20 47 4d 54 0d 0a 49 66 2d 4e 6f   11:44 GMT..If-No
0230  6e 65 2d 4d 61 74 63 68 3a 20 57 2f 22 30 62 62   ne-Match: W/"0bb
0240  35 30 36 38 32 63 61 63 65 31 3a 30 22 0d 0a 0d   50682cace1:0"...
0250  0a                                                .

Čitanje sadržaja e-mail poruka se odvija istim principom. Prvo pretražimo TCP pakete za neku ključnu riječ, u ovom slučaju e-mail osobe kojoj se šalje e-mail (fijelicic). Dobijemo četiri paketa sa traženom ključnom riječi. Ako ih bolje pogledamo uočimo da paket broj 148 sadrži POST naredbu koja izvršava "/cpsess984633675/horde/services/ajax.php/imp/sendMessage" skriptu.

filip@filip-VirtualBox:~$ tshark -r email.pcap -Y 'tcp contains "fijelicic"'
 90 24.006057000    10.0.2.15 -> 144.76.37.175 HTTP 1494 POST /cpsess984633675/horde/services/ajax.php/horde/imple?token=5VsFgOdvrHHzwXBt3q_RVso&app=imp&imple=IMP_Ajax_Imple_ContactAutoCompleter&input=to HTTP/1.1  (application/x-www-form-urlencoded)
102 26.179628000    10.0.2.15 -> 144.76.37.175 HTTP 1502 POST /cpsess984633675/horde/services/ajax.php/horde/imple?token=5VsFgOdvrHHzwXBt3q_RVso&app=imp&imple=IMP_Ajax_Imple_ContactAutoCompleter&input=to HTTP/1.1  (application/x-www-form-urlencoded)
142 59.799767000    10.0.2.15 -> 144.76.37.175 HTTP 1503 POST /cpsess984633675/horde/services/ajax.php/horde/imple?token=5VsFgOdvrHHzwXBt3q_RVso&app=imp&imple=IMP_Ajax_Imple_ContactAutoCompleter&input=to HTTP/1.1  (application/x-www-form-urlencoded)
148 64.080487000    10.0.2.15 -> 144.76.37.175 HTTP 1919 POST /cpsess984633675/horde/services/ajax.php/imp/sendMessage HTTP/1.1  (application/x-www-form-urlencoded)

Detaljnijim pregledom paketa 148 možemo uočiti sadržaj e-mail poruke koji glasi "Demonstracija hvatanja e-mail poruke".

filip@filip-VirtualBox:~$ tshark -r email.pcap -x -R frame.number==148 
...
...
0610  68 6d 65 6e 74 73 5f 73 65 6c 65 63 74 3d 30 26   hments_select=0&
0620  4d 41 58 5f 46 49 4c 45 5f 53 49 5a 45 3d 35 32   MAX_FILE_SIZE=52
0630  34 32 38 38 30 30 26 76 63 61 72 64 5f 61 74 74   428800&vcard_att
0640  61 63 68 3d 26 73 61 76 65 5f 73 65 6e 74 5f 6d   ach=&save_sent_m
0650  61 69 6c 3d 31 26 73 61 76 65 5f 73 65 6e 74 5f   ail=1&save_sent_
0660  6d 61 69 6c 5f 6d 62 6f 78 3d 53 55 35 43 54 31   mail_mbox=SU5CT1
0670  67 75 55 32 56 75 64 41 26 70 72 69 6f 72 69 74   guU2VudA&priorit
0680  79 3d 6e 6f 72 6d 61 6c 26 69 64 65 6e 74 69 74   y=normal&identit
0690  79 3d 30 26 74 6f 3d 66 69 6a 65 6c 69 63 69 63   y=0&to=fijelicic
06a0  25 34 30 67 6d 61 69 6c 2e 63 6f 6d 26 63 63 3d   %40gmail.com&cc=
06b0  26 62 63 63 3d 26 73 75 62 6a 65 63 74 3d 54 65   &bcc=&subject=Te
06c0  73 74 26 6d 65 73 73 61 67 65 3d 25 30 44 25 30   st&message=%0D%0
06d0  41 44 65 6d 6f 6e 73 74 72 61 63 69 6a 61 2b 68   ADemonstracija+h<------------
06e0  76 61 74 61 6e 6a 61 2b 65 2d 6d 61 69 6c 2b 70   vatanja+e-mail+p
06f0  6f 72 75 6b 65 26 61 64 64 72 5f 61 63 3d 25 35   oruke&addr_ac=%5
0700  42 25 37 42 25 32 32 61 64 64 72 25 32 32 25 33   B%7B%22addr%22%3
0710  41 25 32 32 66 69 6a 65 6c 69 63 69 63 25 34 30   A%22fijelicic%40
0720  67 6d 61 69 6c 2e 63 6f 6d 25 32 32 25 32 43 25   gmail.com%22%2C%
0730  32 32 69 64 25 32 32 25 33 41 25 32 32 74 6f 25   22id%22%3A%22to%
0740  32 32 25 32 43 25 32 32 69 74 65 6d 69 64 25 32   22%2C%22itemid%2
0750  32 25 33 41 25 32 32 31 25 32 32 25 37 44 25 35   2%3A%221%22%7D%5
0760  44 26 74 6f 6b 65 6e 3d 35 56 73 46 67 4f 64 76   D&token=5VsFgOdv
0770  72 48 48 7a 77 58 42 74 33 71 5f 52 56 73 6f      rHHzwXBt3q_RVso


Osim filtriranja tshark se može koristiti i za prikpuljanje statistika o radu mreže. Naredbom "-z conv,tcp -q" odredimo prikaz statistike za tcp protokol. U prva dva stupca vidimo ip adrese koje su komunicirale, prvi je klijent a drugi server, zatim imamo broj primljenih i poslanih okvira, ukupni broj okvira (po kojem je tablica i sortirana te vrijeme početka i trajanje prijenosa.

filip@filip-VirtualBox:~$ tshark -r stat.pcap -z conv,tcp -q
================================================================================
TCP Conversations
Filter:<No Filter>
                                               |       <-      | |       ->      | |     Total     |    Relative    |   Duration   |
                                               | Frames  Bytes | | Frames  Bytes | | Frames  Bytes |      Start     |              |
10.0.2.15:37451      <-> 208.117.229.217:https     319    415676     200     16620     519    432296    11,845033000         2,5628
10.0.2.15:37587      <-> 208.117.229.251:https     247    320643     136     10433     383    331076    12,122518000         3,9377
10.0.2.15:44311      <-> 161.53.120.190:http       62     81077      48      3409     110     84486     6,000022000         7,5837
10.0.2.15:38065      <-> 208.117.229.247:https      56     63407      35      2900      91     66307    12,423525000         0,3123
10.0.2.15:47901      <-> 173.194.112.12:https      48     26294      38      4051      86     30345    13,148857000         0,5485
10.0.2.15:36635      <-> 31.13.84.36:https         40     33495      32      6958      72     40453     2,150770000         9,1191
10.0.2.15:40692      <-> 104.94.47.153:https       38     49110      23      2280      61     51390     8,706490000         0,2557
10.0.2.15:47856      <-> 208.117.229.214:https      15      5190      16      1467      31      6657    13,170481000         1,2972
10.0.2.15:38078      <-> 54.149.224.177:https      13      4462      14      2785      27      7247     0,396705000         8,7487
10.0.2.15:41149      <-> 216.58.213.164:https       6       414       5       393      11       807     7,376678000         0,0727
10.0.2.15:60125      <-> 216.58.213.163:https       6       414       5       393      11       807     4,371064000         0,0605
10.0.2.15:38098      <-> 216.58.211.42:https        6       414       4       339      10       753     6,374742000         0,0381
10.0.2.15:50169      <-> 161.53.120.3:http          5       826       5       578      10      1404     5,915548000         5,0569
10.0.2.15:42498      <-> 208.117.229.213:https       6       414       4       339      10       753     2,369364000         0,0868
10.0.2.15:41883      <-> 161.53.120.192:http        4      2076       5       642       9      2718     8,370471000         0,0863
10.0.2.15:40559      <-> 208.117.229.217:http       3       559       4      1147       7      1706    11,694516000         0,1203
10.0.2.15:43390      <-> 23.235.43.193:http         3       180       3       162       6       342     5,007002000         5,2509
10.0.2.15:33569      <-> 192.0.80.239:https         2       160       2       154       4       314    13,672907000         0,1968
10.0.2.15:33566      <-> 192.0.80.239:https         2       160       2       154       4       314     6,373347000         0,1654
10.0.2.15:57226      <-> 104.25.10.6:https          2       160       2       154       4       314     5,371955000         0,0265
================================================================================

Usporedba između tshark-a i tcpdump-a

Sličnosti

1. Mnogo opcija za filter prometa
2. Nemaju funkcije alarma za neovlaštene pristupe mreži
3. Nemaju sposobnost manipulacijuom podataka u mreži
4. Ne mogu slati podatke u mrežu
5. Spremaju promet u libpcap formatu
6. Command line alati

Razlike

1. Tshark ima GUI verziju (Wireshark)
2. Tcpdump ima ugrađeni packet flow, za tshark je to odvojeni alat "tcpflow"
3. Tcpdump ima "remote" opciju
4. Tcpdump pokazuje samo TCP/IP protokole dok tshark ima podršku za preko 1100 protokola
5. Tcpdump ima problema sa IPV6 naredbama
6. Tcpdump radi samo na UNIX sustavima (Windows verzija je WinDump), dok tshark radi i na Windows

Literatura

1. Shema, M. Anti-Hacker Tool Kit. (2014)
2. http://www.binarytides.com/tcpdump-tutorial-sniffing-analysing-packets/
3. http://www.computersecuritystudent.com/SECURITY_TOOLS/SNIFFER/lesson1/
4. http://openmaniak.com/tcpdump.php
5. https://amateurhosting.wordpress.com/2010/11/08/tcpdump-to-capture-passwords/
6. http://bencane.com/2014/10/13/quick-and-practical-reference-for-tcpdump/
7. https://danielmiessler.com/study/tcpdump/
8. http://noahdavids.org/self_published/tcpdump.html
9. http://www.tcpdump.org/tcpdump_man.html
10. https://www.wireshark.org/docs/man-pages/tshark.html
11. https://wiki.wireshark.org/CaptureFilters
12. https://www.wireshark.org/docs/wsug_html_chunked/AppToolstshark.html
13. https://hackertarget.com/tshark-tutorial-and-filter-examples/
14. http://linuxsimba.com/tshark-examples/

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima