Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
passer — Localisateur de services passif, un sniffer Python qui identifie les serveurs, les clients, les noms et bien plus encore | Kitploit
Outils/GitHubGitHub/activecm/passer
Outils DéfensifsSniffing et Analyse de PaquetsReconnaissanceCartographie RéseauCriminalistique RéseauCollecte d'InformationsSécurité RéseauUsurpation d'Empreinte NumériqueAnalyse DNS
GitHubactivecm/passer

passer

Localisateur de services passif, un sniffer Python qui identifie les serveurs, les clients, les noms et bien plus encore

2665316il y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôt
Partager

passer

Localisateur de services passif, un renifleur Python qui identifie les serveurs, les clients, les noms et bien plus encore

Introduction

Notes rapides pour démarrer avec passer, le renifleur de services passif. Il vous incombe d'obtenir l'autorisation de renifler.

Passer peut fonctionner à partir d'une capture de paquets en direct ou depuis un fichier pcap (paramètre en ligne de commande, voir les exemples ci-dessous). Il signale les services et clients actifs, les cartes Ethernet sur le réseau local, les entrées DNS, les systèmes d'exploitation, et les routeurs - le tout de manière passive !

Si vous utilisez Windows ou si vos chemins vers les fichiers de support ne correspondent pas aux miens pour une autre raison, indiquez-moi où ils se trouvent et je serai ravi de mettre à jour le script.

Installation

Prérequis

  • Python >=2.4 et <3.0
  • Bibliothèques Python (voir requirements.txt)
    • ipaddress
    • pytz
    • scapy>=2.4.0

Facultatif (mais recommandé)

  • nmap
    • pour les fabricants Ethernet et les chaînes de service
  • ettercap, wireshark et/ou arp-scan
    • pour davantage de fabricants Ethernet
  • p0f version 2
    • pour le fichier d'empreintes des systèmes d'exploitation

Ubuntu/Debian et distributions basées sur 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 et distributions basées sur 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 (incomplet)

Pour installer scapy, consultez le guide d'installation.

Docker

Passer est également fourni sous forme d'image Docker. Si vous n'avez pas déjà Docker, voici une méthode rapide et simple pour l'installer sous Linux :

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

Sinon, suivez les instructions d'installation pour votre système d'exploitation.

Pour la plupart des usages, nous recommandons le script passer inclus dans ce dépôt. Ce script gère tous les aspects spécifiques à Docker

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

Vous pouvez ensuite utiliser ce script exactement comme dans n'importe lequel des exemples ci-dessous. Par exemple :

./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

Afin d'arrêter l'exécution de passer :

docker stop passer

Exemples

Sniffer en direct en tant que root

/path/to/passer.py

Ceci capture le trafic de toutes les interfaces réseau et envoie toutes les lignes de sortie vers votre console.

Capturer en direct en tant qu'utilisateur non-root

sudo /path/to/passer.py

ou

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

Sniffer en direct en tant que root, mais uniquement depuis une interface

/path/to/passer.py -i IfaceName

L'exécution de route devrait afficher quelques interfaces actives que vous pourriez utiliser.

❕ -i est incompatible avec -r.

Lire les paquets depuis un fichier pcap ; aucun privilège root requis

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

❕ -r est incompatible avec -i.

Accepter des données pcap brutes sur 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...

Cela vous permet de capturer des paquets avec n'importe quel outil capable d'enregistrer des paquets dans un fichier pcap, puis de les traiter ultérieurement avec passer sur un système différent.

Enregistrer les lignes de sortie dans un fichier texte pour un traitement ultérieur

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

Supprimer les avertissements et autres informations de débogage

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

Afficher l'écran d'aide

/path/to/passer.py -h

Enregistrer les paquets « odd »/non gérés dans un fichier pcap

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

Ceci est généralement destiné au processus de développement ; les paquets enregistrés dans ce fichier sont ceux dont les signatures doivent être écrites. Les contributions de paquets inhabituels, les descriptions de services et les correctifs au programme sont acceptés avec gratitude.

Appliquer un filtre BPF pour limiter les paquets traités

Cela devrait être aussi simple que de placer le filtre BPF entre guillemets simples à la fin de la ligne de commande. Depuis la version 1.16, la bibliothèque sous-jacente ne semble pas utiliser avec succès le filtre fourni, mais il existe une solution de contournement. Utilisez tcpdump pour effectuer le filtrage, et transmettez l'ensemble réduit de paquets à passer sur stdin, comme ci-dessus :

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

Voir la section « Exemples de filtres » ci-dessous pour quelques suggestions de filtres à utiliser, que ce soit pour la capture préalable de paquets ou pour l'analyse en direct.

Dépannage

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

Vous essayez probablement de sniffer en direct en tant qu'utilisateur non-root. Soit connectez-vous en tant que root, utilisez sudo/su, ou travaillez avec des fichiers pcap.

Si passer plante ou ne fonctionne pas sur votre système, veuillez créer un ticket qui inclut le message d'erreur, le cas échéant, et tout détail concernant votre système d'exploitation.

Format de sortie

La sortie de Passer va vers stdout, et si vous donnez le paramètre de ligne de commande -l /path/to/logfile, vers ce fichier également. Voici le format :

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
  • Colonne 1 : Un code de 2 lettres pour le type d'enregistrement
  • Colonne 2 : L'adresse IP caractérisée.
  • Colonne 3 : Le protocole impliqué, ou « comment le savons-nous ? »
  • Colonne 4 : l'état de l'objet décrit
  • Colonne 5 : informations supplémentaires sur l'objet

Les lignes sont séparées par des virgules pour un chargement facile dans un tableur ou une importation SQL. Aucun des champs ne doit contenir de virgules. Il y a un fichier de sortie d'exemple à http://www.stearns.org/passer/passer-sample-log.txt .

Voici quelques exemples pour extraire les données souhaitées à partir de ces lignes :

  1. Supprimer les lignes en double :
cat /var/tmp/passer-log | sort -u | less
Télécharger l’outil