06.01.2015 Views

universidad autónoma metropolitana unidad azcapotzalco una ...

universidad autónoma metropolitana unidad azcapotzalco una ...

universidad autónoma metropolitana unidad azcapotzalco una ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

APÉNDICE A. CODIGO FUENTE DE LA HERRAMIENTA DE GESTION DE REDES VIRTUALES<br />

El primer parámetro es un puntero al buffer que contiene los datos del paquete sobre el cual se<br />

calcula la suma de control. El tamaño del paquete se indica con el parámetro len. El tipo de<br />

paquete (el protocolo de transporte) se indica con el parámetro protocol.<br />

18.- u_short ip_check(u_short *buf, int len)<br />

Calcula el checksum de un datagrama. El parámetro buf es un puntero al buffer que contiene los<br />

datos. La longitud de los datos se indica con el parámetro len.<br />

19.- u_short tcp_check(struct tcphdr *th, int len, u_long src, u_long dst);<br />

Calcula el checksum de la cabecera TCP. En el parámetro th se le pasa un puntero a la cabecera<br />

y datos del segmento TCP. La longitud del segmento se indica con len. La dirección de red (IP)<br />

origen y destino se indican con los parámetros src y dst respectivamente.<br />

La función devuelve el checksum.<br />

20- int seed_prand();<br />

Alimenta la semilla para la generación de números pseudoaleatorios.<br />

21.- u_long get_prand(int type);<br />

Devuelve un número aleatorio. El parámetro type indica el tipo de número que se desea obtener<br />

(véase figura. 3.17):<br />

• Un 1 o un 0 (PR2)<br />

• Un byte (PR8)<br />

• Entero corto con signo (0 a 32767) (PR16)<br />

• Entero corto sin signo (0 a 65535) (PRu16)<br />

• Entero largo con signo (0 a 2147483647) (PR32)<br />

• Entero largo sin signo (0 a 4294967295) (PRu32)<br />

Constante<br />

ICMP_H<br />

ICMP_ECHO_H<br />

TCP_H<br />

UDP_H<br />

IP_H<br />

ARP_H<br />

ETH_H<br />

P_H<br />

Longitud de las Cabeceras<br />

Descripcion<br />

Cabecera de mensajes ICMP<br />

Cabecera de los mensajes ICMP de tipo ECHO y ECHOREPLY<br />

Cabecera de los segmentos TCP<br />

Cabecera de los paquetes UDP<br />

cabecera de datagrama IP<br />

Cabecera de mensaje ARP<br />

Cabecera de trama Ethernet<br />

Pseudo-cabecera TCP/UDP. Esta pseudo-cabecera se usa para<br />

calcular el check sum de los segmentos TCP y de los paquetes<br />

UDP. La pseudo-cabecera consta de la direccion IP de origen y<br />

destino, y el campo de longitud de la cabecera TCP o del paquete<br />

UDP.<br />

Figura 3.17.- Constantes Definidas en Libnet<br />

#define ARP_H 0xlc<br />

#define ETH_H 0xe<br />

#define UDP_H 0x8<br />

120

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!