
Utilitário de linha de comando para criação e injeção de pacotes de rede.
O Projeto Nemesis foi projetado para ser uma pilha IP humana portátil baseada em linha de comando para sistemas UNIX-like e Windows. O conjunto é dividido por protocolo e deve permitir a criação de scripts úteis de pacotes injetados a partir de scripts shell simples.
A versão mais recente está sempre disponível no GitHub em
Cada protocolo suportado usa seu próprio "injetor" de protocolo, que é acompanhado por uma página man explicando sua funcionalidade.
Consulte o ChangeLog para detalhes das versões e a documentação de cada injetor de protocolo para descrições aprofundadas da funcionalidade disponível.
Injetar redirect ICMP malformado
sudo nemesis icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -i 5
DHCP Discover (deve usar sudo e -d para enviar com IP de origem 0.0.0.0):
sudo nemesis dhcp -d eth0
Ingresso IGMP v2 para o grupo 239.186.39.5
sudo nemesis igmp -v -p 22 -S 192.168.1.20 -g 239.186.39.5 -D 239.186.39.5
Consulta IGMP v2, tempo máx. de resposta 10 seg, com opção IP Router Alert
echo -ne '\x94\x04\x00\x00' >RA
sudo nemesis igmp -v -p 0x11 -c 100 -D 224.0.0.1 -O RA
ou
echo -ne '\x94\x04\x00\x00' | sudo nemesis igmp -v -p 0x11 -c 100 -D 224.0.0.1 -O -
Consulta IGMP v3, com opção IP Router Alert
echo -ne '\x03\x64\x00\x00' > v3
sudo nemesis igmp -p 0x11 -c 100 -i 0.0.0.0 -P v3 -D 224.0.0.1 -O RA
Pacote TCP aleatório
sudo nemesis tcp
Teste de DoS e DDoS
sudo nemesis tcp -v -S 192.168.1.1 -D 192.168.2.2 -fSA -y 22 -P foo
sudo nemesis udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P bindpkt
sudo nemesis icmp redirect -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -qR
sudo nemesis arp -v -d eth0 -H 0:1:2:3:4:5 -S 10.11.30.5 -D 10.10.15.1
O Nemesis é construído em torno do libnet. As compilações para plataforma Windows também exigem libpcap. O Nemesis <= 1.4 foi construído em torno do libnet 1.0 e o Nemesis >= 1.5 requer libnet 1.1, ou posterior.
curl -sS https://deb.troglobit.com/pubkey.gpg | sudo apt-key add -
echo "deb [arch=amd64] https://deb.troglobit.com/debian stable main" | sudo tee /etc/apt/sources.list.d/troglobit.list
sudo apt-get update && sudo apt-get install nemesis
Em sistemas GNU/Linux derivados do Debian e Ubuntu:
sudo apt install libnet1-dev
Isso instala os cabeçalhos e a biblioteca libnet em um local padrão que o script configure pode encontrar facilmente. Caso sua instalação do libnet1 esteja em um local não padrão, você pode fornecer os caminhos assim:
configure LDFLAGS=-L/path/to/lib CPPFLAGS=-I/path/to/header
O sistema GNU Configure & Build usa /usr/local como prefixo de instalação padrão. Normalmente isso é suficiente, o exemplo abaixo instala em /usr em vez disso:
tar xf nemesis-1.7.tar.xz
cd nemesis-1.7/
./configure --prefix=/usr
make -j5
sudo make install-strip
O nemesis.exe pode ser instalado em qualquer lugar em um sistema Windows. A ressalva é que o LibnetNT.dll deve existir no mesmo diretório que o nemesis.exe ou em qualquer um dos diretórios listados na variável %PATH%. No Windows 2000, isso seria %SystemRoot%\System32
Nota: a compilação para Windows não foi testada ou experimentada em mais de uma década. YYMV
Se você quiser contribuir, ou simplesmente experimentar os recursos mais recentes ainda não lançados, então você precisa saber algumas coisas sobre o sistema GNU Configure & Build:
configure.ac e um Makefile.am por diretório são arquivos-chaveconfigure e Makefile.in são gerados a partir do autogen.sh, eles não são armazenados no GIT, mas gerados automaticamente para os tarballs de lançamentoMakefile é gerado pelo script configurePara compilar a partir do GIT, você primeiro precisa clonar o repositório e executar o script autogen.sh. Isso requer que automake e autoconf estejam instalados no seu sistema.
git clone https://github.com/libnet/nemesis.git
cd nemesis/
./autogen.sh
./configure && make
Os fontes do GIT são um alvo móvel e não são recomendados para sistemas de produção, a menos que você saiba o que está fazendo!
O projeto é atualmente mantido no GitHub com a intenção de servir como um ponto focal para novos desenvolvimentos. Se você tiver patches e/ou ideias, envie-os usando o rastreador de issues ou como pull requests.