Tcpdump: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Sissejuhatus==
==Sissejuhatus==
See artikkel on loodud eesmärgiga, tutvustamaks tcpdumpi ning on mõeldud kõigile, kes soovivad seda programmi tundma õppida või jäävad kasutamisel hätta.
See artikkel on loodud eesmärgiga, tutvustamaks Tcpdumpi ning on mõeldud kõigile, kes soovivad seda programmi tundma õppida või jäävad kasutamisel hätta.


Tcpdump on käsurealt käivitatav paketianalüsaator, mis võimaldab salvestada ning kuvada erinevaid võrgus liiklevaid andmepakette. Tcpdump-i näol on tegemist BSD litsentsi all avaldatud vabavaraga. Tcpdump töötab enamikel Unixi distributsioonidel, nagu Linux, Solaris, BSD, Mac OS-X, HP-UX  ja AIX. Nendes süsteemides kasutab tcpdump pakettide püüdmiseks libpcap teeki.
Tcpdump on käsurealt käivitatav paketianalüsaator, mis võimaldab salvestada ning kuvada erinevaid võrgus liiklevaid andmepakette. Tegemist BSD litsentsi all avaldatud vabavaraga. Tcpdump töötab enamikel Unixi distributsioonidel, nagu Linux, Solaris, BSD, Mac OS-X, HP-UX  ja AIX. Nendes süsteemides kasutatakse pakettide püüdmiseks libpcap teeki.


Tcpdump-i  versioon Windowsile kannab nime WinDump.
Windowsile mõeldud versioon kannab nime WinDump.


==Ajalugu==
==Ajalugu==
Line 11: Line 11:
==Kasutusala==
==Kasutusala==


Tcpdump analüüsib võrgu käitumist, suutlikkust ning rakendusi, mis toodavad ning võtavad vastu võrguliiklust. Seda saab kasutada ka võrgu infrastruktuuri analüüsiks, kontrollimaks kas marsruutimine toimub eesmärgipäraselt ning Tcpdumpi kasutatakse samuti ka võrguvigade avastamiseks.
Tcpdump analüüsib võrgu käitumist, suutlikkust ning rakendusi, mis toodavad ning võtavad vastu võrguliiklust. Seda saab kasutada ka võrgu infrastruktuuri analüüsiks, kontrollimaks kas marsruutimine toimub eesmärgipäraselt. Tcpdumpi kasutatakse samuti ka võrguvigade avastamiseks.


Tcpdump-i on võimalik kasutada ka teise kasutaja või arvuti võrguliikluse pealt kuulamiseks. Programm tcpdump võimaldab valida IP aadressi järgi välja mingi arvuti ning hakata vaatlema selle hosti andmevahetust teiste hostidega. Andmete ilmumine toimub terminalis küll teatava viivisega, kuid see-eest võib programmi käima jätta ka pikema aja vältel. Kasutaja, kellel on piisavad kasutajaõigused, võib käituda kui marsruuter või gateway, läbi kelle käib krüpteerimata võrguliiklus (nagu näiteks Telnet või HTTP) ning seeläbi kasutada tcpdump-i, et vaadelda logimise ID-sid, salasõnu, URL-e, kuvatavate veebilehtede sisu või muud krüpteerimata informatsiooni.
Seda programmi on võimalik kasutada ka teise kasutaja või arvuti võrguliikluse pealt kuulamiseks. Tcpdump võimaldab valida IP aadressi järgi välja mingi arvuti ning hakata vaatlema selle hosti andmevahetust teiste hostidega. Andmete ilmumine toimub terminalis küll teatava viivisega, kuid see-eest võib programmi käima jätta ka pikema aja vältel. Kasutaja, kellel on piisavad kasutajaõigused, võib käituda kui marsruuter või gateway, läbi kelle käib krüpteerimata võrguliiklus (nagu näiteks Telnet või HTTP) ning seeläbi kasutada Tcpdump-i, et vaadelda logimise ID-sid, salasõnu, URL-e, kuvatavate veebilehtede sisu või muud krüpteerimata informatsiooni.


Kasutaja võib lisada ka valikulisi BPF-i põhiseid filtreid, et piirata tcpdump-i poolt kuvatavate pakettide arvu. See võimaldab parandada ülevaadet tiheda võrguliiklusega võrgus kuvatavast infost.
Kasutaja võib lisada ka valikulisi BPF-i põhiseid filtreid, et piirata Tcpdump-i poolt kuvatavate pakettide arvu. See võimaldab parandada ülevaadet tiheda võrguliiklusega võrgus kuvatavast infost.


Tcpdump programmiga saab filtreerida liiklust selliste standardsete tunnuste järgi:
Tcpdump programmiga saab filtreerida liiklust järgnevate tunnuste järgi:


    * protokoll (nt tcp, icmp, udp, arp)
* Protokoll (nt tcp, icmp, udp, arp)
    * andmevahetuse lähte ja sihtpunkti port
* Andmevahetuse lähte ja sihtpunkti port
    * andmevahetuse lähte ja sihtpunkti ip aadress
* Andmevahetuse lähte ja sihtpunkti ip aadress
    * ip paketi lippude järgi (nt salvestada vaid SYN pakette)
* IP paketi lippude järgi (nt salvestada vaid SYN pakette)
    * paketi suurus
* Paketi suurus


OpenBSD puhul lisanduvad järgmised võimalused:
* Paketifiltri reegli number,
* Paketifiltri reegline määratud tegevus (pass, block, nat, rdr jt ning logitud liiklus)


 
Tcpdump-i tulemuse saab täies mahus salvestada faili ning ühtlasi on võimalik ka esitada IP- paketti puudutavaid andmeid programmi standardväljundisse. Oluline on teada, et sisenevad paketid paistavad sellisena nagu nad olid enne RDR-teisendust ning väljuvad paketid on sellised nagu nad on peale NAT-teisendust.   
OpenBSD puhul lisanduvad järgmised võimalused
 
    * paketifiltri reegli number,
    * paketifiltri reegline määratud tegevus (pass, block, nat, rdr jt ning logitud liiklus)
 
 
Tcpdump-i tulemuse saab salvestada faili täies mahus ning ühtlasi on võimalik ka esitada IP- paketti puudutavaid andmeid programmi standardväljundisse. Oluline on teada, et sisenevad paketid paistavad sellisena nagu nad olid enne RDR-teisendust ning väljuvad paketid on sellised nagu nad on peale NAT-teisendust.  Andmete tõlgendamine võib esmapilgul olla küllaltki keerukas, kuid süvenemise korral on neist võimalik aru saada.
 


==Haldamine==
==Haldamine==
Line 61: Line 57:
apt-get remove tcpdump
apt-get remove tcpdump
</source>
</source>
==Kasutaja õigused==
Teatud Unix-i sarnastes operatsioonisüsteemides peab kasutajal tcpdump-i kasutamiseks olema “superkasutaja” kasutajaõigused, kuna pakettide püüdmine eeldab kõrgendatud õiguseid. Kasutaja, kellel tavapäraselt kõrgendatud õigusi ei ole, õiguste langetamiseks peale pakettide pealtkuulamise alustamist on ette nähtud -Z lipp. Unixi operatsioonisüsteemides on võimalik pakettide pealtkuulamist lubada ka eri õigusteta kasutajatele, mis peale ei ole “superkasutaja” õigused enam nõutud.


==Lühiülevaade==
==Lühiülevaade==


tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c arv ]
<pre>tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c arv ]
[ -C faili suurus] [ -F failinimi]
[ -C faili suurus] [ -F failinimi]
[ -i liides ] [ -m moodul ] [ -M võti ]
[ -i liides ] [ -m moodul ] [ -M võti ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -r fail ] [ -s püütava info hulk baitides ] [ -T tüüp ] [ -w fail ]
[ -W filecount ]
[ -W failide arv ]
[ -E spi@ipaddr algo:secret,... ]
[ -E spi@ipaddr salastusvõti ]
[ -y datalinktype ] [ -Z user ] [ expression ]
[ -Z kasutaja ] [ avaldis ]</pre>


===Parameetrid===
===Parameetrid===


-A
'''-A'''
Kuva kõik paketid (ASCII). Kasulik veebilehtede kuvamiseks.
Kuva kõik paketid (ASCII). Kasulik veebilehtede kuvamiseks.


-c
'''-c'''
Sulge programm, kui pakettide loendus on lõppenud.
Sulge programm, kui pakettide loendus on lõppenud.


-d
'''-d'''
Salvestab paketi sisu inimloetavale kujule ning lõpetab töö.
Salvestab paketi sisu inimloetavale kujule ning lõpetab töö.


-D
'''-D'''
Kuvab süsteemile nähtavate võrguseadmete nimekirja. Esitatakse võrguseadmega seotud number, liidese nimi ning võimalusel võrguseadme kirjeldus.
Kuvab süsteemile nähtavate võrguseadmete nimekirja. Esitatakse võrguseadmega seotud number, liidese nimi ning võimalusel võrguseadme kirjeldus.
Näidatava võrguliidese nime ja numbrit saab määrata -i parameetriga.
Näidatava võrguliidese nime ja numbrit saab määrata -i parameetriga.
Antud parameeter ei pruugi olla saadaval vanemates tcpdump-i versioonides, kus puudub pcap_findalldevs() funktsioon.
Antud parameeter ei pruugi olla saadaval vanemates tcpdump-i versioonides, kus puudub pcap_findalldevs() funktsioon.


-e
'''-e'''
Kuvab iga rea algusesse paketi päise.
Kuvab iga rea algusesse paketi päise.


-E
'''-E'''
Võimaldab dekrüpteerida ja kuvada ka krüpteeritud pakette (eeldab krüpteerimisvõtme olemasolu).
Võimaldab dekrüpteerida ja kuvada ka krüpteeritud pakette (eeldab krüpteerimisvõtme olemasolu).


-i
'''-i'''
Vaikimisi kuvatakse kõige väiksema numbriga võrguseade. Koos any parameetriga kuvatakse kõik hetkel nähtaval olevad ning infot saatvad/vastu võtvad võrguseadmed.
Vaikimisi kuvatakse kõige väiksema numbriga võrguseade. Koos any parameetriga kuvatakse kõik hetkel nähtaval olevad ning infot saatvad/vastu võtvad võrguseadmed.


-n
'''-n'''
Ära konverteeri aadresse (näiteks hosti aadresse, pordi numbreid jne) nimedeks.
Ära konverteeri aadresse (näiteks hosti aadresse, pordi numbreid jne) nimedeks.


-q
'''-q'''
Kärbitud väljund - kuvatakse vähem protokolli informatsiooni.
Kärbitud väljund - kuvatakse vähem protokolli informatsiooni.


-r
'''-r'''
Kuvatakse eelnevalt failidesse (-w atribuudiga) salvestatud pakette.
Kuvatakse eelnevalt failidesse (-w atribuudiga) salvestatud pakette.


-S
'''-S'''
Kuvatakse absoluutse numbriga järjendinumbrid.
Kuvatakse absoluutse numbriga järjendinumbrid.


-s
'''-s'''
Kinni püütud info hulk baitides (vaikimisi 65535 baiti).
Kinni püütud info hulk baitides (vaikimisi 65535 baiti).


-T
'''-T'''
Parameeter pakettide filtreerimiseks. Hetkel kasutusel olevad tüübid on aodv(Ad-hoc On-demand Distance Vector protocol), cnfp (Cisco NetFlow protocol), rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), snmp (Simple Network Management Protocol), tftp (Trivial File Transfer Protocol), vat (Visual Audio Tool), ja wb (distributed White Board).
Parameeter pakettide filtreerimiseks. Hetkel kasutusel olevad tüübid on aodv(Ad-hoc On-demand Distance Vector protocol), cnfp (Cisco NetFlow protocol), rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), snmp (Simple Network Management Protocol), tftp (Trivial File Transfer Protocol), vat (Visual Audio Tool), ja wb (distributed White Board).


-t
'''-t'''
Ära kuva igal real ajatemplit.
Ära kuva igal real ajatemplit.


-v -vv -vvv
'''-v -vv -vvv'''
Suurenda tagastatava info hulka.
Suurenda tagastatava info hulka.


-w
'''-w'''
Salvesta info failidesse. Hilisemalt on võimalik failide sisu taaskord kasutajale kuvada, kasutades -r parameetrit.
Salvesta info failidesse. Hilisemalt on võimalik failide sisu taaskord kasutajale kuvada, kasutades -r parameetrit.


-X
'''-X'''
Kuva paketi sisu nii kaheksand- kui ka ASCII kujul.
Kuva paketi sisu nii kaheksand- kui ka ASCII kujul.
Väga tõhus tööriist uute protokollide analüüsimisel.
Väga tõhus tööriist uute protokollide analüüsimisel.


-Z
'''-Z'''
Kasutaja kõrgendatud õiguste langetamine pärast pakettide kinnipüüdmist (olles root kasutaja) ning muudab kasutaja ID user-iks.
Kasutaja kõrgendatud õiguste langetamine pärast pakettide kinnipüüdmist (olles root kasutaja) ning muudab kasutaja ID user-iks.


==Näited==


==Näited==
Teatud Unix-i sarnastes operatsioonisüsteemides peab kasutajal tcpdump-i kasutamiseks olema “superkasutaja” kasutajaõigused, kuna pakettide püüdmine eeldab kõrgendatud õiguseid. Kasutaja (kellel tavapäraselt kõrgendatud õigusi ei ole) õiguste langetamiseks peale pakettide pealtkuulamise alustamist on ette nähtud -Z lipp. Unixi operatsioonisüsteemides on võimalik pakettide pealtkuulamist lubada ka eri õigusteta kasutajatele, mis peale ei ole “superkasutaja” õigused enam nõutud.


Kuva konkreetse võrguliidese võrguliiklust:
Kuva konkreetse võrguliidese võrguliiklust:
Line 146: Line 139:
Kuva TCP port 80 võrguliiklust:
Kuva TCP port 80 võrguliiklust:
<pre>tcpdump port http</pre>
<pre>tcpdump port http</pre>


Kuva võrguliiklust, failis ära määratud filtri põhjal:
Kuva võrguliiklust, failis ära määratud filtri põhjal:
Line 154: Line 146:
<pre>vim file_name
<pre>vim file_name
port 80</pre>
port 80</pre>


Peata pakettide salvestamine peale 20. paketti:
Peata pakettide salvestamine peale 20. paketti:
Line 174: Line 165:
<pre>tcpdump -A</pre>
<pre>tcpdump -A</pre>


 
Kuva kõik paketid, mis saabuvad või tulevad hostist nimega sundown:
Kuva kõik paketid mis saabuvad või tulevad hostist nimega sundown:
<pre>tcpdump host sundown</pre>
<pre>tcpdump host sundown</pre>


Line 194: Line 184:
<pre>tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'</pre>
<pre>tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'</pre>


Kuvada kõik IPv4 HTTP paketid, mis seonduvad 80.pordiga, näiteks kuvada ainult paketid, mis sisaldavad andmeid, mitte näiteks SYN ja FIN pakette:
Kuvada kõik IPv4 HTTP paketid, mis seonduvad 80. pordiga, näiteks kuvada ainult paketid, mis sisaldavad andmeid, mitte näiteks SYN ja FIN pakette:
<pre>tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'</pre>
<pre>tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'</pre>


Line 205: Line 195:
Kuva kõik ICMP paketid, mis ei ole echo päringud ega vastused (näiteks mitte ping paketid):
Kuva kõik ICMP paketid, mis ei ole echo päringud ega vastused (näiteks mitte ping paketid):
<pre>tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'</pre>
<pre>tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'</pre>
==Kokkuvõte==
Tcpdump on suure hulga seadistatavate parameetritega palju võimalusi pakkuv võrguliikluse testimise ja jälgimise programm. Esmapilgul võib olla andmete tõlgendamine küllaltki keerukas, kuid süvenemise korral on neist võimalik aru saada.


==Kasutatud Kirjandus==
==Kasutatud Kirjandus==


#http://kuutorvaja.eenet.ee/wiki/V%C3%B5rgudiagnostika#tcpdump
#http://kuutorvaja.eenet.ee/wiki/V%C3%B5rgudiagnostika#tcpdump
#http://en.wikipedia.org/wiki/Tcpdump
#http://en.wikipedia.org/wiki/Tcpdump
#http://www.tcpdump.org/tcpdump_man.html
#http://www.tcpdump.org/tcpdump_man.html
#http://openmaniak.com/tcpdump.php
#http://openmaniak.com/tcpdump.php
#http://linux.die.net/man/8/tcpdump
#http://linux.die.net/man/8/tcpdump
#http://danielmiessler.com/study/tcpdump/
#http://danielmiessler.com/study/tcpdump/
#http://www.alexonlinux.com/tcpdump-for-dummies
#http://www.alexonlinux.com/tcpdump-for-dummies
#http://akadeemia.alweiler.ee/?q=node/282
#http://akadeemia.alweiler.ee/?q=node/282


==Autor==
==Autor==
Katrin Kukk a22
Katrin Kukk A22
 
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 22:14, 24 April 2011

Sissejuhatus

See artikkel on loodud eesmärgiga, tutvustamaks Tcpdumpi ning on mõeldud kõigile, kes soovivad seda programmi tundma õppida või jäävad kasutamisel hätta.

Tcpdump on käsurealt käivitatav paketianalüsaator, mis võimaldab salvestada ning kuvada erinevaid võrgus liiklevaid andmepakette. Tegemist BSD litsentsi all avaldatud vabavaraga. Tcpdump töötab enamikel Unixi distributsioonidel, nagu Linux, Solaris, BSD, Mac OS-X, HP-UX ja AIX. Nendes süsteemides kasutatakse pakettide püüdmiseks libpcap teeki.

Windowsile mõeldud versioon kannab nime WinDump.

Ajalugu

Algupäraselt loodud, 1987. aastal, Van Jacobsoni, Craig Lerese ja Steven McCanne poolt, kes töötasid tol ajal Lawrence Berkley laboratooriumis võrguarenduse grupis.

Kasutusala

Tcpdump analüüsib võrgu käitumist, suutlikkust ning rakendusi, mis toodavad ning võtavad vastu võrguliiklust. Seda saab kasutada ka võrgu infrastruktuuri analüüsiks, kontrollimaks kas marsruutimine toimub eesmärgipäraselt. Tcpdumpi kasutatakse samuti ka võrguvigade avastamiseks.

Seda programmi on võimalik kasutada ka teise kasutaja või arvuti võrguliikluse pealt kuulamiseks. Tcpdump võimaldab valida IP aadressi järgi välja mingi arvuti ning hakata vaatlema selle hosti andmevahetust teiste hostidega. Andmete ilmumine toimub terminalis küll teatava viivisega, kuid see-eest võib programmi käima jätta ka pikema aja vältel. Kasutaja, kellel on piisavad kasutajaõigused, võib käituda kui marsruuter või gateway, läbi kelle käib krüpteerimata võrguliiklus (nagu näiteks Telnet või HTTP) ning seeläbi kasutada Tcpdump-i, et vaadelda logimise ID-sid, salasõnu, URL-e, kuvatavate veebilehtede sisu või muud krüpteerimata informatsiooni.

Kasutaja võib lisada ka valikulisi BPF-i põhiseid filtreid, et piirata Tcpdump-i poolt kuvatavate pakettide arvu. See võimaldab parandada ülevaadet tiheda võrguliiklusega võrgus kuvatavast infost.

Tcpdump programmiga saab filtreerida liiklust järgnevate tunnuste järgi:

  • Protokoll (nt tcp, icmp, udp, arp)
  • Andmevahetuse lähte ja sihtpunkti port
  • Andmevahetuse lähte ja sihtpunkti ip aadress
  • IP paketi lippude järgi (nt salvestada vaid SYN pakette)
  • Paketi suurus

OpenBSD puhul lisanduvad järgmised võimalused:

  • Paketifiltri reegli number,
  • Paketifiltri reegline määratud tegevus (pass, block, nat, rdr jt ning logitud liiklus)

Tcpdump-i tulemuse saab täies mahus salvestada faili ning ühtlasi on võimalik ka esitada IP- paketti puudutavaid andmeid programmi standardväljundisse. Oluline on teada, et sisenevad paketid paistavad sellisena nagu nad olid enne RDR-teisendust ning väljuvad paketid on sellised nagu nad on peale NAT-teisendust.

Haldamine

Tcpdump-i installeerimine:

apt-get install tcpdump

Näitab, millistest programmidest sõltub Tcpdump:

apt-cache depends tcpdump

Kuvab tcpdump-ist sõltuvad programmid:

apt-cache rdepends tcpdump

Kuvab Tcpdump-i versiooni:

apt-cache policy tcpdump

Kustutab Tcpdump-i:

apt-get remove tcpdump

Lühiülevaade

tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c arv ]
[ -C faili suurus] [ -F failinimi]
[ -i liides ] [ -m moodul ] [ -M võti ]
[ -r fail ] [ -s püütava info hulk baitides ] [ -T tüüp ] [ -w fail ]
[ -W failide arv ]
[ -E spi@ipaddr salastusvõti ]
[ -Z kasutaja ] [ avaldis ]

Parameetrid

-A Kuva kõik paketid (ASCII). Kasulik veebilehtede kuvamiseks.

-c Sulge programm, kui pakettide loendus on lõppenud.

-d Salvestab paketi sisu inimloetavale kujule ning lõpetab töö.

-D Kuvab süsteemile nähtavate võrguseadmete nimekirja. Esitatakse võrguseadmega seotud number, liidese nimi ning võimalusel võrguseadme kirjeldus. Näidatava võrguliidese nime ja numbrit saab määrata -i parameetriga. Antud parameeter ei pruugi olla saadaval vanemates tcpdump-i versioonides, kus puudub pcap_findalldevs() funktsioon.

-e Kuvab iga rea algusesse paketi päise.

-E Võimaldab dekrüpteerida ja kuvada ka krüpteeritud pakette (eeldab krüpteerimisvõtme olemasolu).

-i Vaikimisi kuvatakse kõige väiksema numbriga võrguseade. Koos any parameetriga kuvatakse kõik hetkel nähtaval olevad ning infot saatvad/vastu võtvad võrguseadmed.

-n Ära konverteeri aadresse (näiteks hosti aadresse, pordi numbreid jne) nimedeks.

-q Kärbitud väljund - kuvatakse vähem protokolli informatsiooni.

-r Kuvatakse eelnevalt failidesse (-w atribuudiga) salvestatud pakette.

-S Kuvatakse absoluutse numbriga järjendinumbrid.

-s Kinni püütud info hulk baitides (vaikimisi 65535 baiti).

-T Parameeter pakettide filtreerimiseks. Hetkel kasutusel olevad tüübid on aodv(Ad-hoc On-demand Distance Vector protocol), cnfp (Cisco NetFlow protocol), rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp (Real-Time Applications control protocol), snmp (Simple Network Management Protocol), tftp (Trivial File Transfer Protocol), vat (Visual Audio Tool), ja wb (distributed White Board).

-t Ära kuva igal real ajatemplit.

-v -vv -vvv Suurenda tagastatava info hulka.

-w Salvesta info failidesse. Hilisemalt on võimalik failide sisu taaskord kasutajale kuvada, kasutades -r parameetrit.

-X Kuva paketi sisu nii kaheksand- kui ka ASCII kujul. Väga tõhus tööriist uute protokollide analüüsimisel.

-Z Kasutaja kõrgendatud õiguste langetamine pärast pakettide kinnipüüdmist (olles root kasutaja) ning muudab kasutaja ID user-iks.

Näited

Teatud Unix-i sarnastes operatsioonisüsteemides peab kasutajal tcpdump-i kasutamiseks olema “superkasutaja” kasutajaõigused, kuna pakettide püüdmine eeldab kõrgendatud õiguseid. Kasutaja (kellel tavapäraselt kõrgendatud õigusi ei ole) õiguste langetamiseks peale pakettide pealtkuulamise alustamist on ette nähtud -Z lipp. Unixi operatsioonisüsteemides on võimalik pakettide pealtkuulamist lubada ka eri õigusteta kasutajatele, mis peale ei ole “superkasutaja” õigused enam nõutud.

Kuva konkreetse võrguliidese võrguliiklust:

tcpdump -i eth0

Kuva võrgus liiklevaid UDP pakette:

tcpdump udp

Kuva TCP port 80 võrguliiklust:

tcpdump port http

Kuva võrguliiklust, failis ära määratud filtri põhjal:

tcpdump -F file_name

Loo fail, kus on eelseadistatud filter (antud juhul TCP 80.port):

vim file_name
port 80

Peata pakettide salvestamine peale 20. paketti:

tcpdump -c 20

Saada salvestise väljavõte faili, selle asemel, et otse ekraanile kuvada:

tcpdump -w capture.log

Loe eelsalvestatud faili sisu:

tcpdump -r capture.log

Kuva pakette, mille algallikas või sihtmärk on “www.openmaniak.com”:

tcpdump host www.openmaniak.com

Kuva FTP pakette, mis pärinevad aadressilt 192.168.1.100 ning on suunatud aadressile 192.168.1.2:

tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp

Kuva pakettide sisu:

tcpdump -A

Kuva kõik paketid, mis saabuvad või tulevad hostist nimega sundown:

tcpdump host sundown

Kuva helios’e ja hot’i või ace’i vaheline võrguliiklus:

tcpdump host helios and \( hot or ace \)

Kuva kõik ace’i ning kõikide hostide, v.a helios’e, vahelised IP paketid:

tcpdump ip host ace and not helios

Kuva kogu ftp pakettide võrguliiklus läbi interneti gateway ‘snup’:

tcpdump 'gateway snup and (port ftp or ftp-data)'

Pöörata tähelepanu sellele, et väljend on jutumärkides, et tcpdump-i kest käsku valesti ei tõlgendaks.

Kuva võrguliiklust, mis ei tulene ega ei ole saadetud localhost’i:

tcpdump ip and not net localnet

Kuva kõikide mitte-localhost’ide alguse ja lõpu (SYN ja FIN) paketid:

tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Kuvada kõik IPv4 HTTP paketid, mis seonduvad 80. pordiga, näiteks kuvada ainult paketid, mis sisaldavad andmeid, mitte näiteks SYN ja FIN pakette:

tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

Kuva pikemaid kui 576 baidiseid pakette, mis liiguvad läbi gateway snup:

tcpdump 'gateway snup and ip[2:2] > 576'

Kuva kõik IP broadcast või multicast paketid, mis ei ole saadetud läbi ethernet-i broadcasti või multicasti.

tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Kuva kõik ICMP paketid, mis ei ole echo päringud ega vastused (näiteks mitte ping paketid):

tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Kokkuvõte

Tcpdump on suure hulga seadistatavate parameetritega palju võimalusi pakkuv võrguliikluse testimise ja jälgimise programm. Esmapilgul võib olla andmete tõlgendamine küllaltki keerukas, kuid süvenemise korral on neist võimalik aru saada.

Kasutatud Kirjandus

  1. http://kuutorvaja.eenet.ee/wiki/V%C3%B5rgudiagnostika#tcpdump
  2. http://en.wikipedia.org/wiki/Tcpdump
  3. http://www.tcpdump.org/tcpdump_man.html
  4. http://openmaniak.com/tcpdump.php
  5. http://linux.die.net/man/8/tcpdump
  6. http://danielmiessler.com/study/tcpdump/
  7. http://www.alexonlinux.com/tcpdump-for-dummies
  8. http://akadeemia.alweiler.ee/?q=node/282

Autor

Katrin Kukk A22