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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
passer — Localizador passivo de serviços, um sniffer em python que identifica servidores, clientes, nomes e muito mais | Kitploit
Ferramentas/GitHubGitHub/activecm/passer
Ferramentas DefensivasSniffing e Análise de PacotesReconhecimentoMapeamento de RedeForensia de RedeColeta de InformaçõesSegurança de RedeFalsificação de Impressão DigitalAnálise de DNS
GitHubactivecm/passer

passer

Localizador passivo de serviços, um sniffer em python que identifica servidores, clientes, nomes e muito mais

2665316há 8 mesesRevisado 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 →
Ver Repositório
Compartilhar

passer

Localizador de serviços passivo, um sniffer em python que identifica servidores, clientes, nomes e muito mais

Introdução

Notas rápidas para começar com o passer, o sniffer de serviços passivo. Você é responsável por obter permissão para fazer sniffing.

O passer pode funcionar a partir de uma captura de pacotes ao vivo ou de um arquivo pcap (parâmetro de linha de comando, veja exemplos abaixo). Ele reporta serviços e clientes ao vivo, placas ethernet na lan, entradas dns, sistemas operacionais, e roteadores - tudo passivamente!

Se você estiver usando windows ou se os caminhos para os arquivos de suporte não corresponderem aos meus por algum outro motivo, me avise onde eles estão e eu terei prazer em atualizar o script.

Instalação

Requisitos

  • Python >=2.4 e <3.0
  • Bibliotecas Python (veja requirements.txt)
    • ipaddress
    • pytz
    • scapy>=2.4.0

Opcional (mas recomendado)

  • nmap
    • para fabricantes de Ethernet e strings de serviço
  • ettercap, wireshark e/ou arp-scan
    • para mais fabricantes de Ethernet
  • p0f versão 2
    • para o arquivo de fingerprint de SO

Ubuntu/Debian e distros baseadas em deb

# Install system dependencies
sudo apt-get install arp-scan ettercap-text-only nmap wireshark 
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Redhat/CentOS/Fedora e distribuições baseadas em rpm

# Install system dependencies
sudo yum install arp-scan ettercap nmap wireshark
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Windows (incompleto)

Para instalar o scapy, consulte o guia de instalação.

Docker

O Passer também está disponível como uma imagem Docker. Se você ainda não tem o Docker, aqui está uma forma rápida e simples de instalá-lo no Linux:

curl -fsSL https://get.docker.com | sh -

Caso contrário, siga as instruções de instalação para o seu sistema operacional.

Para a maioria dos usos, recomendamos o script passer incluído neste repositório. Este script tratará de todos os detalhes específicos do docker

wget https://raw.githubusercontent.com/activecm/passer/master/passer
chmod +x passer

Você pode então usar este script exatamente como faria em qualquer um dos exemplos abaixo. Por exemplo:

./passer -i eth0
# The equivalent without using the included script would be:
docker run --rm --name=passer -i --init --net=host --cap-add=net_raw activecm/passer -i eth0

Para interromper a execução do passer:

docker stop passer

Exemplos

Sniff em tempo real como root

/path/to/passer.py

Isto captura de todas as interfaces de rede e envia todas as linhas de saída para o seu console.

Capturar ao vivo como um usuário não-root

sudo /path/to/passer.py

ou

su - -c '/path/to/passer.py'

Farejar ao vivo como root, mas apenas de uma interface

/path/to/passer.py -i IfaceName

Executar route deve mostrar algumas interfaces ativas que você pode usar.

❕ -i é incompatível com -r.

Ler pacotes de um arquivo pcap; não são necessários privilégios de root

/path/to/passer.py -r /path/to/packets.pcap

❕ -r é incompatível com -i.

Aceitar dados pcap brutos via stdin

cat packetdata.pcap | ./passer.py -r /proc/self/fd/0
zcat packetdata.pcap.gz | ./passer.py -r /proc/self/fd/0
bzcat packetdata.pcap.bz2 | ./passer.py -r /proc/self/fd/0
tcpdump -i eth0 -qtnp -w - | ./passer.py -r /proc/self/fd/0
# etc...

Isso permite capturar pacotes com qualquer ferramenta que consiga salvar pacotes em um arquivo pcap e, posteriormente, processá-los com o passer em um sistema diferente.

Salvar linhas de saída em um arquivo de texto para processamento posterior

/path/to/passer.py -l /path/to/networkinfo.txt

Suprimir avisos e outras informações de depuração

/path/to/passer.py 2>/dev/null

Mostrar tela de ajuda

/path/to/passer.py -h

Salvar pacotes "estranhos"/não tratados em um arquivo pcap

/path/to/passer.py -u /path/to/oddpackets.pcap

Isto destina-se geralmente ao processo de desenvolvimento; os pacotes guardados neste ficheiro são aqueles que necessitam de ter assinaturas escritas. Contribuições de pacotes invulgares, descrições de serviços e patches ao programa são aceites com gratidão.

Aplicar um filtro BPF para limitar quais pacotes são processados

Isto deveria ser tão simples como colocar o filtro BPF entre aspas simples no final da linha de comandos. A partir da versão 1.16, a biblioteca subjacente não parece utilizar com sucesso o filtro fornecido, mas existe uma solução alternativa. Use o tcpdump para fazer a filtragem e entregue o conjunto reduzido de pacotes ao passer via stdin, como acima:

tcpdump -r packets.pcap -w - 'icmp or arp' | ./passer.py -r /proc/self/fd/0

Consulte a seção "Filtros de exemplo", abaixo, para algumas sugestões de filtros a serem usados tanto na captura prévia de pacotes quanto na captura ao vivo.

Solução de problemas

socket.error: (1, 'Operation not permitted')

Você provavelmente está tentando fazer sniff ao vivo como um usuário não-root. Faça login como root, use sudo/su, ou trabalhe com arquivos pcap.

Se o passer travar ou não funcionar no seu sistema, por favor abra uma issue que inclua a mensagem de erro, se houver, e quaisquer detalhes sobre o seu sistema operacional.

Formato de saída

A saída do Passer vai para stdout e, se você fornecer o parâmetro de linha de comando -l /path/to/logfile, também para esse arquivo. Aqui está o formato:

TypeIPAddrProtoStateOptional description (may be empty)
'IP'IPaddr'IP'dead or livep0f OS description
'MA'IPaddr'Ethernet'MacAddrManufDescription
'TC'IPaddr'TCP_'Portclosed or openclient description
'TS'IPaddr'TCP_'Portclosed or listeningserver description
'UC'IPaddr'UDP_'Portopen or closedudp client port description
'US'IPaddr'UDP_'Portopen or closedudp server port description
'DN'IPaddr'A' or 'PTR'hostnamepossible extra info
'RO'IPaddr'TTLEx'routerpossible extra info
  • Coluna 1: Um código de 2 letras para o tipo de registro
  • Coluna 2: O endereço IP sendo caracterizado.
  • Coluna 3: O protocolo envolvido, ou "como sabemos disso?"
  • Coluna 4: o estado do objeto sendo descrito
  • Coluna 5: informações adicionais sobre o objeto

As linhas são separadas por vírgula para facilitar o carregamento em uma planilha ou importação SQL. Nenhum dos campos deve conter vírgulas. Há um arquivo de saída de exemplo em http://www.stearns.org/passer/passer-sample-log.txt .

Aqui estão alguns exemplos de como obter os dados que você deseja a partir dessas linhas:

  1. Remover linhas duplicadas:
cat /var/tmp/passer-log | sort -u | less
  1. Remova as linhas duplicadas e agrupe todos os registros de um determinado IP juntos:
cat /var/tmp/passer-log | sort -t, -k2 -u | less
  1. Obtenha apenas os registros de DNS e Router:
cat /var/tmp/passer-log | sort -u | egrep '(^DN|^RO)' | less
  1. Ver todos os registros de um endereço IP específico:
cat /var/tmp/passer-log | sort -u | grep ',192\.168\.0\.17,' | less
Baixar ferramenta