operaciones
Class AnalizarPaquetesCapturados

java.lang.Object
  extended by operaciones.AnalizarPaquetesCapturados

public class AnalizarPaquetesCapturados
extends java.lang.Object

Analiza un paquete de acuerdo al protocolo al que pertenezca. Es llamada comúnmente desde SnifferPanel para solicitar el análisis de un paquete y retorna un String[] o un ArrayList con los nodos que se deben agregar al árbol de desgloce de protocolos

Author:
Kathleen S. Jiménez D. & William E. López L.
Contact: adminucvngn@gmail.com
Oficial Page: http://adminucvngn.sourceforge.net/
News & Weblog: http://adminucvngn.blogspot.com/

Constructor Summary
AnalizarPaquetesCapturados()
           
 
Method Summary
 java.lang.String[] arp_analyzer(jpcap.packet.ARPPacket arp)
          Analiza un paquete ARP y devuelve un Arreglos de String con el detalle del análisis para agregarlo al árbol.
 java.lang.String[] eth_analyzer(jpcap.packet.EthernetPacket eth, jpcap.packet.Packet p)
          Analiza un paquete Ethernet
 java.lang.String[] frame_analyzer(PaqueteCapturado captura)
          Retorna un String[] con los datos generales del paquete
 java.lang.String getSNMPOperation()
          Función que permite obtener con qué tipo de operación SNMP se está trabajando
 java.util.ArrayList<java.lang.String[]> icmp_analyzer(jpcap.packet.ICMPPacket icmp)
          Analiza un paquete ICMPv4 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 java.util.ArrayList<java.lang.String[]> icmp_ipv6_analyzer(byte[] header)
          Analiza un paquete ICMPv4 cuando dicho protocolo viene encapsulado IPv4->IPv6
 java.util.ArrayList<java.lang.String[]> icmp6_analyzer(jpcap.packet.Packet p)
          Analiza un paquete ICMPv6 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 PaqueteCapturado ip_analyzer_protocol(jpcap.packet.Packet p)
          Analiza un paquete y verifica si éste es una instancia de IP y si hay algún protocolo de capa de transporte encapsulado IPv4->IPv6
 java.util.ArrayList<java.lang.String[]> ip_analyzer(jpcap.packet.IPPacket ip)
          Analiza un paquete IPv4 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 java.lang.String[] ip6_analyzer(jpcap.packet.IPPacket ip)
          Analiza un paquete IPv6 y devuelve un String[] con el detalle del análisis para agregarlo al árbol.
 boolean isSNMPVersionValid(byte[] snmp_data, int pos)
          Método que valida si un paquete que venga por el puerto 161 o 162 y que se presume es SNMP pertenezca a las versiones soportadas (1 o 2c)
 void setSNMPOperation(java.lang.String operacion)
          Setea el tipo de operación SNMP
 java.util.ArrayList<java.lang.String[]> snmp_analyzer(byte[] snmp_data)
          Analiza un paquete SNMP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 java.util.ArrayList<java.lang.String[]> tcp_analyzer(jpcap.packet.TCPPacket tcp)
          Analiza un paquete TCP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 java.lang.String[] tcp_ipv6_analyzer(byte[] header)
          Analiza un paquete TCP cuando dicho protocolo viene encapsulado IPv4->IPv6
 java.util.ArrayList<java.lang.String[]> udp_analyzer(jpcap.packet.UDPPacket udp, boolean snmp)
          Analiza un paquete UDP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.
 java.util.ArrayList<java.lang.String[]> udp_ipv6_analyzer(byte[] header)
          Analiza un paquete UDP o SNMP cuando dicho protocolo viene encapsulado IPv4->IPv6
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnalizarPaquetesCapturados

public AnalizarPaquetesCapturados()
Method Detail

tcp_analyzer

public java.util.ArrayList<java.lang.String[]> tcp_analyzer(jpcap.packet.TCPPacket tcp)
Analiza un paquete TCP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.

Parameters:
tcp - paquete tcp a analizar
Returns:
ArrayLis. Retorna una lista de arreglos de String para ser agregado directamente al árbol

udp_analyzer

public java.util.ArrayList<java.lang.String[]> udp_analyzer(jpcap.packet.UDPPacket udp,
                                                            boolean snmp)
Analiza un paquete UDP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.

Parameters:
udp - paquete udp a analizar
snmp - booleano que indica si el paquete UDP es SNMP
Returns:
ArrayLis. Retorna una lista de arreglos de string para ser agregado directamente al árbol
Throws:
java.lang.Exception

snmp_analyzer

public java.util.ArrayList<java.lang.String[]> snmp_analyzer(byte[] snmp_data)
Analiza un paquete SNMP y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.

Parameters:
snmp_data - Datos SNMP del paquete
Returns:
ArrayLis. Retorna una lista de arreglos de string para ser agregado directamente al árbol

arp_analyzer

public java.lang.String[] arp_analyzer(jpcap.packet.ARPPacket arp)
Analiza un paquete ARP y devuelve un Arreglos de String con el detalle del análisis para agregarlo al árbol.

Parameters:
arp - paquete arp a analizar
Returns:
String[]. Retorna un arreglo de string para ser agregado directamente al árbol

icmp_analyzer

public java.util.ArrayList<java.lang.String[]> icmp_analyzer(jpcap.packet.ICMPPacket icmp)
Analiza un paquete ICMPv4 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.

Parameters:
icmp - paquete ICMP a analizar
Returns:
ArrayLis. Retorna una lista de arreglos de string para ser agregado directamente al árbol
Throws:
java.lang.Exception

icmp6_analyzer

public java.util.ArrayList<java.lang.String[]> icmp6_analyzer(jpcap.packet.Packet p)
Analiza un paquete ICMPv6 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol.

Parameters:
p - paquete ICMPv6 a analizar. Recibe un Packet, ya que el tipo ICMPv6 no es soportado por Jpacap, por lo que se utiliza una clase propia (PaqueteICMPv6) para el análisis de este protocolo
Returns:
ArrayLis. Retorna una lista de arreglos de string para ser agregado directamente al árbol
Throws:
java.lang.Exception

ip_analyzer

public java.util.ArrayList<java.lang.String[]> ip_analyzer(jpcap.packet.IPPacket ip)
Analiza un paquete IPv4 y devuelve un ArrayList con el detalle del análisis para agregarlo al árbol. Adionalmente, analiza si un paquete IPv4 tiene encapsulado IPv6 junto a otro protocolo en capa de transporte.

Parameters:
ip - paquete IP a analizar
Returns:
ArrayLis. Retorna una lista de arreglos de String para ser agregado directamente al árbol
Throws:
java.lang.Exception

tcp_ipv6_analyzer

public java.lang.String[] tcp_ipv6_analyzer(byte[] header)
Analiza un paquete TCP cuando dicho protocolo viene encapsulado IPv4->IPv6

Parameters:
header - Cabecera TCP
Returns:
Retorna String[] con detalles a mostrar acerca del protocolo TCP

udp_ipv6_analyzer

public java.util.ArrayList<java.lang.String[]> udp_ipv6_analyzer(byte[] header)
Analiza un paquete UDP o SNMP cuando dicho protocolo viene encapsulado IPv4->IPv6

Parameters:
header - Cabecera UDP
Returns:
Retorna String[] con detalles a mostrar acerca del protocolo UDP
Throws:
java.lang.Exception

icmp_ipv6_analyzer

public java.util.ArrayList<java.lang.String[]> icmp_ipv6_analyzer(byte[] header)
Analiza un paquete ICMPv4 cuando dicho protocolo viene encapsulado IPv4->IPv6

Parameters:
header - Cabecera ICMP
Returns:
Retorna ArrayList con detalles a mostrar acerca del protocolo ICMPv4

ip6_analyzer

public java.lang.String[] ip6_analyzer(jpcap.packet.IPPacket ip)
Analiza un paquete IPv6 y devuelve un String[] con el detalle del análisis para agregarlo al árbol.

Parameters:
ip - paquete IP a analizar
Returns:
Arreglo de String para ser agregado directamente al árbol

eth_analyzer

public java.lang.String[] eth_analyzer(jpcap.packet.EthernetPacket eth,
                                       jpcap.packet.Packet p)
Analiza un paquete Ethernet

Parameters:
eth - paquete Ethernet a analizar
p - paquete capturado completo
Returns:
Arreglo de String para ser agregado directamente al árbol

frame_analyzer

public java.lang.String[] frame_analyzer(PaqueteCapturado captura)
Retorna un String[] con los datos generales del paquete

Parameters:
captura - objeto de tipo PaqueteCapturado para ser analizado
Returns:
String[]. Arreglo de String para ser agregado directamente al árbol

ip_analyzer_protocol

public PaqueteCapturado ip_analyzer_protocol(jpcap.packet.Packet p)
                                      throws java.lang.Exception
Analiza un paquete y verifica si éste es una instancia de IP y si hay algún protocolo de capa de transporte encapsulado IPv4->IPv6

Parameters:
p - paquete a analizar
Returns:
PaqueteCapturado. Retorna un objeto de tipo PaqueteCapturado con la información de captura del paquete.
Throws:
java.lang.Exception

setSNMPOperation

public void setSNMPOperation(java.lang.String operacion)
Setea el tipo de operación SNMP

Parameters:
operacion - String que indica la operacion SNMP

getSNMPOperation

public java.lang.String getSNMPOperation()
Función que permite obtener con qué tipo de operación SNMP se está trabajando

Returns:
String que indica el tipo de operación.

isSNMPVersionValid

public boolean isSNMPVersionValid(byte[] snmp_data,
                                  int pos)
Método que valida si un paquete que venga por el puerto 161 o 162 y que se presume es SNMP pertenezca a las versiones soportadas (1 o 2c)

Parameters:
snmp_data - Datos de la cabecera SNMP
pos - Posición a partir de la cual comienzan los datos SNMP
Returns:
Boolean. Se retorna un booleano que indica si la versión es soportada o no