NMAP per eseguire la scansione di IP e porte dal file

1

Voglio eseguire la scansione di IP e porta da un file come di seguito:

192.168.1.2 443
192.168.2.100 8443
192.168.3.99 80
192.168.4.11 443

Come posso farlo? So che c'è un'opzione per prendere IP da un file usando -iL ma come può fare con IP e porta come per ogni IP c'è una porta specifica.

    
posta ghostrider 13.07.2018 - 20:57
fonte

3 risposte

0

Potresti farlo solo usando uno script di shell, come questo:

#!/bin/bash

# declare an array for ip's
declare -a ips=("192.168.1.2" "192.168.2.100" "192.168.3.99" "192.168.4.11")

# declare an array for ports
declare -a ports=("443" "8443" "80" "443")

# now loop nmap through the above array combos
for (( i=0; i<=3; i++ ))
do
   nmap $ips[i] -p $ports[i]
done

Oppure potresti fare lo stesso in C / C ++ usando il comando di sistema!

    
risposta data 13.07.2018 - 23:33
fonte
3

A partire da Nmap 7.70, questa non è una caratteristica che il team di sviluppo di Nmap è interessato a sviluppare. La discussione completa può essere trovata in numero # 1217 , ma la migliore pratica corrente è quella di eseguire la scansione di tutte le porte desiderate rispetto a tutti i target.

EDIT: Per chiunque esegua un grande script di shell per scansionare ogni porta e host individualmente, sarai qui tutto il giorno ad aspettare che finisca. Accumula tutte le porte e gli obiettivi unici e scansiona in una volta sola. Finirai per scansionare alcune porte su alcuni sistemi che non intendevi, ma nel complesso non ci vorrà molto. E come tutto il resto, si inserisce in una sola riga di Perl:

perl -lanE'END{$,="\n";open$i,">ips";say$i keys%h;exec"nmap -iL ips -p".join(",",keys%p)}$h{$F[0]}=$p{$F[1]}=1' input.txt
    
risposta data 13.07.2018 - 21:24
fonte
0

Lo avvolgerei in bash e chiamarlo bene. Utilizzando il formato di file specificato sopra, funzionerebbe.

#!/bin/bash

if [ ! -f $1 ] 
then
    echo "Error: Must supply file"
    exit
fi 

while read -r line 
do
    host='echo $line | cut -d" " -f1'
    port='echo $line | cut -d" " -f2'
    echo "Scanning $host : $port " 
    nmap $host -p $port
done < $1
    
risposta data 13.07.2018 - 23:58
fonte

Leggi altre domande sui tag