Tshark
Sissejuhatus
Tshark on rakendus võrguliikluse jälgimiseks ja analüüsiks.
Oma olemuselt on tshark käsurealt kasutatav Wireshark, ka kasutatavad failitüübid on samad.
Tsharki levitatakse koos Wiresharkiga GNU GPL litsentsi alusel.
Eeldused
Tshark on kasutatav nii Windowsi kui Unixi keskkonnas
Paigaldamiseks on vaja administraatori õiguseid.
Soovitatav on varasem kogemus käsurea tööriistadega ja elementaarsed teadmised tcp/ip võrgust.
Paigaldamine
Linuxi keskkonnas tsharki paigaldamine
(Debian, Ubuntu)
sudo apt-get install tshark
(RedHat/Fedora)
sudo yum install tshark
Windowsi keskkonnas tsharki kasutamiseks tuleb paigaldada hoopis Wireshark, kuna tsharki levitatakse viimasega koos. Paigaldamiseks tuleb käivitada operatsioonisüsteemile vastav installatsioonifail, näiteks wireshark-win64-1.4.6.exe
Kasutatavad võtmed
Kuna kasutatavaid võtmeid on väga palju, siis alustuseks olulisemad.
-a <jälgimise lõpetamise tingimus>
duration:<sekundeid>
filesize:<kilobaiti>
files:<failide arv>
-b <salvestamise ringpuhvri seaded>
Faile kirjutatakse järgemööda üle, kui eelmine on täis saanud. Kasutatavad tingimused on samad kui eelmisel võtmel.
Näiteks teha viis ühemegabaidist faili, mida siis järgemööda üle kirjutatada:
tshark -b filesize:1024 -b files:5
-B <jälgmispuhvri suurus megabaitides>
-c <jälgitavate pakettide arv>
-C <konfiguratsiooni profiil> laetakse vastav profiil
-d <layer type>==<selector>,<decode-as protocol> Võimaldab määrata, kuidas valitud paketid dekodeeritakse Näiteks dekodeeri kõik TCP port 8888 paketid kui HTTP
tshark -d tcp.port==8888,http
-D kuvab võrguadapterid, mille liiklust saab jälgida. NB! Tavakasutaja õigused ei pruugi olla piisavad korrektse vastuse saamiseks.
-e <väli> lisab välja kuvatavate väljade hulka , kasutatakse koos võtmega -T näiteks
tshark -e frame.number -e ip.addr -e udp
-T pdml|psml|ps|text|fields salvestatava faili vormingu valimiseks
pdml Packet Details Markup Language
psml Packet Summary Markup Language
ps PostScript
text tekstifail
fields -e võtmega määratud väljad CSV vormingus mõnda teise programmi importimiseks
-f <jälgimise filter>
-F < faili vorming>
-i <jälgitav adapter> Näiteks -i eth0
-r <fail> faili lugemiseks
-w <failinimi> salvestatav fail
-R <kuvamisfilter> kuvatakse ainult filtri tingimustele vastav sisu failist näiteks
tshark -R "ip.addr == 192.168.0.1" -r /tmp/capture.cap
Filtri koostamise spikker
“Ethernet address 00:08:15:00:08:15” eth.addr == 00:08:15:00:08:15 “Ethernet type 0×0806 (ARP)” eth.type == 0×0806 “Ethernet broadcast” eth.addr == ff:ff:ff:ff:ff:ff “No ARP” not arp “IP only” ip “IP address 192.168.0.1” ip.addr == 192.168.0.1 “IP address isn't 192.168.0.1, don't use != for this!” !(ip.addr == 192.168.0.1) “IPX only” ipx “TCP only” tcp “UDP only” udp “UDP port isn't 53 (not DNS), don't use != for this!” !(tcp.port == 53) “TCP or UDP port is 80 (HTTP)” tcp.port == 80 || udp.port == 80 “HTTP” http “No ARP and no DNS” not arp and not (udp.port == 53) “Non-HTTP and non-SMTP to/from 192.168.0.1” not (tcp.port == 80) and not (tcp.port == 25) and ip.addr == 192.168.0.1
Statistika kuvamine
-z <statistika> võimaldab failist lugemisel kuvada erinevat statistikat
näiteks genereeri ühe sekundilise intervalliga statistikat aadressil 1.2.3.4 toimuvast liiklusest
tshark -z io,stat,1,ip.addr==1.2.3.4
kuva kõikide tcp pakkettide lähtepordid
tshark -z "proto,colinfo,tcp.srcport,tcp.srcport"
Kuva kõikide pilte kandvate http pakettide content_type ja content_length väljad
tshark -R "http.response and http.content_type contains image" -z "proto,colinfo,http.content_length,http.content_length" -z "proto,colinfo,http.content_type,http.content_type"
Seadistamine
Globaalsed seaded asuvad installatsioonikataloogis /share alamkataloogis. Personaalsed seaded asuvad $HOME/.wireshark/preferences kataloogis, Windwsi keskkonnas %USERPROFILE%\Application Data\Wireshark\preferences\
Kõigepealt loetakse globaalsed seaded ja seejärel personaalsed (juhul kui need eksisteerivad). Käiku lähevad viimasena loetud seadeid või -o võtmega määratud seaded
Konfiguratsioonifaili seaded on kujul
seade:<väärtus>
Kokkuvõte
Tsharki näol on tegemist paljude võimalustega võimsa tööriistaga, mis ühildub hästi erinevate operatsioonisüsteemide ning tarkvaraga. Kui graafilise kasutajaliidese kasutamine pole võimalik, on tshark vääriline alternatiiv võrguliikluse analüüsimiseks. Samas võtab selline võimalusterohkus lõivu kasutusmugavuselt. Kasutatavaid võtmeid on rohkem kui tähestikus tähti ja seetõttu peab käsku sisestades väga tähelepanelik olema, eriti kui see käsk koos kõigi oma võtmete ja parameetritega ulatub üle mitme rea. Seega, kui vaja käsurea tingimustes võrguliiklust analüüsida, on tshark igati sobilik tööriist. Aga kui on vaja vaid jälgida, mis võrgus liigub, siis kõlbab selleks ka lihtsamini kasutatav tcpdump, mille tekitatud faile saab vajadusel tsharkiga põhjalikumalt analüüsida.
Kasutatud materjalid
http://www.wireshark.org/docs/man-pages/tshark.html
http://www.codealias.info/technotes/the_tshark_capture_and_filter_example_page
Autor Priit Lume AK31