• No se han encontrado resultados

Proves generals de la interf´ıcie

7

Conclusions

Crec que l’aplicaci´o desenvolupada satisf`a els objectius inicials establerts, s’ha aconseguit un ana- litzador gr`afic de xarxa en entorn GNU que aporta un valor afegit al proporcionar una interf´ıcie intu¨ıtiva i m´es informaci´o sobre l’´us del tr`afic de xarxa capturat respecte d’altres productes existents. Durant el desenvolupament del projecte he posat en pr`actica coneixements apresos a diverses as- signatures del Grau, no tan sols de xarxes de computadors, tamb´e de gesti´o de projectes, d’enginyeria del programari, compet`encia comunicativa i de programaci´o orientada a objectes. Tamb´e he apr´es mat`eries noves, he pogut aprofundir en el llenguatge de programaci´o Python i especialment en el desenvolupament d’interf´ıcies d’usuaris amb GTK, quedant gratament sorpr`es per la seva pot`encia i velocitat de programaci´o.

No puc dir el mateix de les llibreries de xarxa utilitzades. L’´ultima versi´o dePcapy data de l’any 2010 i com he pogut comprovar, el funcionament en sistemes Linux no est`a del tot suportat. En quant aScapy, s´ı que t´e un desenvolupament continuat, per`o he apreciat problemes d’estabilitat que potser es corregeixin amb futures versions. En tots dos casos la falta de documentaci´o ´es considerable, com el suport del protocol IPv6.

L’analitzador gr`afic de xarxa desenvolupat ´es millorable, podria proporcionar informaci´o sobre conversacions entre equips, augmentar el rendiment del proc´es d’an`alisi per reduir el temps d’espera de l’usuari, o donar m´es suport a IPv6, entre d’altres millores; per`o tenint en compte el nombre de cr`edits del projecte i el gran esfor¸c que he dedicat, estic molt satisfet del resultat obtingut.

Bibliografia

[1] C. Meinel and H. Sack. Internetworking. Springer - ISBN: 978-3-642-35391-8, 2013.

[2] Request for Comments: document series contain technical and organizational notes about the Internet, http://www.ietf.org/rfc.html.

[3] Internet Engineering Task Force: comunitat internacional oberta de dissenyadors de xarxa, operadors, prove¨ıdors i investigadors interessats en l’evoluci´o de l’arquitectura d’Internet i el seu bon funcionament, http://www.ietf.org/about/.

[4] Internet Society: ´es una organitzaci´o global unida per una causa com´u i governada per una variada Junta de S´ındics que es dedica a assegurar que Internet segueixi sent oberta, transparent i definida perqu`e tots puguem gaudir d’ella,http://www.internetsociety.org/who-we-are. [5] Comparison of packet analyzers, http://en.wikipedia.org/wiki/Comparison_of_

packet_analyzers.

[6] Wireshark, https://www.wireshark.org/.

[7] Etherape a graphical network monitor, http://etherape.sourceforge.net/. [8] Ettercap,http://ettercap.github.io/ettercap/.

[9] Xplico extract from an internet traffic capture the applications data contained, http://www. xplico.org.

[10] SteelCentral Packet Analyzer, http://www.riverbed.com/products/ performance-management-control/network-performance-management/

packet-analysis.html.

[11] CapAnalysis cWeb pcap file Viewer,http://www.capanalysis.net/site/.

[12] NetFlow Traffic Analyzer de Solarwinds c, http://www.solarwinds.com/ netflow-traffic-analyzer.aspx.

[13] Scapy c: programa Python per la manipulaci´o interactiva de paquets de xarxa de Philippe Biondi, http://www.secdev.org/projects/scapy/.

[14] Pcapy: interf´ıcie de Python per la llibreria libpcap de Core Labsc, http://corelabs. coresecurity.com/index.php?module=Wiki&action=view&type=tool&name=Pcapy.

Bibliografia

[16] Libpcap: llibreria en C/C++ per la captura de tr`afic de xarxa, http://www.tcpdump.org/. [17] Impacket: classes Python destinades a donar acc´es a paquets de xarxa, de Core

Labsc, http://corelabs.coresecurity.com/index.php?module=Wiki&action=view& type=tool&name=Impacket.

[18] Matplotlib: llibreria en Python per la creaci´o de gr`afiques 2D i 3D,http://matplotlib.org/. [19] Kile: integrated LATEXenvironment,http://kile.sourceforge.net/.

[20] Planner: Gnome projec management tool,https://wiki.gnome.org/Apps/Planner/About. [21] Umbrello: UML modeller, https://umbrello.kde.org/.

[22] Glade: RAD tool to enable quick and easy development of user interfaces for the GTK toolkit,

https://glade.gnome.org/.

[23] Pycharm: Python IDE from JetBrains c,https://www.jetbrains.com/pycharm/.

[24] X. Vilajosana, M. Font, E. Lara, and R. Serral. Material docent de l’assignatura Estructura de xarxes de computadors. Fundaci´o Universitat Oberta de Catalunya, 2012.

[25] A. Tanenbaum and D. Wetherall. Computer Networks 5th edition. Prentice Hall - ISBN: 978-0-13-212695-3, 2011.

[26] Open systems interconnection (OSI), http://www.iso.org/iso/iso_catalogue/ catalogue_ics/catalogue_ics_browse.htm?ICS1=35&ICS2=100.

[27] D. Clark. The Design Philosophy of the DARPA Internet Protocols. SIGCOMM ’88 Symposium proceedings on Communications architectures and protocols, pages 106–114, 1998.

[28] Service Name and Transport Protocol Port Number Registry by Internet Assigned Numbers Authority (IANA), http://www.iana.org/assignments/service-names-port-numbers/ service-names-port-numbers.xhtml.

[29] The Internet Assigned Numbers Authority (IANA) is responsible for the global coordinati- on of the DNS Root, IP addressing, and other Internet protocol resources, http://www. internetassignednumbersauthority.org/.

[30] Protocol Numbers by Internet Assigned Numbers Authority (IANA), http://www.iana.org/ assignments/protocol-numbers/protocol-numbers.xhtml.

[31] Gnome: entorn d’escriptori per a sistemes X-Window que forma part oficial del projecte GNU,

http://www.gnome.org/.

[32] Llenguatge de programaci´o Python,https://www.python.org/. [33] Ubuntu operating system, http://www.ubuntu.com/desktop. [34] Fedora operating system, https://getfedora.org/.

Ap`endix - Manual d’´us

Instal·laci´o

L’aplicaci´o no requereix una instal·laci´o, per`o s´ı ´es necessari disposar de les llibreries Python[32] que s’utilitzen.

Al directori de l’aplicaci´o han d’estar els 2 fitxers CSV amb les definicions dels ports i protocols de la IANA[29] que venen amb el codi font:

• protocol-numbers.csv[30]

• service-names-port-numbers.csv[28]

Al sistema operatiu Ubuntu 14[33] amb una instal·laci´o per defecte, cal executar les seg¨uents comandes per obtenir les llibreries dels repositoris de software oficials:

s u d o apt-get i n s t a l l python-p c a p y python-s c a p y python-i m p a c k e t s u d o apt-get i n s t a l l python-m a t p l o t l i b

Al sistema operatiuFedora 21[34] amb una instal·laci´o per defecte, cal executar les seg¨uents co- mandes com aroot per obtenir les llibreries dels repositoris de software oficials:

su -

yum i n s t a l l p c a p y s c a p y python-m a t p l o t l i b python-i m p a c k e t

En aquest ´ultim cas, tamb´e ´es necessari corregir un bug de la llibreria matplotlib comentant les l´ınies 86 i 87 del fitxer /usr/lib/python2.7/site-packages/matplotlib/pyplot.py, i afegint el seg¨uent:

# i m p o r t g o b j e c t

# if g o b j e c t . M a i n L o o p () . i s _ r u n n i n g () :

f r o m gi.r e p o s i t o r y i m p o r t G O b j e c t

Ap`endix - Manual d’´us

Execuci´o

Si es vol capturar tr`afic de xarxa, l’aplicaci´o necessita executar-se amb permisos deroot per poder adquirir amb privilegis la interf´ıcie de xarxa, per tant des d’un terminal cal situar-se al directori on es troba el codi font de l’aplicaci´o i executar-la amb la comanda “sudo” o “su -”, entrant lapassword

d’administraci´o: # U b u n t u 15 s u d o p y t h o n g n a g n u.py # F e d o r a 21 su - p y t h o n g n a g n u.py

Si nom´es es vol analitzar una captura de xarxa existent, no cal executar l’aplicaci´o amb privilegis deroot i es pot executar sense la comanda “sudo” o “su -”:

p y t h o n g n a g n u.py

Despr´es de l’execuci´o la finestra de l’aplicaci´o ha d’apar`eixer buida nom´es amb el men´u principal:

Ap`endix - Manual d’´us

Obtenir una captura

Hi ha dues formes d’obtenir una captura, iniciant una captura del tr`afic de xarxa durant l’execuci´o de l’aplicaci´o, o b´e obrint un fitxer amb el tr`afic de xarxa capturat pr`eviament.

Iniciar una captura

Per iniciar una nova captura del tr`afic de xarxa, cal anar al men´u Capture, opci´oRecord, on s’obrir`a el di`aleg de captura:

Ap`endix - Manual d’´us

En aquest di`aleg podem indicar els filtres de la captura:

• Interface: la interf´ıcie de xarxa on volem capturar el tr`afic, el desplegable mostrar`a les in- terf´ıcies disponibles de l’equip.

• Promiscuous: si volem que el tr`afic de xarxa sigui capturat en mode promiscu, tot el tr`afic que la interf´ıcie pugui captar, o nom´es el tr`afic amb origen o dest´ı a l’equip que fa la captura.

• MAC: per indicar que nom´es volem el tr`afic d’una determinada adre¸ca MAC. El format ha de ser del tipus xx:xx:xx:xx:xx:xx.

• IP: per indicar que nom´es volem el tr`afic d’una determinada adre¸ca IP.

• Port number: per filtrar el tr`afic per un determinat n´umero de port de servei.

• Protocol: per indicar que nom´es volem el tr`afic d’un determinat protocol. El desplegable mostra els protocols disponibles: ARP, DECNET, ETHER, FDDI, IP, IP6, RARP, TCP, TR, UDP i WLAN.

Al campSave file topodem indicar el nom del fitxer on es guardar`a la captura amb format.pcap, al directori on s’executa l’aplicaci´o. D’aquesta manera es pot recuperar la captura posteriorment. Per defecte l’aplicaci´o proposa el nom gnagnu-file.pcap.

Al campCapture seconds indicarem els segons que volem que l’equip estigui capturant el tr`afic de xarxa, per defecte 10 segons. Hem de tenir en compte que com m´es gran sigui aquest par`ametre m´es espai de disc ocupar`a la captura i m´es trigar`a el proc´es d’an`alisi del tr`afic capturat.

Una vegada seleccionats els par`ametres desitjats, iniciarem la captura mitjan¸cant el bot´o Start. Durant el proc´es de captura una barra de progr´es a la part inferior del di`aleg indicar`a l’evoluci´o de la captura.

Si ho desitgem podem realitzar una nova captura tornant a pr´emer el bot´oStarto tancar el di`aleg sense analitzar la captura mitjan¸cant el bot´o Cancel.

Finalitzada la captura, amb el bot´oOK l’aplicaci´o passar`a a analitzar el tr`afic de xarxa capturat. Es mostrar`a un missatge d’av´ıs perqu`e el proc´es d’an`alisi es pot allargar segons la grand`aria de la captura. Per continuar cal pr´emer el bot´o OK de l’av´ıs i esperar que finalitzi l’an`alisi.

Ap`endix - Manual d’´us

Obrir una captura pr`evia

Per analitzar un fitxer amb una captura del tr`afic de xarxa efectuada amb anterioritat, cal anar al men´u Capture, opci´o Open, on s’obrir`a el di`aleg per seleccionar el fitxer al sistema d’arxius:

Figura 4: Di`aleg per seleccionar una captura pr`evia

Un cop seleccionat el fitxer, es passar`a a analitzar el tr`afic de xarxa que cont´e. L’aplicaci´o mostrar`a un missatge d’av´ıs perqu`e el proc´es d’an`alisi es pot allargar segons la grand`aria de la captura. Per continuar cal pr´emer el bot´oOK de l’av´ıs i esperar que finalitzi l’an`alisi.

Ap`endix - Manual d’´us

An`alisi dels resultats

Un cop analitzat el tr`afic de xarxa, els paquets capturats es mostren a la finestra principal de l’aplicaci´o.

Figura 5: Finestra principal de l’aplicaci´o amb el tr`afic de xarxa capturat

Els camps de la taula s´on:

• Order amb el n´umero d’ordre del paquet dintre de la captura.

• Time´es l’hora, minut, segon i microsegon de quan s’ha capturat el paquet.

• Protocol de la capa d’Internet del paquet capturat.

• Source IP´es l’adre¸ca IP de l’equip que ha em`es el paquet de xarxa.

• Source MACadre¸ca MAC de l’equip que ha em`es el paquet de xarxa.

• Src Port port de servei origen a l’equip que ha em`es el paquet de xarxa.

• Destination IP´es l’adre¸ca IP de l’equip que rep el paquet de xarxa.

• Destination MACadre¸ca MAC de l’equip que rep el paquet de xarxa.

• Src Port port de servei dest´ı a l’equip que rep el paquet de xarxa.

• Bytes´es la grand`aria del paquet capturat.

Ap`endix - Manual d’´us

Informaci´o general

La informaci´o global de la captura es pot consultar al men´u Stats opci´oCapture information.

Figura 6: Informaci´o general de la captura

El di`aleg mostra la informaci´o seg¨uent:

• La data i hora d’inici de la captura.

• La data i hora de finalitzaci´o de la captura.

• El nombre de paquets del tr`afic de xarxa capturat.

Ap`endix - Manual d’´us

Resultats per protocol

Al men´u Stats opci´o Protocols podem examinar els protocols que intervenen al tr`afic de xarxa capturat.

S`erie temporal

A l’opci´oTime seriespodem examinar la gr`afica de l’evoluci´o temporal del tr`afic capturat segons els protocols que el formen.

Figura 7: S`erie temporal dels protocols

La gr`afica superior mostra l’evoluci´o en Bytes dels paquets capturats segons el seu protocol, mentre la gr`afica inferior mostra l’evoluci´o del nombre de paquets.

Totes les gr`afiques disposen d’una barra d’eines a la part superior de la finestra per moure els eixos, fer zoom, configurar els espais interlineals i per guardar la gr`afica en un arxiu PNG.

Ap`endix - Manual d’´us

Resum del tr`afic

A l’opci´o Traffic summary podem examinar la gr`afica de barres dels protocols principals que formen el tr`afic capturat, amb la seva mida i la grand`aria en Bytes.

Figura 9: Resum dels protocols de la captura

Ap`endix - Manual d’´us

Detall del tr`afic

A l’opci´oTraffic data grid podem examinar una taula amb el detall del tr`afic per protocol, amb la seva mida i la grand`aria en Bytes.

Figura 10: Detall dels protocols de la captura

Si premem sobre un protocol en concret s’obrir`a una nova finestra amb una taula on es mostra la relaci´o de les IP de la captura que intervenen en el tr`afic del protocol.

Figura 11: Relaci´o de les IP d’un protocol

Ap`endix - Manual d’´us

Resultats per port de servei

Al men´u Stats opci´o Ports podem examinar els ports de servei que intervenen al tr`afic de xarxa capturat.

S`erie temporal

A l’opci´oTime seriespodem examinar la gr`afica de l’evoluci´o temporal del tr`afic capturat segons els ports de servei que el formen.

Figura 12: S`erie temporal dels ports de servei

La gr`afica superior mostra l’evoluci´o en Bytes dels paquets capturats segons el seu port, mentre la gr`afica inferior mostra l’evoluci´o del nombre de paquets.

Al situar-se amb el ratol´ı en un punt de la gr`afica, a la part superior dreta de la finestra es pot veure les coordenades X i Y del punt.

Ap`endix - Manual d’´us

Resum del tr`afic

A l’opci´oTraffic summarypodem examinar la gr`afica de barres dels ports de servei principals que formen el tr`afic capturat, amb la seva mida i la grand`aria en Bytes.

Figura 14: Resum dels ports de servei de la captura

Ap`endix - Manual d’´us

Detall del tr`afic

A l’opci´oTraffic data gridpodem examinar una taula amb el detall del tr`afic per port de servei, amb la seva mida i la grand`aria en Bytes.

Figura 15: Detall dels ports de servei de la captura

Si premem sobre un port de servei en concret s’obrir`a una nova finestra amb una taula on es mostra la relaci´o de les IP de la captura que intervenen en el tr`afic del port.

Figura 16: Relaci´o de les IP d’un port de servei

Ap`endix - Manual d’´us

Resultats per IP

Al men´u Stats opci´oIP podem examinar les IP que intervenen al tr`afic de xarxa capturat.

Figura 17: Di`aleg de resultats per IP

Al pr´emer el bot´o All IP data grid s’obrir`a una taula amb el nombre de paquets i la grand`aria del tr`afic capturat de totes les IP.

Ap`endix - Manual d’´us

Per examinar el tr`afic de xarxa d’unaIP en concret l’hem de seleccionar al desplegable i escollir quina informaci´o volem veure.

• Informaci´o dels protocols:

– S`erie temporal del tr`afic dels protocols de la IP amb el bot´o Time series.

Figura 19: S`erie temporal dels protocols d’una IP

– Resum del tr`afic del protocols de la IP mitjan¸cant gr`afica de barres amb el bot´o Traffic summary.

Ap`endix - Manual d’´us

– Detall del tr`afic del protocols de la IP amb el bot´o Traffic data grid.

Figura 21: Detall dels protocols al tr`afic d’una IP

• Informaci´o dels ports de servei:

– S`erie temporal del tr`afic dels ports de la IP amb el bot´o Time series.

Figura 22: S`erie temporal dels ports de servei d’una IP

– Resum del tr`afic dels ports de la IP mitjan¸cant gr`afica de barres amb el bot´o Traffic summary.

Ap`endix - Manual d’´us

– Detall del tr`afic del ports de la IP amb el bot´oTraffic data grid.

Ap`endix - Manual d’´us

Llic`encia

Aquesta aplicaci´o es distribueix sota llic`encia GNU General Public License[35], que permet a l’usuari:

• La llibertat de fer servir l’aplicaci´o per qualsevol prop`osit.

• La llibertat de canviar l’aplicaci´o per satisfer les seves necessitats.

• La llibertat de compartir l’aplicaci´o amb amics i ve¨ıns.

• La llibertat de compartir els canvis realitzats.

Figura 25: Logotip de la llic`encia GNU-GPL versi´o 3

Per protegir aquests drets, si alg´u distribueix o modifica aquesta aplicaci´o, t´e la responsabilitat de fer arribar el codi font i el mateix tipus de llic`encia a l’usuari final.

Al principi de cada fitxer del codi font tamb´e s’indica el tipus de llic`encia:

# GNU G r a p h i c N e t w o r k A n a l y z e r

# C o p y r i g h t ( C ) 2 0 1 5 J o s e p C a r c e l e n < j o s e . c a r c e l e n @ g m a i l . com > #

# T h i s p r o g r a m is f r e e s o f t w a r e : you can r e d i s t r i b u t e it and / or m o d i f y # it u n d e r the t e r m s of the GNU G e n e r a l P u b l i c L i c e n s e as p u b l i s h e d by # the F r e e S o f t w a r e F o u n d a t i o n , e i t h e r v e r s i o n 3 of the License , or # ( at y o u r o p t i o n ) any l a t e r v e r s i o n .

#

# T h i s p r o g r a m is d i s t r i b u t e d in the h o p e t h a t it w i l l be useful , # but W I T H O U T ANY W A R R A N T Y ; w i t h o u t e v e n the i m p l i e d w a r r a n t y of # M E R C H A N T A B I L I T Y or F I T N E S S FOR A P A R T I C U L A R P U R P O S E . See the # GNU G e n e r a l P u b l i c L i c e n s e for m o r e d e t a i l s .

#

# You s h o u l d h a ve r e c e i v e d a c o p y of the GNU G e n e r a l P u b l i c L i c e n s e # a l o n g w i t h t h i s p r o g r a m . If not , see < h t t p :// www . gnu . org / l i c e n s e s / >.

Una c`opia de la llic`encia completa es distribueix en format PDF amb el codi font al fitxer

license-gpl-3.0.pdf

Ap`endix - Manual d’´us

Documento similar