Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
stenographer — Stenographer is a packet capture solution which aims to quickly spool all packets to disk, then provide simple, fast access to subsets of those packets. Discussion/announcements at stenographer@googlegroups.com | Kitploit
Outils/GitHubGitHub/google/stenographer
Packet Sniffing & AnalysisNetwork ForensicsForensicsNetwork SecurityIntrusion DetectionIncident ResponseArchived
GitHubgoogle/stenographer

stenographer

Stenographer is a packet capture solution which aims to quickly spool all packets to disk, then provide simple, fast access to subsets of those packets. Discussion/announcements at [email protected]

Voir le dépôt
1.8k233il y a 5 ansVé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 →
Partager

Stenographer

Aperçu

Stenographer est un utilitaire de capture complète de paquets qui met en mémoire tampon les paquets sur le disque à des fins de détection d'intrusion et de réponse aux incidents. Il offre une implémentation hautes performances de l'écriture paquets de la carte réseau au disque, gère la suppression de ces fichiers lorsque le disque se remplit et fournit des méthodes pour relire rapidement et facilement des ensembles spécifiques de paquets.

Il est conçu pour :

  • Écrire des paquets sur le disque, très rapidement (~10 Gbps sur des machines multi-cœurs et multi-disques)
  • Stocker autant d'historique que possible (gérer l'utilisation du disque, stocker des durées plus longues lorsque le trafic ralentit, puis supprimer les paquets les plus anciens lorsque les limites du disque sont atteintes)
  • Lire un très faible pourcentage (<1 %) des paquets du disque en fonction des besoins de l'analyste

Il n'est PAS conçu pour :

  • Le traitement complexe des paquets (réassemblage de flux TCP, etc.)

  • Il est rapide car il ne fait pas cela. Même avec le traitement minimal et en un seul passage des paquets que nous effectuons, le traitement d'environ 1 Gbps pour le seul indexage peut prendre plus de 75 % d'un seul cœur.

  • Traiter les données en les relisant depuis le disque ne fonctionne pas non plus : voir le point suivant.

  • Relire de grandes quantités de paquets (> 1 % des paquets écrits)

  • Le concept clé ici est que les lectures sur disque entrent en concurrence avec les écritures sur disque… vous pouvez écrire à 90 % de la vitesse du disque, mais cela ne vous laisse que 10 % du temps de votre disque pour la lecture. De plus, nous écrivons des données hautement séquentielles, ce que les disques font très rapidement, et nous lisons généralement des données éparses avec beaucoup de recherches, ce que les disques font lentement.

Pour en savoir plus, consultez DESIGN.md pour une discussion sur la conception de stenographer, ou lisez INSTALL.md pour savoir comment installer stenographer sur une machine.

Interrogation

Langage de requête

Un utilisateur demande des paquets à stenographer en les spécifiant avec un langage de requête très simple. Ce langage est un sous-ensemble simple de BPF et inclut les primitives :

root@kitploit:~
host 8.8.8.8          # Adresse IP unique (les noms d'hôte ne sont pas autorisés)
net 1.0.0.0/8         # Réseau avec CIDR
net 1.0.0.0 mask 255.255.255.0  # Réseau avec masque
port 80               # Numéro de port (UDP ou TCP)
ip proto 6            # Numéro de protocole IP 6
icmp                  # équivalent à 'ip proto 1'
tcp                   # équivalent à 'ip proto 6'
udp                   # équivalent à 'ip proto 17'

# Ajouts temporels spécifiques à Stenographer :
before 2012-11-03T11:05:00Z      # Paquets avant une heure spécifique (UTC)
after 2012-11-03T11:05:00-07:00  # Paquets après une heure spécifique (avec fuseau horaire)
before 45m ago        # Paquets avant une heure relative
after 3h ago         # Paquets après une heure relative

REMARQUE : Les heures relatives doivent être mesurées en valeurs entières d'heures ou de minutes comme illustré ci-dessus.

Les primitives peuvent être combinées avec and/&& et avec or/||, qui ont la même précédence et s'évaluent de gauche à droite. Des parenthèses peuvent également être utilisées pour grouper.

root@kitploit:~
(udp and port 514) or (tcp and port 8080)

Interface en ligne de commande Stenoread

Le script en ligne de commande stenoread automatise l'extraction de paquets depuis Stenographer et leur présentation dans un format utilisable pour les analystes. Il demande des paquets bruts à stenographer, puis les traite via tcpdump pour offrir une expérience de formatage/filtrage plus complète. Le premier argument de stenoread est une requête stenographer (voir « Langage de requête » ci-dessus). Tous les autres arguments sont passés à tcpdump. Par exemple :

root@kitploit:~
# Demander tous les paquets de l'IP 1.2.3.4 port 6543, puis effectuer un filtrage supplémentaire par
# drapeau TCP, ce que le stenographer standard ne supporte pas.
$ stenoread 'host 1.2.3.4 and port 6543' 'tcp[tcpflags] & tcp-push != 0'

# Demander des paquets sur le port 8765, en désactivant la résolution IP (-n) et en affichant
# les en-têtes de niveau liaison (-e) lors de leur impression.
$ stenoread 'port 8765' -n -e

# Demander des paquets pour toutes les IP de la plage 1.1.1.0-1.1.1.255, en les écrivant
# dans un fichier PCAP local pour pouvoir les ouvrir dans Wireshark.
$ stenoread 'net 1.1.1.0/24' -w /tmp/output_for_wireshark.pcap

Téléchargement

Pour télécharger le code source, installez Go localement, puis exécutez :

root@kitploit:~
$ go get github.com/google/stenographer

Go se chargera de télécharger et d'installer toutes les bibliothèques Go dont stenographer dépend. Pour compiler stenotype, allez dans le répertoire stenotype et exécutez make. Vous devrez peut-être installer les paquets Ubuntu suivants (ou leurs équivalents sur d'autres distributions Linux) :

  • libaio-dev
  • libleveldb-dev
  • libsnappy-dev
  • g++
  • libcap2-bin
  • libseccomp-dev

Mentions légales obligatoires

Ceci n'est pas un produit officiel de Google (expérimental ou autre), c'est simplement du code qui appartient par hasard à Google.

Ce code n'est pas destiné (ni utilisé) à surveiller les utilisateurs de Google. Son but est d'accroître la sécurité de nos réseaux en renforçant nos capacités de surveillance interne.

Télécharger l’outil