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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

char errbuf[PCAP_ERRBUF_SIZE];<br />

} ;<br />

23.- Función pcap _open_offline()<br />

pcap_t* pcap_open~offline(char * fname , char *ebuf)<br />

La función pcap _open_offline() permite abrir un archivo en lugar de un dispositivo de red como<br />

en el caso anterior. Esta función devuelve un descriptor o NULL en caso de error.<br />

La verdadera intención de esta función es obtener los datos de <strong>una</strong> captura anterior que se han<br />

almacenado en un archivo determinado. A continuación se ven las funciones que permiten abrir el<br />

archivo y almacenar los datos que se van capturando.<br />

• fname es el nombre del archivo que se abre para leer los paquetes.<br />

• ebuf es un buffer donde guardar en caso de error un mensaje explicativo.<br />

24.- Función pcap _dump _open()<br />

pcap_dumper_t* pcap_dump_open(pcap_t *p, char *fname)<br />

La función pcap_dump_open() abre un archivo para volcar en él los paquetes capturados. Este<br />

archivo puede ser abierto posteriormente con la función pcap_open_offline() para leer su<br />

contenido. En caso de error se devuelve NULL.<br />

• p es un descriptor devuelto por las funciones pcap _open_live() o<br />

pcap _open_offline( ).<br />

• fname es el nombre del archivo que se quiere abrir para escritura.<br />

25.- Función pcap _lookupdev()<br />

char* pcap_lookupdev(char *errbuf)<br />

La función pcap_lookupdev() devuelve <strong>una</strong> cadena de caracteres que identifica un dispositivo del<br />

sistema válido para realizar la captura de paquetes. La cadena devuelta por esta función puede<br />

ser usada como parámetro dev en la función pcap_open_live(). Si hay algún error se devuelve<br />

NULL.<br />

• errbuf es un buffer donde, en caso de error, la función devuelve <strong>una</strong> cadena explicativa<br />

del error.<br />

26.- Función pcap _lookupnet()<br />

int pcap_lookupnet(char; *dev, bpf_u_int32 *netp , bpf_u_int32 *maskp, char *errbuf)<br />

La función pcap _lookupnet() obtiene la red y la máscara de red asociadas con un dispositivo de<br />

captura. En caso de error la función devuelve -1.<br />

• dev es <strong>una</strong> cadena de texto representativa del dispositivo.<br />

• netp recibie el valor de la red.<br />

• maskp recie el valor de la máscara de red.<br />

• errbuf en ese buffer se almacena el mensaje de error.<br />

27.- Función pcap _dispatch()<br />

int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user)<br />

La función pcap_dispatch() comienza la captura de paquetes. Devuelve el número de paquetes<br />

recibidos, O en caso de alcanzar un EOF ó -1 en caso de error.<br />

125

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

Saved successfully!

Ooh no, something went wrong!