sniffer java

7
UNIVERSIDAD NACIONAL SAN CRISTOBAL DE HUAMANGA FACULTAD DE INGENIERÍA DE MINAS, CIVIL Y GEOLOGÍA ESCUELA DE FORMACIÓN PROFESIONAL INGENIERÍA DE SISTEMAS INTERPRETACIÓN DE PAQUETES DE DATOS CON UN SNIFFER Docente : Ing. Manuel A. LAGOS BARZOLA Integrantes : YUPANQUI OCHOA, Fredy ALVAREZ RODRIGUEZ, Rosario FERNANDEZ HUAYTALLA, Omar OCHOA VENTURA, Ember Asignatura : Seguridad Informatica Serie : 400

Upload: ember-ochoa-ventura

Post on 30-Jan-2016

60 views

Category:

Documents


1 download

DESCRIPTION

seguridad informatica

TRANSCRIPT

Page 1: sniffer java

UNIVERSIDAD NACIONAL SAN CRISTOBAL DE

HUAMANGA

FACULTAD DE INGENIERÍA DE MINAS, CIVIL Y

GEOLOGÍA

ESCUELA DE FORMACIÓN PROFESIONAL INGENIERÍA DE

SISTEMAS

INTERPRETACIÓN DE PAQUETES DE DATOS CON UN SNIFFER

Docente : Ing. Manuel A. LAGOS BARZOLA

Integrantes : YUPANQUI OCHOA, Fredy

ALVAREZ RODRIGUEZ, Rosario

FERNANDEZ HUAYTALLA, Omar

OCHOA VENTURA, Ember

Asignatura : Seguridad Informatica

Serie : 400

Page 2: sniffer java

INTERPRETACIÓN DE PAQUETES DE DATOS CON UN

SNIFFER

I. MARCO TEORICO

1. SNIFFER

Un sniffer es un programa informático especial para redes informáticas, que permite como tal capturar los paquetes que viajan por una red. Este es el concepto más sencillo que podemos dar al respecto, pero profundizando un poco más podemos decir también que un sniffer puede capturar paquetes dependiendo de la topología de red. Por ejemplo, en topologías estrella antiguas, un sniffer podía monitorear todos los paquetes que viajan por una red, ya que estos pasan por el nodo central, por el contrario en redes modernas de estrella esto no sucede, ya que solo lo retransmite el nodo de destino. Si se usara un HUB en vez de un Switch tendríamos más vulnerabilidad de que capturen los datos viajantes por una red, hablando claramente de gente con malas intenciones, ya que los sniffers comúnmente se utilizan para ver el estado de los paquetes que viajan por la red. Y volviendo al tema de la seguridad usando hubs, estos son más vulnerables ya que por el contrario de un switch por ejemplo solo retransmite la información al nodo de destino, por lo que solo se visualizaran los paquetes del nodo en el que fue instalado el sniffer. Existen distintos tipos de sniffer, los más conocidos son:

WireShark Ettercap

2. JPCAP

El jpcap es un sistema de las clases de Java que proporcionan un interfaz y el sistema para la captura del paquete de la red y también una biblioteca del protocolo y la herramienta para visualizar tráfico de red es incluida. El jpcap oculta los detalles bajos de la captura del paquete de la red abstrayendo muchos tipos y protocolos del paquete de la red en las clases de Java. Interno, el jpcap ejecuta atascamientos a la biblioteca de sistema del libpcap con JNI (el interfaz nativo de Java). El jpcap utiliza el libpcap, una compartir-biblioteca extensamente desplegada para capturar los paquetes user-level. el libpcap se debe instalar en su sistema para utilizar el jpcap. El jpcap consiste en una pequeña compartir-biblioteca que envuelva el libpcap más una colección de clases de Java. El componente de la compartir-biblioteca proporciona los ganchos del acontecimiento, la comunicación y la conversión de datos entre una Java corriente VM y libpcap. El paquete de la “captura” contiene el sistema de la captura de la base. El paquete “neto” contiene las abstracciones para muchos tipos y protocolos del paquete de la red. El paquete del “simulador” contiene un simulador de la red.

Page 3: sniffer java

3. WINPCAP

WinPcap es la herramienta estándar utilizada por la Industria para acceder a conexiones entre capas de red (conectividad y selección de rutas entre dos sistemas de host) funcionando bajo sistema operativo Windows, con esta herramienta podemos capturar-transmitir paquetes de red manipulando la pila de protocolos. WinPcap cuenta con herramientas adicionales de gran valor, tales como filtrado de paquetes a nivel núcleo, motor para la generación de estadísticas de red, soporte para la captura de paquetes remotos. WinPcap utiliza una combinación de librerías y controladores para facilitar el acceso a las capas de red de bajo nivel. WinPcap es un programa eficiente, versátil y se ha convertido en el motor de filtrado y captura de paquetes preferido de las aplicaciones de red más populares disponibles en la actualidad, tales como analizadores de protocolos, monitores de red, sistemas de detección de intrusos de red, sniffers, generadores de trafico, analizadores de trafico, etc. WinPcap es una aplicación indispensable, sin ella los mejores programas de gestión de redes no funcionaria (NMAP) por ejemplo, Windump, Ethereal, etc.

Page 4: sniffer java

II. DESARROLLO DEL PROYECTO

1. Instalar JpcapSetup-0.7

2. Se instalará el archivo de registro Jpcap.dll en la plataforma de 32 bits

Page 5: sniffer java

3. Luego instalar WinPcap_4_1_3

4. Librerías del proyecto.

La plataforma debe del JDK del Netbeans debe ser de 32 bits, e importar las librerías

net.sourceforge.jpcap-0.01.16jar y jpcap.jar

Page 6: sniffer java

5. Código fuente inicial

Buscando dispositivos

//Obtiene una lista de interfaces. NetworkInterface[] devices = JpcapCaptor.getDeviceList(); //for each network interface for (int i = 0; i < devices.length; i++) { //Imprime la descripción y nombre del dispositivo System.out.println(i + ": " + devices[i].name + "(" + devices[i].description + ")"); //Imprimie la descripción y el nombre del datalink System.out.println(" datalink: " + devices[i].datalink_name + "(" + devices[i].datalink_description + ")"); //Imprime la dirección MAC System.out.print("Dirección MAC:"); for (byte b : devices[i].mac_address) { System.out.print(Integer.toHexString(b & 0xff) + ":"); } System.out.println(); //Imprime las direcciones IP, máscara de red y la puerta de enlace for (NetworkInterfaceAddress a : devices[i].addresses) { System.out.println(" address:" + a.address + " " + a.subnet + " " + a.broadcast); } }

Page 7: sniffer java

Abrir una interfaz de red

try { NetworkInterface[] devices = JpcapCaptor.getDeviceList(); int index = 4; // establece el índice de la interfaz al que quiere abrir //Abre una interfaz con el método //openDevice(NetworkInterface intrface, int snaplen, boolean promics, int to_ms) JpcapCaptor captor = JpcapCaptor.openDevice(devices[index], 65535, false, 20); //llama al método processPacket() para dejar que JPCAP llame al PacketPrinter.receivePacket() //para cada camptura de paquete captor.processPacket(10, new PacketPrinter()); for (int i = 0; i < 10; i++) { //establece un filtro para capturar sólo paquetes del puerto TCP/IPv4 captor.setFilter("ip and tcp", true); //captura un paquete simple y lo imprime System.out.println(captor.getPacket()); } captor.close(); } catch (IOException ex) { Logger.getLogger(OpenNetworkInterface.class.getName()).log(Level.SEVERE, null, ex); }

III. Bibliografía

https://2ra5-descargar.phpnuke.org/es/c61639/winpcap, consultado el 16 de

noviembre del 2015.

http://culturacion.com/que-es-un-sniffer/, consultado el 16 de noviembre del

2015.

http://jpcap.sourceforge.net/, consultado el 16 de noviembre del 2015.