Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
passer — Localizador pasivo de servicios, un sniffer en Python que identifica servidores, clientes, nombres y mucho más | Kitploit
Herramientas/GitHubGitHub/activecm/passer
Herramientas DefensivasSniffing y Análisis de PaquetesReconocimientoMapeo de RedesForensia de RedRecopilación de InformaciónSeguridad de RedesSuplantación de Huella DigitalAnálisis de DNS
GitHubactivecm/passer

passer

Localizador pasivo de servicios, un sniffer en Python que identifica servidores, clientes, nombres y mucho más

2665316hace 8 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

passer

Localizador de servicios pasivo, un rastreador de python que identifica servidores, clientes, nombres y mucho más

Introducción

Notas rápidas para empezar con passer, el rastreador de servicios pasivo. Eres responsable de obtener permiso para rastrear.

Passer puede funcionar a partir de una captura de paquetes en vivo o desde un archivo pcap (parámetro de línea de comandos, ver ejemplos abajo). Reporta servicios y clientes en vivo, tarjetas ethernet en la lan, entradas dns, sistemas operativos, y routers - ¡todo de forma pasiva!

Si estás usando windows o tus rutas a los archivos de soporte no coinciden con las mías por alguna otra razón, avísame dónde están y con gusto actualizaré el script.

Instalación

Requisitos

  • Python >=2.4 y <3.0
  • Bibliotecas de Python (ver requirements.txt)
    • ipaddress
    • pytz
    • scapy>=2.4.0

Opcional (pero recomendado)

  • nmap
    • para fabricantes de Ethernet y cadenas de servicio
  • ettercap, wireshark y/o arp-scan
    • para más fabricantes de Ethernet
  • p0f versión 2
    • para el archivo de huellas de OS

Ubuntu/Debian y distribuciones basadas en 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 y distribuciones basadas en 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 scapy, consulta la guía de instalación.

Docker

Passer también se distribuye como una imagen de Docker. Si aún no tienes Docker, aquí tienes una forma rápida y sencilla de instalarlo en Linux:

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

De lo contrario, sigue las instrucciones de instalación para tu sistema operativo.

Para la mayoría de los usos, recomendamos el script passer incluido en este repositorio. Este script se encargará de todo lo específico de docker

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

A continuación, puedes usar este script tal como lo harías en cualquiera de los ejemplos siguientes. Por ejemplo:

./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 detener la ejecución de passer:

docker stop passer

Ejemplos

Sniff en vivo como root

/path/to/passer.py

Esto captura el tráfico de todas las interfaces de red y envía todas las líneas de salida a tu consola.

Capturar en vivo como usuario no root

sudo /path/to/passer.py

o

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

Sniff en vivo como root, pero solo desde una interfaz

/path/to/passer.py -i IfaceName

Ejecutar route debería mostrar algunas interfaces activas que podrías usar.

❕ -i es incompatible con -r.

Leer paquetes desde un archivo pcap; no se necesitan privilegios de root

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

❕ -r es incompatible con -i.

Aceptar datos pcap sin procesar por 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...

Esto te permite capturar paquetes con cualquier herramienta que pueda guardar paquetes en un archivo pcap, y posteriormente procesarlos con passer en un sistema diferente.

Guardar las líneas de salida en un archivo de texto para su procesamiento posterior

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

Suprimir advertencias y otra información de depuración

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

Mostrar pantalla de ayuda

/path/to/passer.py -h

Guardar paquetes "extraños"/no gestionados en un archivo pcap

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

Esto está generalmente pensado para el proceso de desarrollo; los paquetes guardados en este archivo son aquellos a los que se les deben escribir firmas. Las contribuciones de paquetes inusuales, descripciones de servicios y parches al programa son aceptadas con gratitud.

Aplicar un filtro BPF para limitar qué paquetes se procesan

Esto debería ser tan simple como colocar el filtro BPF entre comillas simples al final de la línea de comandos. A partir de la versión 1.16, la biblioteca subyacente no parece utilizar con éxito el filtro proporcionado, pero existe una solución alternativa. Use tcpdump para realizar el filtrado y entregue el conjunto reducido de paquetes a passer por stdin, como se indicó anteriormente:

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

Consulta la sección "Sample filters", a continuación, para ver algunas sugerencias de filtros que puedes usar tanto para capturar paquetes con antelación como para la captura en vivo.

Solución de problemas

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

Probablemente estés intentando hacer sniffing en vivo como un usuario no root. Inicia sesión como root, usa sudo/su, o trabaja con archivos pcap.

Si passer falla o no funciona en tu sistema, por favor abre un issue que incluya el mensaje de error, si lo hay, y cualquier detalle sobre tu sistema operativo.

Formato de salida

La salida de Passer va a stdout, y si proporcionas el parámetro de línea de comandos -l /path/to/logfile, también a ese archivo. Este es el 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
  • Columna 1: Un código de 2 letras para el tipo de registro
  • Columna 2: La dirección IP que se está caracterizando.
  • Columna 3: El protocolo involucrado, o "¿cómo sabemos esto?"
  • Columna 4: el estado del objeto que se está describiendo
  • Columna 5: información adicional sobre el objeto

Las líneas están separadas por comas para facilitar su carga en una hoja de cálculo o su importación a SQL. Ninguno de los campos debe contener comas. Hay un archivo de salida de ejemplo en http://www.stearns.org/passer/passer-sample-log.txt .

Aquí hay algunos ejemplos de cómo obtener los datos que deseas a partir de estas líneas:

  1. Eliminar líneas duplicadas:
cat /var/tmp/passer-log | sort -u | less
  1. Eliminar las líneas duplicadas y agrupar todos los registros de una IP determinada:
cat /var/tmp/passer-log | sort -t, -k2 -u | less
  1. Obtener solo los registros DNS y Router:
cat /var/tmp/passer-log | sort -u | egrep '(^DN|^RO)' | less
Descargar herramienta