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 />

int main(int argc, char **argv) {<br />

pcap_handler rutina;<br />

char *dev;<br />

bpf_u_int32 red, mascara;<br />

struct bpf_program filtro;<br />

int datalink;<br />

char pbuf[ETHER_MAX_LEN];<br />

char ebuf[PCAP_ERRBUF_SIZEj;<br />

if (! (dev = pcap_lookupdev(ebuf))) {<br />

fprintf(stderr, “%s\n”, ebuf);<br />

exit(1) ;<br />

}<br />

fprintf(stdout, “Dispositivo: %s \n”, dev);<br />

if (! (pc = pcap_open_live(dev, ETHER_MAX_LEN, 1, 0, ebuf))) {<br />

fprintf(stderr, “%s\n”, ebuf);<br />

exit(1);<br />

}<br />

if ((datalink = pcap_datalink(pc)) < 0) {<br />

fprintf(stderr, “pcap_datalink: %s\n”, pcap_geterr(pc));<br />

exit(1) ;<br />

}<br />

switch (datalink) {<br />

case DLT_EN10MB:<br />

fprintf(stdout, “Datalink: ethernet\n”);<br />

rutina = ethernet;<br />

break;<br />

default:<br />

fprintf(stderr, “(%i) No se puede manejar este tipo de tramas\n”, datalink);<br />

exit(1) ;<br />

}<br />

if (pcap_lookupnet(dev, &red, &mascara, ebuf) < 0) {<br />

fprintf(stderr, “%s\n”, ebuf);<br />

exit(1);<br />

}<br />

fprintf(stdout, “Red: %s\n”, inet_ntoa(red);<br />

fprintf(stdout, “Mascara: %s\n”, inet_ntoa(mascara));<br />

if (argv[1]) (<br />

if (pcap_compile(pc, &filtro, argv[l] , 0, mascara) < 0) {<br />

fprintf(stderr, “pcap_compile: %s \n”, pcap_geterr(pc));<br />

exit(1);<br />

}<br />

if (pcap_setfilter(pc, &filtro) < 0) {<br />

fprintf(stderr, “pcap_setfilter: %s\n”, pcap_geterr(pc));<br />

exit(1);<br />

}<br />

}<br />

signal(SIGINT, fin);<br />

pcap_loop(pc, -1, rutina, NULL);}<br />

133

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

Saved successfully!

Ooh no, something went wrong!