← retour aux outils back to tools

# Nipper

Auditeur hors ligne pour les fichiers de configuration d'équipements réseau (Cisco, Juniper, et plus) qui signale les mauvaises configurations et les faiblesses de sécurité. Offline auditor for network device configuration files (Cisco, Juniper, and more) that flags misconfigurations and security weaknesses.

↗ https://github.com/titanous/nipper-ng

## Overview

Nipper (originally “Network Infrastructure Parser”) audits exported configuration files from routers, switches, and firewalls without needing live access to the device. It parses vendor-specific syntax — Cisco IOS, Juniper JunOS, and others — and reports on weak passwords, insecure services, missing ACLs, outdated software, and other misconfigurations, making it useful for config-review engagements where device access is limited to read-only exports.

## Common Usage

Audit a Cisco IOS config and produce an HTML report

    nipper --input=running-config.txt --output=report.html

Specify the device type explicitly

    nipper --input=switch.cfg --ios-router --output=report.html

Plain-text report instead of HTML

    nipper --input=running-config.txt --output=report.txt

CSV output for spreadsheet triage

    nipper --input=running-config.txt --csv=findings.csv

## Example Workflow

Step 1: Pull the running config from the device (out of band, e.g. via SSH)

    ssh admin@10.10.10.1 "show running-config" > running-config.txt

Step 2: Run Nipper against the exported config

    nipper --input=running-config.txt --output=nipper_report.html

    # Step 3: Review flagged issues — weak SNMP community strings, missing
    # 'service password-encryption', open management interfaces, etc.

## Options

    --input=FILE          configuration file to audit
    --output=FILE          report output file (format inferred from extension)
    --csv=FILE             also write a CSV summary
    --ios-router           force Cisco IOS router parsing
    --ios-switch           force Cisco IOS switch parsing
    --junos                force Juniper JunOS parsing
    --pix                   force Cisco PIX/ASA parsing
    --no-header             omit report header/branding

## Tips

- Nipper is fully offline/passive — it never touches the live device, which makes it low-risk for production infrastructure audits.
- Feed it the running config rather than the startup config where possible, since deployed ACLs and services may differ.
- Cross-reference findings against CIS benchmarks for the specific device family before reporting to the client.

Help / Man page

    nipper [options]

      --input=FILE        input configuration file
      --output=FILE        output report file
      --csv=FILE           output CSV findings summary
      --ios-router         parse as Cisco IOS router config
      --ios-switch         parse as Cisco IOS switch config
      --junos              parse as Juniper JunOS config
      --pix                parse as Cisco PIX/ASA config
      --no-header          suppress report header
      --help               display this help and exit
      --version            display version information

## Vue d’ensemble

Nipper (à l’origine « Network Infrastructure Parser ») audite des fichiers de configuration exportés depuis des routeurs, switchs, et firewalls sans nécessiter d’accès en direct à l’équipement. Il analyse la syntaxe spécifique à chaque fournisseur : Cisco IOS, Juniper JunOS, et d’autres, et rapporte les mots de passe faibles, les services non sécurisés, les ACL manquantes, les logiciels obsolètes, et d’autres mauvaises configurations, ce qui le rend utile pour les missions de revue de configuration où l’accès à l’équipement se limite à des exports en lecture seule.

## Utilisation courante

    # Auditer une config Cisco IOS et produire un rapport HTML
    nipper --input=running-config.txt --output=report.html

    # Spécifier explicitement le type d'équipement
    nipper --input=switch.cfg --ios-router --output=report.html

    # Rapport en texte brut plutôt qu'HTML
    nipper --input=running-config.txt --output=report.txt

    # Sortie CSV pour un triage type tableur
    nipper --input=running-config.txt --csv=findings.csv

## Exemple de flux de travail

    # Étape 1 : récupérer la config running depuis l'équipement (hors bande, par exemple via SSH)
    ssh admin@10.10.10.1 "show running-config" > running-config.txt

    # Étape 2 : lancer Nipper sur la config exportée
    nipper --input=running-config.txt --output=nipper_report.html

    # Étape 3 : examiner les problèmes signalés : chaînes de communauté SNMP faibles, absence de
    # 'service password-encryption', interfaces de management ouvertes, etc.

## Options

    --input=FILE          configuration file to audit
    --output=FILE          report output file (format inferred from extension)
    --csv=FILE             also write a CSV summary
    --ios-router           force Cisco IOS router parsing
    --ios-switch           force Cisco IOS switch parsing
    --junos                force Juniper JunOS parsing
    --pix                   force Cisco PIX/ASA parsing
    --no-header             omit report header/branding

## Conseils

- Nipper est entièrement hors ligne/passif : il ne touche jamais l’équipement en production, ce qui en fait un outil à faible risque pour les audits d’infrastructure de production.
- Fournissez-lui la config running plutôt que la config startup quand c’est possible, car les ACL et services déployés peuvent différer.
- Comparez les résultats aux benchmarks CIS pour la famille d’équipement concernée avant de rapporter au client.

Aide / Page de manuel

    nipper [options]

      --input=FILE        input configuration file
      --output=FILE        output report file
      --csv=FILE           output CSV findings summary
      --ios-router         parse as Cisco IOS router config
      --ios-switch         parse as Cisco IOS switch config
      --junos              parse as Juniper JunOS config
      --pix                parse as Cisco PIX/ASA config
      --no-header          suppress report header
      --help               display this help and exit
      --version            display version information