operaciones
Class PaqueteICMPv6

java.lang.Object
  extended by operaciones.PaqueteICMPv6

public class PaqueteICMPv6
extends java.lang.Object

Define la estructura del Protocolo ICMPv6. Dicha clase fue desarrollada para poder analizar los paquetes capturados por el sniffer pertenecientes a este protocolo, indistintamente si el paquete en capa 3 viene contenido en IPv6 nativo o encapsulado en IPv4.
Esta clase sólo realiza el análisis de paquetes capturados (recibidos), mas no posee todas las funciones necesarias para envío de paquetes pertenecientes a este protocolo. Es importantes destacar, que se hizo un mayor énfasis en los mensajes ICMPv6 de Información (Echo Request Y Echo Reply) y mensajes ICMPv6 de error (Destination Unreachable, Packet Too Big, Time Exceeded y Parameter Problem); para el resto de los tipos de mensajes definidos para este protocolo, sólo se reconoce qué tipo de mensaje es sin profundizar en el contenido del mismo .
Basado en la clase para ICMPv6 definida en la siguiente tesis: http://faculty.nps.edu/xie/theses/06Sep_Chozos.pdf

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/

Field Summary
static short DESTINATION_BYTE
           
static short HOP_LIMIT_BYTE
           
static short ICMP_CHECKSUM_BYTE
           
static short ICMP_CHECKSUM_NATIVE_BYTE
           
static short ICMP_CODE_BYTE
           
static short ICMP_CODE_NATIVE_BYTE
           
static short ICMP_DATA_BYTE
           
static short ICMP_DATA_NATIVE_BYTE
           
static short ICMP_ID_BYTE
           
static short ICMP_ID_NATIVE_BYTE
           
static short ICMP_PSEUDO_LENGTH
           
static short ICMP_SEQUENCE_BYTE
           
static short ICMP_SEQUENCE_NATIVE_BYTE
           
static short ICMP_TYPE_BYTE
           
static short ICMP_TYPE_NATIVE_BYTE
           
static short LINK_DESTINATION_BYTE
           
static short LINK_SOURCE_BYTE
           
static MetodosGenerales meth
           
 Mensajes msj
           
static short NEXT_HEADER_BYTE
           
static int NEXT_HEADER_ICMP
           
 jpcap.packet.Packet p
           
static short PACKET_TYPE
           
static short PAYLOAD_LENGTH_BYTE
           
static short SOURCE_BYTE
           
static short VERSION_PRIORITY_BYTE
           
static int VERSION_PRIORITY_MIN
           
 
Constructor Summary
PaqueteICMPv6()
           
PaqueteICMPv6(jpcap.packet.Packet p)
          Convertir el paquete de Tipo Packet to ICMPv6
 
Method Summary
static boolean esICMP6(jpcap.packet.Packet p)
          Función que verifica si un paquete es ICMPv6
static boolean esICMP6Nativo(jpcap.packet.Packet p)
          Función que verifica si un paquete es ICMPv6 con IPv6 Nativo
 java.lang.String getChecksum()
          Retorna el checksum del paquete ICMPv6
 int getCode()
          Retorna el código del mensaje ICMPv6
 byte[] getData()
          Retorna los datos del mensaje ICMPv6
 int getDataLength()
          Retorna la longitud de los datos del paquete ICMPv6
 int getDataNativeLength()
          Retorna la longitud de los datos del paquete ICMPv6
 java.lang.String getDestinarionIPAddress()
          Retorna IP Destino IPv4 return String con IP Destino
 java.net.Inet6Address getDestinationAddress()
          Función que retorna la dirección IPv6 destino
 byte getHopLimit()
          Retorna el Hop Limit del paquete IPv6
 byte[] getID()
          Retorna el id del mensaje ICMPv6
 int getIdentification()
          Retorna campo identification del paquete IP return int con campo identification
 byte[] getLinkDestinationAddress()
          Función que retorna la dirección destino de Capa de Enlace
 byte[] getLinkSourceAddress()
          Función que retorna la dirección fuente de Capa de Enlace
 java.lang.String getNativeChecksum()
          Retorna el checksum del paquete ICMPv6
 int getNativeCode()
          Retorna el código del mensaje ICMPv6 cuando viene en IPv6 nativo
 byte[] getNativeData()
          Retorna los datos del mensaje ICMPv6 cuando viene en IPv6 nativo
 byte[] getNativeID()
          Retorna el id del mensaje ICMPv6 cuando viene en IPv6 Nativo
 byte[] getNativeSeq()
          Retorna el número de secuencia del mensaje ICMPv6
 int getNativeType()
          Retorna el tipo del mensaje ICMPv6 cuando viene en IPv6 nativo
 byte getNextHeader()
          Retorna el Next Header del paquete IPv6
 byte[] getPayloadLength()
          Retorna el PayloadLength del paquete IPv6
 int getProtocol()
          Retorna protocolo que sigue en el paquete IPv4 return int con valor del protocolo
 byte[] getSeq()
          Retorna el número de secuencia del mensaje ICMPv6
 java.net.Inet6Address getSourceAddress()
          Función que retorna la dirección IPv6 fuente
 java.lang.String getSourceIPAddress()
          Retorna IP Fuente IPv4 return String con IP Fuente
 int getTotalLength()
          Retorna longitud total del paquete IP return int con total length
 int getTTL()
          Retorna valor del TTL del paquete IP return int con valor del TTL
 int getType()
          Retorna el tipo del mensaje ICMPv6
 int getVersion()
          Retorna versión del paquete IP return int versión IP
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_PRIORITY_BYTE

public static final short VERSION_PRIORITY_BYTE
See Also:
Constant Field Values

PAYLOAD_LENGTH_BYTE

public static final short PAYLOAD_LENGTH_BYTE
See Also:
Constant Field Values

NEXT_HEADER_BYTE

public static final short NEXT_HEADER_BYTE
See Also:
Constant Field Values

HOP_LIMIT_BYTE

public static final short HOP_LIMIT_BYTE
See Also:
Constant Field Values

SOURCE_BYTE

public static final short SOURCE_BYTE
See Also:
Constant Field Values

DESTINATION_BYTE

public static final short DESTINATION_BYTE
See Also:
Constant Field Values

ICMP_TYPE_BYTE

public static final short ICMP_TYPE_BYTE
See Also:
Constant Field Values

ICMP_CODE_BYTE

public static final short ICMP_CODE_BYTE
See Also:
Constant Field Values

ICMP_CHECKSUM_BYTE

public static final short ICMP_CHECKSUM_BYTE
See Also:
Constant Field Values

ICMP_TYPE_NATIVE_BYTE

public static final short ICMP_TYPE_NATIVE_BYTE
See Also:
Constant Field Values

ICMP_CODE_NATIVE_BYTE

public static final short ICMP_CODE_NATIVE_BYTE
See Also:
Constant Field Values

ICMP_CHECKSUM_NATIVE_BYTE

public static final short ICMP_CHECKSUM_NATIVE_BYTE
See Also:
Constant Field Values

VERSION_PRIORITY_MIN

public static final int VERSION_PRIORITY_MIN
See Also:
Constant Field Values

NEXT_HEADER_ICMP

public static final int NEXT_HEADER_ICMP
See Also:
Constant Field Values

LINK_DESTINATION_BYTE

public static final short LINK_DESTINATION_BYTE
See Also:
Constant Field Values

LINK_SOURCE_BYTE

public static final short LINK_SOURCE_BYTE
See Also:
Constant Field Values

PACKET_TYPE

public static final short PACKET_TYPE
See Also:
Constant Field Values

ICMP_ID_BYTE

public static final short ICMP_ID_BYTE
See Also:
Constant Field Values

ICMP_SEQUENCE_BYTE

public static final short ICMP_SEQUENCE_BYTE
See Also:
Constant Field Values

ICMP_DATA_BYTE

public static final short ICMP_DATA_BYTE
See Also:
Constant Field Values

ICMP_PSEUDO_LENGTH

public static final short ICMP_PSEUDO_LENGTH
See Also:
Constant Field Values

ICMP_ID_NATIVE_BYTE

public static final short ICMP_ID_NATIVE_BYTE
See Also:
Constant Field Values

ICMP_SEQUENCE_NATIVE_BYTE

public static final short ICMP_SEQUENCE_NATIVE_BYTE
See Also:
Constant Field Values

ICMP_DATA_NATIVE_BYTE

public static final short ICMP_DATA_NATIVE_BYTE
See Also:
Constant Field Values

p

public jpcap.packet.Packet p

msj

public Mensajes msj

meth

public static MetodosGenerales meth
Constructor Detail

PaqueteICMPv6

public PaqueteICMPv6()

PaqueteICMPv6

public PaqueteICMPv6(jpcap.packet.Packet p)
Convertir el paquete de Tipo Packet to ICMPv6

Method Detail

esICMP6

public static boolean esICMP6(jpcap.packet.Packet p)
Función que verifica si un paquete es ICMPv6

Parameters:
p - Paquete a ser verificado
Returns:
Retorna true si el paquete es ICMPv6

esICMP6Nativo

public static boolean esICMP6Nativo(jpcap.packet.Packet p)
Función que verifica si un paquete es ICMPv6 con IPv6 Nativo

Parameters:
p - Paquete a ser verificado
Returns:
Retorna true si el paquete es ICMPv6 con IPv6 Nativo

getLinkSourceAddress

public byte[] getLinkSourceAddress()
Función que retorna la dirección fuente de Capa de Enlace

Returns:
Retorna la dirección fuente (MAC) en un arreglo de bytes

getLinkDestinationAddress

public byte[] getLinkDestinationAddress()
Función que retorna la dirección destino de Capa de Enlace

Returns:
Retorna la dirección fuente (MAC) en un arreglo de bytes

getVersion

public int getVersion()
Retorna versión del paquete IP return int versión IP


getTotalLength

public int getTotalLength()
Retorna longitud total del paquete IP return int con total length


getIdentification

public int getIdentification()
Retorna campo identification del paquete IP return int con campo identification


getTTL

public int getTTL()
Retorna valor del TTL del paquete IP return int con valor del TTL


getProtocol

public int getProtocol()
Retorna protocolo que sigue en el paquete IPv4 return int con valor del protocolo


getSourceIPAddress

public java.lang.String getSourceIPAddress()
Retorna IP Fuente IPv4 return String con IP Fuente


getDestinarionIPAddress

public java.lang.String getDestinarionIPAddress()
Retorna IP Destino IPv4 return String con IP Destino


getPayloadLength

public byte[] getPayloadLength()
Retorna el PayloadLength del paquete IPv6

Returns:
byte[] payload IPv6

getNextHeader

public byte getNextHeader()
Retorna el Next Header del paquete IPv6

Returns:
byte el Next Header de IPv6

getHopLimit

public byte getHopLimit()
Retorna el Hop Limit del paquete IPv6

Returns:
int Hop Limit de IPv6

getType

public int getType()
Retorna el tipo del mensaje ICMPv6

Returns:
int tipo de mensaje ICMPv6

getNativeType

public int getNativeType()
Retorna el tipo del mensaje ICMPv6 cuando viene en IPv6 nativo

Returns:
int tipo de mensaje ICMPv6

getCode

public int getCode()
Retorna el código del mensaje ICMPv6

Returns:
int código de mensaje ICMPv6

getNativeCode

public int getNativeCode()
Retorna el código del mensaje ICMPv6 cuando viene en IPv6 nativo

Returns:
int código de mensaje ICMPv6

getID

public byte[] getID()
Retorna el id del mensaje ICMPv6

Returns:
id de mensaje ICMPv6

getNativeID

public byte[] getNativeID()
Retorna el id del mensaje ICMPv6 cuando viene en IPv6 Nativo

Returns:
id de mensaje ICMPv6

getSeq

public byte[] getSeq()
Retorna el número de secuencia del mensaje ICMPv6

Returns:
número de secuencia de mensaje ICMPv6

getNativeSeq

public byte[] getNativeSeq()
Retorna el número de secuencia del mensaje ICMPv6

Returns:
número de secuencia de mensaje ICMPv6

getDataLength

public int getDataLength()
Retorna la longitud de los datos del paquete ICMPv6

Returns:
longitud de los datos del paquete ICMPv6

getDataNativeLength

public int getDataNativeLength()
Retorna la longitud de los datos del paquete ICMPv6

Returns:
longitud de los datos del paquete ICMPv6

getData

public byte[] getData()
Retorna los datos del mensaje ICMPv6

Returns:
Retorna un arreglo de bytes con los datos del mensaje ICMPv6

getNativeData

public byte[] getNativeData()
Retorna los datos del mensaje ICMPv6 cuando viene en IPv6 nativo

Returns:
Retorna un arreglo de bytes con los datos del mensaje ICMPv6

getSourceAddress

public java.net.Inet6Address getSourceAddress()
                                       throws java.net.UnknownHostException
Función que retorna la dirección IPv6 fuente

Returns:
Retorna IPv6 fuente
Throws:
java.net.UnknownHostException

getDestinationAddress

public java.net.Inet6Address getDestinationAddress()
                                            throws java.net.UnknownHostException
Función que retorna la dirección IPv6 destino

Returns:
The IPv6 Retorna IPv6 destino
Throws:
java.net.UnknownHostException

getChecksum

public java.lang.String getChecksum()
Retorna el checksum del paquete ICMPv6

Returns:
El valor del checksum en ICMPv6

getNativeChecksum

public java.lang.String getNativeChecksum()
Retorna el checksum del paquete ICMPv6

Returns:
El valor del checksum en ICMPv6