Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ethr — CLI multiplataforma para testes de desempenho de rede via TCP, UDP, HTTP, HTTPS e ICMP: largura de banda, conexões/s, pacotes/s, latência, perda, jitter, ping e traceroute. | Kitploit
Ferramentas/GitHubGitHub/microsoft/ethr
Utilitários de Propósito GeralMapeamento de RedeColeta de Informações
GitHubmicrosoft/ethr

ethr

CLI multiplataforma para testes de desempenho de rede via TCP, UDP, HTTP, HTTPS e ICMP: largura de banda, conexões/s, pacotes/s, latência, perda, jitter, ping e traceroute.

Ver Repositório
5.9k405há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Ethr Build Status

O Ethr é uma ferramenta multiplataforma de medição de desempenho de rede escrita em golang. O objetivo deste projeto é fornecer uma ferramenta nativa para medições abrangentes de desempenho de rede de largura de banda, conexões/s, pacotes/s, latência, perda e jitter, em vários protocolos, como TCP, UDP, HTTP, HTTPS, e em várias plataformas, como Windows, Linux e outros sistemas Unix.

Servidor Ethr em ação

O Ethr se inspira em ferramentas de desempenho de rede de código aberto existentes e desenvolve essas ideias. Para medição de largura de banda, é semelhante ao iPerf3, para tráfego TCP e UDP. O iPerf3 tem muito mais opções para isso, como testes com limitação de banda, conjunto de recursos mais rico, enquanto o Ethr tem suporte a múltiplas threads, o que lhe permite escalar para 1024 ou até mais conexões, comunicação de vários clientes com um único servidor etc. Para medições de latência, é semelhante ao latte no Windows ou ao sockperf no Linux.

O Ethr oferece mais medições de teste em comparação com outras ferramentas, por exemplo, fornece medições de largura de banda, conexões/s, pacotes/s, latência e latência de estabelecimento de conexão TCP, tudo em uma única ferramenta. No futuro, há planos de adicionar mais recursos (esperando que outros contribuam), bem como mais suporte a protocolos, para torná-lo uma ferramenta abrangente para medições de desempenho de rede.

O Ethr é nativamente multiplataforma, graças ao golang, em comparação com a compilação por meio de uma camada de abstração como o cygwin, que pode limitar a funcionalidade. Ele espera unificar a medição de desempenho combinando a funcionalidade de ferramentas como iPerf3, ntttcp, psping, sockperf e latte, oferecendo uma única ferramenta em várias plataformas e vários protocolos.

Instalação

Download

https://github.com/Microsoft/ethr/releases/latest

Linux

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_linux.zip
unzip ethr_linux.zip

Windows Powershell

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_windows.zip -OutFile ethr_windows.zip
Expand-Archive .\ethr_windows.zip -DestinationPath .

OSX

root@kitploit:~
wget https://github.com/microsoft/ethr/releases/latest/download/ethr_osx.zip
unzip ethr_osx.zip

Compilação a partir do código-fonte

Nota: a versão 1.11 ou superior do go é necessária para compilar a partir do código-fonte.

Usamos o go-module para gerenciar as dependências do Ethr. Para mais informações, consulte como usar go-modules!

root@kitploit:~
git clone https://github.com/Microsoft/ethr.git
cd ethr
go build

Se o ethr for clonado dentro da árvore $GOPATH/src, certifique-se de invocar o comando go com GO111MODULE=on!

Docker

Construa a imagem usando o comando:

root@kitploit:~
docker build -t microsoft/ethr .

Gere o binário:

Linux

root@kitploit:~
docker run -e GOOS=linux -v $(pwd):/out microsoft/ethr make build-docker

Windows

root@kitploit:~
docker run -e BINARY_NAME=ethr.exe -e GOOS=windows -v $(pwd):/out microsoft/ethr make build-docker

OS X

root@kitploit:~
docker run -e BINARY_NAME=ethr -e GOOS=darwin -v $(pwd):/out microsoft/ethr make build-docker

Usando go get

root@kitploit:~
go get github.com/microsoft/ethr

Usando ArchLinux AUR

Supondo que você esteja usando o yay (https://github.com/Jguer/yay):

root@kitploit:~
yay -S ethr

Publicando pacote Nuget

Siga o tópico Compilação a partir do código-fonte para compilar ethr.exe

Modifique o ethr.nuspec para adicionar a nova versão de lançamento

root@kitploit:~
vim ethr.nuspec

Crie um pacote nuget (como Ethr.0.2.1.nupkg)

root@kitploit:~
nuget.exe pack ethr.nuspec

Envie o pacote para nuget.org.

Uso

Uso simples

Ajuda:

root@kitploit:~
ethr -h

Servidor:

root@kitploit:~
ethr -s

Servidor com interface de texto:

root@kitploit:~
ethr -s -ui

Cliente:

root@kitploit:~
ethr -c <server ip>

Exemplos:

root@kitploit:~
// Start server
ethr -s

// Start client for default (bandwidth) test measurement using 1 thread
ethr -c localhost

// Start bandwidth test using 8 threads
ethr -c localhost -n 8

// Start connections/s test using 64 threads to server 10.1.0.11
ethr -c 10.1.0.11 -t c -n 64

// Run Ethr server on port 9999
./ethr -s -port 9999

// Measure TCP connection setup latency to ethr server on port 9999
// Assuming Ethr server is running on server with IP address: 10.1.1.100
./ethr -c 10.1.1.100 -p tcp -t pi -d 0 -4 -port 9999

// Measure TCP connection setup latency to www.github.com at port 443
./ethr -x www.github.com:443 -p tcp -t pi -d 0 -4

// Measure TCP connection setup latency to www.github.com at port 443
// Note: Here port 443 is driven automatically from https
./ethr -x https://www.github.com -p tcp -t pi -d 0 -4

// Measure ICMP ping latency to www.github.com
sudo ./ethr -x www.github.com -p icmp -t pi -d 0 -4

// Run measurement similar to mtr on Linux
sudo ./ethr -x www.github.com -p icmp -t mtr -d 0 -4

// Measure packets/s over UDP by sending small 1-byte packets
./ethr -c 172.28.192.1 -p udp -t p -d 0

Problemas conhecidos e requisitos

Windows

Para testes relacionados a ICMP, Ping, TraceRoute, MyTraceRoute, o Windows exige que o ICMP seja permitido pelo Firewall. Isso pode ser feito usando o PowerShell pelos seguintes comandos. No entanto, use isso apenas se a política de segurança da sua configuração permitir.

root@kitploit:~
// Allow ICMP packets via Firewall for IPv4
New-NetFirewallRule -DisplayName "ICMP_Allow_Any" -Direction Inbound -Protocol ICMPv4 -IcmpType Any -Action Allow  -Profile Any -RemotePort Any

// Allow ICMP packets via Firewall for IPv6
New-NetFirewallRule -DisplayName "ICMPV6_Allow_Any" -Direction Inbound -Protocol ICMPv6 -IcmpType Any -Action Allow  -Profile Any -RemotePort Any

Além disso, para TraceRoute e MyTraceRoute baseados em TCP, o modo Administrador é necessário; caso contrário, o Ethr não conseguirá receber mensagens de TTL excedido do ICMP.

Linux

Para Ping ICMP, TraceRoute ICMP/TCP e MyTraceRoute, o modo privilegiado é necessário via sudo.

Linha de comando completa

Parâmetros comuns

root@kitploit:~
	-h 
		Help
	-no 
		Disable logging to file. Logging to file is enabled by default.
	-o <filename>
		Name of log file. By default, following file names are used:
		Server mode: 'ethrs.log'
		Client mode: 'ethrc.log'
	-debug 
		Enable debug information in logging output.
	-4 
		Use only IP v4 version
	-6 
		Use only IP v6 version

Parâmetros do modo servidor

root@kitploit:~
In this mode, Ethr runs as a server, allowing multiple clients to run
performance tests against it.
	-s 
		Run in server mode.
	-ip <string>
		Bind to specified local IP address for TCP & UDP tests.
		This must be a valid IPv4 or IPv6 address.
		Default: <empty> - Any IP
	-port <number>
		Use specified port number for TCP & UDP tests.
		Default: 8888
	-ui 
		Show output in text UI.

Parâmetros do modo cliente

root@kitploit:~
In this mode, Ethr client can only talk to an Ethr server.
	-c <server>
		Run in client mode and connect to <server>.
		Server is specified using name, FQDN or IP address.
	-b <rate>
		Transmit only Bits per second (format: <num>[K | M | G])
		Only valid for Bandwidth tests. Default: 0 - Unlimited
		Examples: 100 (100bits/s), 1M (1Mbits/s).
	-cport <number>
		Use specified local port number in client for TCP & UDP tests.
		Default: 0 - Ephemeral Port
	-d <duration>
		Duration for the test (format: <num>[ms | s | m | h]
		0: Run forever
		Default: 10s
	-g <gap>
		Time interval between successive measurements (format: <num>[ms | s | m | h]
		Only valid for latency, ping and traceRoute tests.
		0: No gap
		Default: 1s
	-i <iterations>
		Number of round trip iterations for each latency measurement.
		Only valid for latency testing.
		Default: 1000
	-ip <string>
		Bind to specified local IP address for TCP & UDP tests.
		This must be a valid IPv4 or IPv6 address.
		Default: <empty> - Any IP
	-l <length>
		Length of buffer to use (format: <num>[KB | MB | GB])
		Only valid for Bandwidth tests. Max 1GB.
		Default: 16KB
	-n <number>
		Number of Parallel Sessions (and Threads).
		0: Equal to number of CPUs
		Default: 1
	-p <protocol>
		Protocol ("tcp", "udp", "http", "https", or "icmp")
		Default: tcp
	-port <number>
		Use specified port number for TCP & UDP tests.
		Default: 8888
	-r 
		For Bandwidth tests, send data from server to client.
	-t <test>
		Test to run ("b", "c", "p", "l", "cl" or "tr")
		b: Bandwidth
		c: Connections/s
		p: Packets/s
		l: Latency, Loss & Jitter
		pi: Ping Loss & Latency
		tr: TraceRoute
		mtr: MyTraceRoute with Loss & Latency
		Default: b - Bandwidth measurement.
	-tos 
		Specifies 8-bit value to use in IPv4 TOS field or IPv6 Traffic Class field.
	-w <number>
		Use specified number of iterations for warmup.
		Default: 1
	-T <string>
		Use the given title in log files for logging results.
		Default: <empty>		

Parâmetros do modo externo

root@kitploit:~
In this mode, Ethr talks to a non-Ethr server. This mode supports only a
few types of measurements, such as Ping, Connections/s and TraceRoute.
	-x <destination>
		Run in external client mode and connect to <destination>.
		<destination> is specified in URL or Host:Port format.
		For URL, if port is not specified, it is assumed to be 80 for http and 443 for https.
		Example: For TCP - www.microsoft.com:443 or 10.1.0.4:22 or https://www.github.com
		         For ICMP - www.microsoft.com or 10.1.0.4
	-cport <number>
		Use specified local port number in client for TCP & UDP tests.
		Default: 0 - Ephemeral Port
	-d <duration>
		Duration for the test (format: <num>[ms | s | m | h]
		0: Run forever
		Default: 10s
	-g <gap>
		Time interval between successive measurements (format: <num>[ms | s | m | h]
		Only valid for latency, ping and traceRoute tests.
		0: No gap
		Default: 1s
	-ip <string>
		Bind to specified local IP address for TCP & UDP tests.
		This must be a valid IPv4 or IPv6 address.
		Default: <empty> - Any IP
	-n <number>
		Number of Parallel Sessions (and Threads).
		0: Equal to number of CPUs
		Default: 1
	-p <protocol>
		Protocol ("tcp", or "icmp")
		Default: tcp
	-t <test>
		Test to run ("c", "cl", or "tr")
		c: Connections/s
		pi: Ping Loss & Latency
		tr: TraceRoute
		mtr: MyTraceRoute with Loss & Latency
		Default: pi - Ping Loss & Latency.
	-tos 
		Specifies 8-bit value to use in IPv4 TOS field or IPv6 Traffic Class field.
	-w <number>
		Use specified number of iterations for warmup.
		Default: 1
	-T <string>
		Use the given title in log files for logging results.
		Default: <empty>		

Status

Suporte a plataformas

Windows

Testado: Windows 10, Windows 7 SP1

Não testado: outras versões do Windows

Linux

Testado: Ubuntu Linux 18.04.1 LTS, OpenSuse Leap 15

Não testado: outras versões do Linux

OSX

Testado: OSX é testado por colaboradores

Outros

Nenhuma outra plataforma é testada neste momento

Lista de Tarefas

Os itens de trabalho da lista de tarefas são mostrados abaixo. Contribuições são muito bem-vindas para esses itens ou para quaisquer outros recursos e correções de bugs.

  • Testar o Ethr em outras versões do Windows, outras versões do Linux, FreeBSD e outros sistemas operacionais
  • Suporte para latência UDP, TraceRoute e MyTraceRoute

Contribuindo

Este projeto recebe contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Contribuidor (CLA), declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Ao enviar um pull request, um CLA-bot determinará automaticamente se você precisa fornecer um CLA e decorará o PR adequadamente (por exemplo, etiqueta, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para obter mais informações, consulte as Perguntas frequentes sobre o Código de Conduta ou entre em contato [email protected] com quaisquer perguntas ou comentários adicionais.

Baixar ferramenta
ProtocoloLargura de bandaConexões/sPacotes/sLatênciaPingTraceRouteMyTraceRoute
TCPSimSimNASimSimSimSim
UDPSimNASimNãoNANãoNão
ICMPNãoNANANASimSimSim