GNU/Linux >> Belajar Linux >  >> Linux

Pemindaian Nmap untuk perangkat yang mendukung SNMP

Nmap tidak mengandung banyak opsi pemfilteran output:--open akan membatasi output ke host yang berisi port terbuka (apa saja port terbuka). -v0 akan mencegah keluaran apa pun ke layar.

Alih-alih, cara terbaik untuk melakukannya adalah dengan menyimpan keluaran XML dari pemindaian (menggunakan kode -oX atau -oA opsi output), yang akan berisi semua informasi yang dikumpulkan oleh pemindaian dalam format XML yang mudah diuraikan. Kemudian Anda dapat memfilternya dengan alat parsing XML untuk menyertakan informasi yang Anda inginkan.

Satu parser XML baris perintah adalah xmlstarlet . Anda dapat menggunakan perintah ini untuk memfilter hanya alamat IP untuk target yang memiliki sysdescr berisi string "contoh":

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

Anda juga dapat melakukannya dengan Ndiff, yang merupakan alat dan pustaka Python 2 yang didistribusikan dengan 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()

Pustaka parsing Nmap-output lainnya tersedia di sebagian besar bahasa pemrograman umum.


Linux
  1. 4 alat pemindaian untuk desktop Linux

  2. Menemukan perangkat jahat di jaringan Anda menggunakan Nmap

  3. Lampirkan ke output proses untuk dilihat

  1. Pengenalan Nmap di Kali Linux

  2. Tutorial Perintah Linux pinky untuk Pemula (8 Contoh)

  3. Output Dari Perintah Yang Digunakan Untuk Input Ke Cd?

  1. Bagaimana Cara Memindai Karakter Tidak Valid Di Gedit?

  2. Menemukan Paket untuk Kali Linux

  3. Warna berbeda untuk perintah dan output