Revista Científica Ciencia y Tecnología. Vol 18 No 20, 2018 / págs. 130 -145
Palabras Clave: websocket, javascript, gopacket, TCP/IP
ABSTRACT
The present work shows the development of a telematic application that allows the
capture and visualization of network packets focused on the TCP/IP architecture, this
application is composed of 2 essential parts, the first is that of the server which fulfills
the function of capturing the network data and send it through the WebSocket
protocol and the second is by the client which consumes the data that is provided by
the server. For the development of this application, the TCP/IP referential model is
taken which groups layers which are: Network access, Internet, Transport,
Application, there are more than one hundred protocols that encompass this
architecture but for research reasons a protocol has been taken of each layer which
are respectively: Ethernet, IPV4, TCP, UDP, HTTP frame in order to understand its
operation and learn from the processes that are carried out and how to connect with
its upper layer protocols. The capture of network traffic was done using the google
library called Gopacket. This library offers convenient methods and interfaces for the
development of network software. On the client side, a small JavaScript application
was written for the consumption of data from the server through the webSocket
protocol and to make the graphical user-friendly interface a framework for modern,
responsive and based web interfaces was used in material design called Materialize.
Keywords: websocket, javascript, gopacket, TCP/IP
Introducción
La cantidad de información que se generan en una red de datos tiene una manera
sistemática de ordenarse y esto se hace a partir de una arquitectura de red la cual
es TCP/IP pero no es la única existente, otra muy famosa conocida como OSI
(Interconexión de sistemas abiertos), lo esencial es entender el funcionamiento de
cada una de las capas y la manera de comunicarse una con la otra y las interfaces
que proporciona cada una de ellas.
Cada capa tiene una cierta cantidad de protocolos que realizan ciertas operaciones
desde la más baja hasta la más alta, en esta investigación se han estudiado 5
protocolos de comunicación los cuales son: TCP, UDP, ETHERNET TYPE 2, IPV4, IPV6,
cada uno de estos protocolos son el resultado de varias investigaciones, la
información acerca de cada uno de ellos se encuentran en una serie de artículos
publicado en internet por el IETF (Grupo de Trabajo de Ingeniería de Internet)
llamados RFC (Request For Coment) estos artículos son muy interesantes ya que
muestran de manera minuciosa el funcionamiento, la arquitectura, el formato de
cabecera de cada uno de los protocolos entonces esta ha sido la bibliográfica esencial
de esta investigación.
Luego de conocer íntimamente el funcionamiento de cada protocolo empezó lo más
interesante, el desarrollo de una aplicación que puede captar de alguna forma todos
esos paquetes que atraviesan la red, pero ¿cómo hacerlo? El proceso para capturar
esos paquetes realmente es muy complejo pero existen herramientas que minimizan
ese trabajo y ayuda al desarrollador de software a lograr su objetivo sin invertir una
cantidad excesiva de tiempo, es por ello que utilizo el lenguaje de programación
golang el cual es una tecnología moderna en el ámbito de desarrollo de software
actual ofrece varias características como: tipado estático y dinámico, retorno de
&
Revista Ciencia & Tecnología
ISSN impreso: 1390 - 6321
No. 20, 31 de octubre de 2018