GNU/Linux >> Tutoriels Linux >  >> Linux

Analyse Nmap pour les périphériques compatibles SNMP

Nmap ne contient pas beaucoup d'options de filtrage de sortie :--open limitera la sortie aux hôtes contenant des ports ouverts (tous ports ouverts). -v0 empêchera toute sortie à l'écran.

Au lieu de cela, la meilleure façon d'y parvenir est d'enregistrer la sortie XML de l'analyse (en utilisant le -oX ou -oA options de sortie), qui contiendra toutes les informations recueillies par l'analyse dans un format XML facile à analyser. Ensuite, vous pouvez filtrer cela avec des outils d'analyse XML pour inclure les informations souhaitées.

Un analyseur XML de ligne de commande est xmlstarlet . Vous pouvez utiliser cette commande pour filtrer uniquement les adresses IP des cibles qui ont sysdescr contenant la chaîne "exemple":

xmlstarlet sel -t -m "//port/script[@id='snmpsysdescr' and contains(@output,'example')]/../../../address[@addrtype='ipv4']" -v @addr -n output.xml

Vous pouvez également le faire avec Ndiff, qui est un outil et une bibliothèque Python 2 distribués avec Nmap :

#!/usr/bin/env python

import ndiff

def sysdescr_contains (value, host):
  for port in host.ports:
    for script in filter(lambda x: x.id == u"snmp-sysdescr", port.script_results):
      if value in script.output:
        return True
  return False

def usage ():
  print """Look for <substring> in snmp-sysdescr output and print matching hosts.
Usage: {} <filename.xml> <substring>"""

if __name__ == "__main__":
  import sys
  if len(sys.argv) < 3:
    usage()
    exit(1)

  scan = ndiff.Scan()
  scan.load_from_file(sys.argv[1])

  for host in filter(lambda x: sysdescr_contains(sys.argv[2], x), scan.hosts):
    print host.format_name()

D'autres bibliothèques d'analyse de sortie Nmap sont disponibles dans la plupart des langages de programmation courants.


Linux
  1. Recherche de périphériques malveillants sur votre réseau à l'aide de Nmap

  2. Sortie de quelle commande utilisée pour l'entrée sur CD ?

  3. Comment rechercher des caractères invalides sur Gedit ?

  4. Attacher à une sortie de processus pour la visualisation

  5. Couleur différente pour la commande et la sortie

Le didacticiel de commande de pliage avec des exemples pour les débutants

Six cas d'utilisation pratiques pour Nmap

Installation et utilisation de Nmap Port Scanner

50 commandes Nmap essentielles pour les administrateurs système

Comment coloriser la sortie Diff pour une meilleure vue

Commandes Nmap - 17 commandes de base pour le réseau Linux