Johdanto Verkon analysointi – kuunteluohjelma Ethereal Sisllys Verkon analysointi – kuunteluohjelma Ethereal<"#_Toc508423688">* 1 Johdanto<"#_Toc508423689">* 2 Ohjelman kytttarkoitus<"#_Toc508423690">* 3 Mit ohjelmalla voi tehd<"#_Toc508423691">* 4 Syntaksi<"#_Toc508423692">* 5 Ohjelman ulkoasu<"#_Toc508423693">* 6 Ohjelman kytt<"#_Toc508423694">* 7.1 IPv6<"#_Toc508423695">* 7.2 NetWare Core Protocol<"#_Toc508423696">* 7.3 SNMP<"#_Toc508423697">* 8 Raportit<"#_Toc508423698">* 9 Lhteet<"#_Toc508423699">* Liite 1 Protokollaluettelo<"#_Toc508423700">* 1 Johdanto Ethereal- ohjelmalla voi selata verkon liikennett eli se on nk. "snifferi" Unixille ja Unixin kaltaisille kyttjrjestelmille. Etherealilla antaa hydyllist tietoa verkon tapahtumista ja sen avulla on helppo oppia kytnnss tietoliikenteen perusteita, erityisesti protokollista sek kehyksist. Tm tutkielma on tehty harjoitustyn Liisa Marttisen kevll 2001 luennoimalle Tietoliikenne II –kurssille Tietojenksittelytieteen laitoksella. Tt tyt ei ole tarkoitettu jaettavaksi kurssin ulkopuolelle. Kirjoittaja ei ota vastuuta lukijan mahdollisesta omatoimisesta ohjelman kytst tai siihen opastamisesta. Koska ohjelmaa voi kytt mys tietomurtojen apuvlineen, sen kyttn on pyydettv lupa verkon yllpitjlt. Ota huomioon, ett ilman lupaa kytettyn Etherealin kytt voi johtaa oikeudellisiin toimiin. Lisoppia verkon kuuntelusta lytyy internetist ja kurssikirjojen lisksi esimerkiksi Esa Kerttulan kirjasta Tietoverkkojen tietoturva [Ker98]. 2 Ohjelman kytttarkoitus Ethereal on verkkoprotokollien analysointiohjelma [Eth01]. Etherealilla on mahdollista testata verkon turva-aukkoja, napata tietoa kuten kyttjtunnuksia, salasanoja, kytettyj protokollia ja mink tyyppist tietoa verkossa kulkee ja mink verran. Analysointi on suhteellisen yksinkertaista jo Tietoliikenne I-kurssin kyneille. Ethereal mahdollistaa pakettien selaamisen reaaliaikaisesti verkosta. Katselu tapahtuu sieppaustiedostosta (capture), johon on talletettu tapahtumat. Etherealille ei tarvitse mritell, mink tyyppist tiedostoa luetaan, koska se osaa itse ptell tiedostomuodon. Tiedot napataan avonaisesta verkkoyhteydest. Ethereal on yksi monipuolisimmista verkon kuunteluohjelmista (beta –ohjelma), joka on kyttkelpoinen jo nyt. Se ei ole tydellinen, mutta virheit korjataan ja uusiin versioihin listn ominaisuuksia koko ajan. Ethereal on <"http://www.opensource.org/">Open Source –ohjelmisto, joka on julkaistu <"http://www.gnu.org/">GNU:n (General Public License [GNU01]) luvalla. Kyttj joutuu luopumaan oikeuksistaan (ns. Disclaimer-ehto), koska ohjelman kehittjt eivt – tietenkn - anna tuotteeseen minknlaista takuuta, ei eksplisiittist tai implisiittist. Ohjelmaa voi kytt vain omalla vastuulla. ______________________________________________________________ Wiretap-kirjaston avulla Ethereal voi lukea useita tiedostotyyppej. Ethereal pystyy lukemaan siepattua tietoa seuraavilta : tcpdump (libpcap, Ethernet) NAI's Sniffer (compressed and uncompressed) Sniffer Pro NetXray Snoop, Atmsnoop LANalyzer Shomiti AIX's iptrace MS Network Monitor Novell's LanAlyzer RADCOM's WAN/LAN Analyzer HP-UX nettl, ISDN4BSD "i4btrace" utility Cisco Secure Intrustion Detection System iplogging sek the pppd-okit (pppdump-muotoiset tiedostot) Ethereal voi seurata jlki mys Lucent/Ascend (access) WAN reitittimist ja Toshiban ISDN-reitittimist. Mik tahansa nist tiedostoista voidaan kompressoida gzipill ja Ethereal purkaa ne lennosta. ______________________________________________________________ Reaaliaikaista dataa voi lukea Ethernet-, FDDI-, PPP-, Token-ring-, X.25- tai Classical IP-verkoista ATM-rajapinnan (Asynchronous Transfer Mode) kautta. Siepattua verkon tietoa voi selata GUI- (Graphical User Interface) tai TTY-muodossa (Teletype) Tethereal –ohjelman avulla (Etherealin ’sisarohjelma’ [Tet01]). Sieppaustiedostoja voi ohjelmoimalla muuttaa tai konvertoida komentorivin kautta Editcap-ohjelmalla [Edi01]. Etherealin tulospikkuna nytt kolme nkym paketeista: yhteenvetorivi kuvaa lyhyesti, mik paketti on. Protokollapuu antaa nkyviin protokollan tai kentn, josta kyttj on kiinnostunut. Hexadesimaali-dumppi nytt tarkasti, milt paketti nytt kun se menee verkossa. Verrattuna muihin verkon analysointiohjelmiin Etherealilla on paljon muokattavia filttereit. Lisksi Ethereal osaa koota paketit TCP kommunikoinnista ja nytt ne ASCII:na. 3 Mit ohjelmalla voi tehd Paketin jljittmiseen on tehty apuvlineeksi mahdollisuus suodattaa lopputuloksiin vain tiettyj protokollia. Tm vaikuttaa lopputulosrivien mrn. Filtterinnill (ks. kaavio 3.1) voi protokollan kentti verrata tiettyyn haluttuun arvoon, kentti keskenn tai tarkistaa tiettyjen kenttien tai protokollien olemassaolo. Kaavio 3.1 Etherealin kytn aloitus Vertailuoperaattorit ovat eq == yht suuri (EQual), ne != erisuuri (Not Equal), gt > suurempi kuin (Greater than), lt < pienempi kuin (Less Than), ge >= suurempi tai yht suuri kuin (Greater than or Equal to) sek le <= pienempi tai yht suurikuin (Less than or Equal to). Ethereal tukee seuraavia rajapintoja ja pakettityyppej: AARP, AFS, AH, AIM, ARP, ASCEND, ATM, AUTO_RP, BGP, BOOTP, BOOTPARAMS, BROWSER, BXXP, CDP, CGMP, CLNP, CLTP, COPS, COTP, DATA, DDP, DDTP, DEC_STP, DIAMETER, DNS, EIGRP, ESIS, ESP, ETH, EX.25, FDDI, FR, FRAME, FTP, FTP-DATA, GIOP, GRE, GVRP, H1, H261, HSRP, HTTP, ICMP, ICMPV6, ICP, ICQ, IGMP, IGRP, ILMI, IMAP, IP, IPCOMP, IPP, IPV6, IPX, IPXMSG, IPXRIP, IPXSAP, IRC, ISAKMP, ISIS, ISIS_CSNP, ISIS_HELLO, ISIS_LSP, ISIS_PSNP, ISL, IUA, KERBEROS, L2TP, LANE, LANMAN, LAPB, LAPBETHER, LAPD, LDAP, LDP, LLC, LPD, M3UA, MAILSLOT, MALFORMED, MAPI, MIP, MOUNT, MP, MPLS, MSPROXY, NBDGM, NBIPX, NBNS, NBP, NBSS, NCP, NETBIOS, NETLOGON, NFS, NLM, NNTP, NTP, NULL, OSPF, PIM, POP, PORTMAP, PPP, PPPOED, PPPOES, PPTP, Q2931, Q931, QUAKE, RADIUS, RIP, RIPNG, RLOGIN, RPC, RSH, RSVP, RTCP, RTMP, RTP, RTSP, RX, SAP, SCTP, SDP, SHORT, SIP, SLL, SMB, SMTP, SMUX, SNA, SNMP, SOCKS, SPX, SRVLOC, SSCOP, STAT, STP, SYSLOG, TACACS, TCP, TELNET, TEXT, TFTP, TIME, TNS, TPKT, TR, TRMAC, UDP, V120, VINES, VINES_FRP, VINES_SPP, VLAN, VRRP, VTP, WAP-WSP, WAP-WSP-WTP, WCCP, WHO, WLAN, X.25, X11, XOT, YHOO, YPBIND, YPSERV, YPXFR, ZEBRA Protokollat valitaan sieppauksen alussa (ks. kaavio 3.2). Kaavio 3.2 Protokollien valinta Ethereal kytt GTK+ -graafista kyttliittymkirjastoa ja libpcap –pakettikaappausta sek protokollien filtterintikirjastoa. Jos haluat katsota esimerkiksi kaikki paketit, jotka sisltvt ARP-osoitteenmuunnosprotokollan (Address Resolution Protocol), filtteri on ARP ja vastaavasti liitteen 1 luettelon mukaan. 4 Syntaksi Kaaviossa 4.1 on Ethereal -ohjelman syntaksi. Katso listietoja man-komennolla tai readme-tiedostosta. ______________________________________________________________ ethereal [ -B bittinkymn korkeus alaruudussa ] [ -c pakettilaskuri ] [ -f filtterin kuvaus ] [ -h versio ja optiot ] [ -i verkon rajapinta ] [ -k istunnon aloitus vlittmsti ] [ -m kirjasintyyppi tekstille ] [ -n est name resolutionin (esim. host, TCP- ja UDP -porttien nimet) ] [ -o asetukset esim. halutut arvot ] ... [ -p satunnaisen tilan esto ] [ -P pakettilistan korkeus ylruudussa ] [ -Q lopetus istunnon jlkeen ] [ -r lukee paketit tiedostosta ] [ -R filtterin kuvaus ] [ -S mrittelee paketin sieppauksen erilliseksi prosessiksi] [ -s sieppausotoksen pituus bittein ] [ -T puunkymn korkeus keskiruudussa ] [ -t paketin aikaleiman muoto pakettilistassa ] [ -v versio ] [ -w talletettava tiedosto ] ______________________________________________________________ Kaavio 4.1 Etherealin syntaksi 5 Ohjelman ulkoasu Kuva 5.1 Lopputulokset, nkyvill ovat kaikki kolme ruutua. Pikkuna (ks. kuva 5.1) on jaettu kolmeen ruutuun, joiden kokoa voi muuttaa. Ylruutu sislt listan verkkopaketeista, rivej voi selata. Jokaisesta paketista nytetn oletuksena pakettinumero, paketin aikaleima, lhdeosoite ja kohdeosoite, protokolla sek kuvaus paketista. Paketti merkitn klikkaamalla hiirell rivi. Sarakkeita voi valita jrjestettvksi mink tahansa otsikon mukaan. Muutokset asetuksiin lytyvt ylvalikosta Preferences. Kertty tieto nytetn mahdollisimman ylhll protokollapinossa esimerkiksi IP-osoitteet nytetn IP-paketteina, mutta MAC-kerroksen osoitteet nytetn tuntemattomana pakettityyppin. Keskiruutu sislt protokollapuun valituille paketeille. Puu nytt jokaisen kentn ja sen arvon jokaisesta pinon protokollaotsakkeesta. Alaruutu sislt heksadesimaalidumpin todellisesta paketin datasta. Valittu protokollapuun kentt nytt vastaavat jakson bitit. Kun protollapuusta on valittu kentt, vastaavat tmn jakson biti korostuvat. Kytetty filtteri nkyy alareunassa, esimerkiksi filtteri HTTP, HTTPS ja DNS: tcp.port == 80 || tcp.port == 443 || tcp.port == 53 6 Ohjelman kytt Ethereal -analysaattori tarvitsee kyttjrjestelmn mukaisen Winpcap-pakettiajurin asentamisen asennushakemistoon. Muuten ohjelma asentui melkein ensi yrittmll. Ethereal on knnettviss ja suoritettavissa seuraavissa jrjestelmiss: - Linux (2.0.x, 2.1.x, 2.2.x, 2.3.x, 2.4.x) - Solaris (2.5.1, 2.6, 7) - FreeBSD (2.2.5, 2.2.6, 3.1, 3.2, 3.3) - Sequent PTX v4.4.5 - Tru64 UNIX (entinen Digital UNIX) (3.2, 4.0) - Irix (6.5) - AIX (4.3.2, with a bit of work) sek - Win32 (NT, 98) Ohjelman pitisi olla suoritettavissa muissakin Unix-ish jrjestelmiss. Asentamisohjeet lytyvt Etherealin Install-tiedostosta, eri kyttjrjestelmille lytyy vielp erilliset Readme -tiedostot. Saadaksesi siepattua paketteja verkosta, sinun tytyy olla kirjautuneena pkyttjksi (ns. root) tai pst verkkoon esim. jttmll kannettavan tietokoneen kytkettyn verkkoon. Tllaisia tilanteita voi synty esimerkiksi kirjaston koneilla, opiskelupaikkojen tietokoneluokissa tai yritysten neuvotteluhuoneissa. Etherealin tekijt kuitenkin varoittavat Etherealin suorittamisesta setuid rootina, koska ohjelma sislt turva-aukkoja. 7.1 IPv6 Ethereal pyrkii kyttmn reverse name resolution- mahdollisuutta IPv6-paketeille, jos kyttjrjestelm tulee IPv6.versiota. Jos et halua kytt name resolution -ominaisuutta, IPv6-paketeista nkyy vain IPv6-osoitteet, mutta isntkoneiden nimet eivt ny. 7.2 NetWare Core Protocol NCP-pakettityyppej on yli 400. NCP-analysaattori ei tunne kaikkia niit, mutta uusiin versioihin tukea listn vhitellen. 7.3 SNMP Ethereal osaa tehd perusmuunnoksia SNMP-paketeille. Mys ulkoinen SNMP-kirjasto on kytettviss vaativiin muunnoksiin. Asennuskoodi mrittelee automaattisesti mit kirjastoa jrjestelm kytt. 8 Raportit Etherealista saa mielenkiintoisia ja yllttvn laajoja raportteja, joiden katseluun tosin tarvitsee itse ohjelman, ellei niit kaappaa nytlt. Ohjelma nytt mys yhteenvedon siepatuista tiedoista (ks. kaavio 8.1). Kaavio 8.1 Yhteenveto tuloksista. Tulosteet voi joko tulostaa tai tallentaa muistiin tai tiedostoksi. Nytll olevaa dataa voi saada eri muodoissa kytten protokollasuodattimia (ks. kappaleen 3 protokollalistaus). Nytll voi jokaisen paketin tiedot merkata ja katsoa yhteenvedon paketeista. Kaikki siepattu tieto verkosta voidaan tallettaa tiedostoksi ((plain teksti tai PostScript). 9 Lhteet [Eth01] Ethereal network analyzer <"http://www.ethereal.com/">http://www.ethereal.com/ [Tet01]Tethereal <"http://www.ethereal.com/tethereal.1.html">http://www.ethereal.com/tethereal.1.html [GNU01]GNU <"http://www.gnu.org/">http://www.gnu.org/ [Edi01] Editcap <"http://www.ethereal.com/editcap.1.html">http://www.ethereal.com/editcap.1.html [Ker98]Kerttula, Esa, Tietoverkkojen tietoturva, Edita, Helsinki, 1998. Liite 1 Protokollaluettelo Ethereal -verkkoanalysaattorin ymmrtmt protokollat. ______________________________________________________________ AARPAppletalk Address resolution protocol AFSAndrew file system AHAuthentication header AIMAOL Instant Messanger ARPAddress Resolution Protocol ASCENDLucent/Ascend debug output ATM Asyncronous Transfer Mode LANEATM LAN Emulation VINES_FRPBanyan Vines Fragmentation Protocol VINES_SPPBanyan Vines SPP BXXPBlocks eXtensible eXchange Protocol BOOTPbootparams Boot Parameters Bootstrap Protocol BGPBorder Gateway Protocol AUTO_RPCisco Auto-RP CDPCisco Discovery Protocol CGMPCisco Group Management Protocol HSRPCisco Hot Standby Router Protocol ISL Cisco ISL IGRPCisco Interior Gateway Routing Protocol COPSCommon Open Policy Service DEC_STP DEC Spanning Tree Protocol DATA Data DDPDatagram Delivery Protocol DIAMETER Diameter Protocol DNS Domain name service DDTPDynamic DNS Tools Protocol ESPEncapsulated Security Payload EIGRPEnhanced Interior Gateway Routing Protocol ETHEthernet EX.25Extended X.25 (modulo 128) FTP-DATA FTP Data FDDI Fiber Distributed Data Interface FTP File Transfer Protocol FRAMEFrame FRFrame relay GVRPGARP VLAN Registration Protocol GIOPGeneral Inter-ORB Protocol GREGeneric Routing Encapsulation HTTPHypertext Transfer Protocol ICQProtocol WLANIEEE 802.11 wireless LAN IPCOMPPayload Compression IPXMSGMessage IPXRIPIPX Routing Information Protocol IUAISDN Q.921-User Adaptation Layer ISIS HELLO isis_hello ISIS_CSNPISO 10589 ISIS Complete Sequence Numbers Protocol Data Unit ISISISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol ISIS_LSPISO 10589 ISIS Link State Protocol Data Unit ISIS_PSNPISO 10589 ISIS Partial Sequence Numbers Protocol Data Unit COTPISO 8073 COTP Connection-Oriented Transport Protocol CLNPISO 8473 CLNP ConnectionLess Network Protocol CLTPISO 8602 CLTP ConnectionLess Transport Protocol ESISISO 9542 ESIS Routing Information Exchange Protocol H261ITU-T Recommendation H.261 ICPInternet Cache Protocol ICMPInternet Control Message Protocol ICMPv6Internet Control Message Protocol v6 IGMPInternet Group Management Protocol IMAPInternet Message Access Protocol IPPInternet Printing Protocol IPInternet Protocol IPv6Internet Protocol Version 6 IRCInternet Relay Chat ISAKMPInternet Security Association and Key Management Protocol IPXInternetwork Packet eXchange KERBEROSKerberos LDPLabel Distribution Protocol L2TPLayer 2 Tunneling Protocol LDAPLightweight Directory Access Protocol LPDLine Printer Daemon Protocol LAPBLink Access Procedure Balanced LAPBETHERLink Access Procedure Balanced Ethernet LAPDLink Access Procedure, Channel D SLLLinux cooked-mode capture LLCLogical-Link Control ASCENDLucent/Ascend debug output MAPIMail/Messaging Applications Programming Interface [Microsoft] MSPROXYMS Proxy Protocol M3UAMTP 3 User Adaptation Layer MALFORMEDMalformed Frame BROWSERMicrosoft Windows Browser Protocol LANMANMicrosoft Windows Lanman Protocol NETLOGONMicrosoft Windows Logon Protocol MIPMobile IP MOUNTMount Service MPLSMultiProtocol Label Switching Header NBPName Binding Protocol NETBIOSNetbios NBDGMNetBIOS Datagram Service NBNSNetBIOS Name Service NBSSNetBIOS Session Service NBIPXNetBIOS over IPX NCPNetWare Core Protocol NFSNetwork File System NLMNetwork Lock Manager Protocol NNTPNetwork News Transfer Protocol NTPNetwork Time Protocol NULLNull/Loopback OPSFOpen Shortest Path First MPPPP Multilink Protocol PPPOEDPPP-over-Ethernet Discovery PPPOESPPP-over-Ethernet Session PPPPoint-to-Point Protocol PPTPPoint-to-Point Tunnelling Protocol PORTMAPPortmap POPPost Office Protocol PIMProtocol Independent Multicast q.2931q.2931 q931q931 QUAKEQuake Network Protocol RIPNGRIPng RXRX Protocol RADIUSRadius Protocol RTSPReal Time Streaming Protocol RTPReal-Time Transport Protocol RTCPReal-time Transport Control Protocol RPCRemote Procedure Call RSHRemote Shell RSVPResource ReserVation Protocol RLOGINRlogin Protocol RIPRouting Information Protocol RTMPRouting Table Maintenance Protocol SMBServer Message Block Protocol MAILLOTSMB MailSlot Protocol SMUXSNMP Multiplex Protocol SSCOP sscop SPXSequenced Packet eXchange IPXSAPService Advertisement Protocol SRVLOCService Location Protocol SAPSession Announcement Protocol SDPSession Description Protocol SIPSession Initiation Protocol SHORTShort Frame SMTPSimple Mail Transfer Protocol SNMPSimple Network Management Protocol H1Sinec H1 Protocol SOCKSSocks Protocol STPSpanning Tree Protocol STATStatus Service SCTPStream Control Transmission Protcol SYSLOGSyslog message SNASystems Network Architecture TacacsTacacs TPKTTpkt TELNETtelnet TIMETime Protocol TRToken-Ring TRMACToken-Ring Media Access Control TCPTransmission Control Protocol TNSTransparent Network Substrate Protocol TFTPTrivial File Transfer Protocol UDPUser Datagram Protocol VRRPVirtual Router Redundancy Protocol VTPVirtual Trunking Protocol WCCPWeb Cache Coordination Protocol WHOWho WAP-WSPWireless Session Protocol WAP-WSP-WTP Wireless Transaction Protocol x.25x.25 XOTxot x11x11 YHOOYahoo Messenger Protocol YBINDYellow Pages Bind YPSERVYellow Pages Service YPXFRYellow Pages Transfer ZEBRAZebra Protocol ______________________________________________________________