Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
masscan — Scanner de portas TCP, emite pacotes SYN de forma assíncrona, escaneando toda a Internet em menos de 5 minutos. | Kitploit
Ferramentas/GitHubGitHub/robertdavidgraham/masscan
Sniffing e Análise de PacotesReconhecimentoMapeamento de RedeEscaneamento de PortasColeta de InformaçõesTestes de PenetraçãoTop em Mapeamento de Rede nº2Top em Sniffing e Análise de Pacotes nº17Top em Escaneamento de Portas nº2
25.9k3.2k82há 5 mesesRevisado pelo Kitploit
GitHubrobertdavidgraham/masscan

masscan

Scanner de portas TCP, emite pacotes SYN de forma assíncrona, escaneando toda a Internet em menos de 5 minutos.

Ver Repositório

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

unittests

MASSCAN: Scanner de portas IP em massa

Este é um scanner de portas em escala de Internet. Ele pode escanear toda a Internet em menos de 5 minutos, transmitindo 10 milhões de pacotes por segundo, a partir de uma única máquina.

Seu uso (parâmetros, saída) é semelhante ao nmap, o scanner de portas mais famoso. Em caso de dúvida, experimente um desses recursos – funcionalidades que suportam varredura generalizada de muitas máquinas são suportadas, enquanto a varredura aprofundada de máquinas individuais não.

Internamente, ele usa transmissão assíncrona, semelhante a scanners de portas como scanrand, unicornscan e ZMap. É mais flexível, permitindo faixas arbitrárias de portas e endereços.

NOTA: o masscan usa sua própria pilha TCP/IP ad hoc. Qualquer coisa além de varreduras de portas simples pode causar conflito com a pilha TCP/IP local. Isso significa que você precisa usar a opção --src-ip para executar a partir de um endereço IP diferente, ou usar --src-port para configurar quais portas de origem o masscan usa, e então também configurar o firewall interno (como pf ou iptables) para firewalling essas portas do resto do sistema operacional.

Esta ferramenta é gratuita, mas considere contribuir com dinheiro para seu desenvolvimento: Endereço da carteira Bitcoin: 1MASSCANaHUiyTtR3bJ2sLGuMw5kDBaj4T

Compilação

No Debian/Ubuntu, é algo como o seguinte. Na verdade, não tem dependências além de um compilador C (como gcc ou clang).

sudo apt-get --assume-yes install git make gcc
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make

Isso coloca o programa no subdiretório masscan/bin. Para instalá-lo (no Linux) execute:

make install

O código fonte consiste em muitos arquivos pequenos, então a compilação fica muito mais rápida usando a compilação com vários threads. Isso requer mais de 2 GB em um Raspberry Pi (e quebra), então você pode usar um número menor, como -j4 em vez de todos os threads possíveis.

make -j

Embora o Linux seja a plataforma alvo principal, o código roda bem em muitos outros sistemas (Windows, macOS, etc.). Aqui estão algumas informações adicionais de compilação:

  • Windows c/ Visual Studio: use o projeto VS10
  • Windows c/ MinGW: apenas digite make
  • Windows c/ cygwin: não funciona
  • Mac OS X /w XCode: use o projeto XCode4
  • Mac OS X /w linha de comando: apenas digite make
  • FreeBSD: digite gmake
  • outros: tente compilar todos os arquivos juntos, cc src/*.c -o bin/masscan

No macOS, os binários x86 parecem funcionar tão rápido sob emulação ARM.

Uso

O uso é semelhante ao nmap. Para escanear um segmento de rede para algumas portas:

# masscan -p80,8000-8100 10.0.0.0/8 2603:3001:2d00:da00::/112

Isso irá:

  • escanear a sub-rede 10.x.x.x e as sub-redes 2603:3001:2d00:da00::x
  • escanear a porta 80 e a faixa 8000 a 8100, ou 102 portas no total, em ambas as sub-redes
  • imprimir a saída para <stdout> que pode ser redirecionada para um arquivo

Para ver a lista completa de opções, use o recurso --echo. Isso despeja a configuração atual e sai. Esta saída pode ser usada como entrada de volta no programa:

# masscan -p80,8000-8100 10.0.0.0/8 2603:3001:2d00:da00::/112 --echo > xxx.conf
# masscan -c xxx.conf --rate 1000

Verificação de banner

O Masscan pode fazer mais do que apenas detectar se as portas estão abertas. Ele também pode completar a conexão TCP e a interação com o aplicativo naquela porta para capturar informações simples de "banner".

O Masscan suporta verificação de banner nos seguintes protocolos:

  • FTP
  • HTTP
  • IMAP4
  • memcached
  • POP3
  • SMTP
  • SSH
  • SSL
  • SMBv1
  • SMBv2
  • Telnet
  • RDP
  • VNC

O problema com isso é que o masscan contém sua própria pilha TCP/IP separada do sistema no qual você o executa. Quando o sistema local recebe um SYN-ACK do alvo sondado, ele responde com um pacote RST que interrompe a conexão antes que o masscan possa capturar o banner.

A maneira mais fácil de evitar isso é atribuir ao masscan um endereço IP separado. Isso seria algo como um dos seguintes exemplos:

# masscan 10.0.0.0/8 -p80 --banners --source-ip 192.168.1.200
  # masscan 2a00:1450:4007:810::/112 -p80 --banners --source-ip 2603:3001:2d00:da00:91d7:b54:b498:859d

O endereço que você escolher deve estar na sub-rede local e não deve estar sendo usado por outro sistema. O Masscan avisará que você cometeu um erro, mas você pode ter bagunçado as comunicações da outra máquina por vários minutos, então tome cuidado.

Em alguns casos, como WiFi, isso não é possível. Nesses casos, você pode firewallar a porta que o masscan usa. Isso impede que a pilha TCP/IP local veja o pacote, mas o masscan ainda o vê, pois ele contorna a pilha local. Para Linux, seria algo como:

# iptables -A INPUT -p tcp --dport 61000 -j DROP
# masscan 10.0.0.0/8 -p80 --banners --source-port 61000

Você provavelmente deseja escolher portas que não conflitem com portas que o Linux possa escolher para portas de origem. Você pode ver a faixa que o Linux usa e reconfigurar essa faixa, olhando no arquivo:

/proc/sys/net/ipv4/ip_local_port_range

Na versão mais recente do Kali Linux (agosto de 2018), essa faixa é 32768 a 60999, então você deve escolher portas abaixo de 32768 ou acima de 61000.

Definir uma regra iptables só dura até a próxima reinicialização. Você precisa descobrir como salvar a configuração dependendo da sua distribuição, como usar iptables-save e/ou iptables-persistent.

No Mac OS X e BSD, existem etapas semelhantes. Para descobrir as faixas a evitar, use um comando como o seguinte:

# sysctl net.inet.ip.portrange.first net.inet.ip.portrange.last

No FreeBSD e MacOS mais antigo, use um comando ipfw:

# sudo ipfw add 1 deny tcp from any to any 40000 in
# masscan 10.0.0.0/8 -p80 --banners --source-port 40000

No MacOS mais novo e OpenBSD, use o utilitário de filtro de pacotes pf. Edite o arquivo /etc/pf.conf para adicionar uma linha como a seguinte:

block in proto tcp from any to any port 40000:40015

Em seguida, para ativar o firewall, execute o comando:

# pfctl -E    

Se o firewall já estiver em execução, reinicie ou recarregue as regras com o seguinte comando:

# pfctl -f /etc/pf.conf

O Windows não responde com pacotes RST, então nenhuma dessas técnicas é necessária. No entanto, o masscan ainda é projetado para funcionar melhor usando seu próprio endereço IP, portanto, você deve executá-lo dessa forma quando possível, mesmo quando não for estritamente necessário.

O mesmo é necessário para outras verificações, como a verificação --heartbleed, que é apenas uma forma de verificação de banner.

Como escanear toda a Internet

Embora útil para redes internas menores, o programa é realmente projetado com toda a Internet em mente. Pode ser algo assim:

# masscan 0.0.0.0/0 -p0-65535

Escaneamento da Internet é ruim. Por um lado, partes da Internet reagem mal a serem escaneadas. Por outro lado, alguns sites rastreiam escaneamentos e adicionam você a uma lista de banimento, o que fará com que você seja firewalled de partes úteis da Internet. Portanto, você deseja excluir muitos intervalos. Para colocar na lista negra ou excluir intervalos, você deseja usar a seguinte sintaxe:

# masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt

Isso apenas imprime os resultados na linha de comando. Você provavelmente deseja que eles sejam salvos em um arquivo. Portanto, você deseja algo como:

# masscan 0.0.0.0/0 -p0-65535 -oX scan.xml

Isso salva os resultados em um arquivo XML, permitindo que você facilmente despeje os resultados em um banco de dados ou algo do tipo.

Baixar ferramenta