universidad autónoma metropolitana unidad azcapotzalco una ...
universidad autónoma metropolitana unidad azcapotzalco una ...
universidad autónoma metropolitana unidad azcapotzalco una ...
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