01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

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.

}<br />

icmp->un.echo.sequence = seq;<br />

memcpy(icmpdata, data, datasize);<br />

icmp->checksum = in_cksum(icmp, TAM_ICMPHDR + datasize);<br />

vitima.sin_addr.s_addr = ip->daddr;<br />

vitima.sin_family = AF_INET;<br />

N = sendto(msocket, pacote, TAM_IPHDR + TAM_ICMPHDR + datasize, 0,<br />

(struct sockaddr*)&vitima, sizeof(struct sockaddr));<br />

if (N == -1) {<br />

perror("sendto()");<br />

free(pacote);<br />

exit(-1);<br />

}<br />

free(pacote);<br />

No caso acima nossa função seria para gerarmos pacotes ICMP do tipo 8.<br />

Bem, estes dois exemplo são um exemplo de como podemos trabalhar<br />

com raw sockets e criarmos diversas aplicações interessantes. Espero que<br />

estes exemplos finais possam Ter orientado vocês a realizarem estudos<br />

mais profundos e interessantes a respeito. Mais uma vez gostaria de<br />

agradecer aos meus leitores que tem apoiado o meu trabalho e desde já<br />

estou no aguardo de dúvidas, comentários e críticas sobre esta série de<br />

artigos.<br />

56

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

Saved successfully!

Ooh no, something went wrong!