Reading targets from a file
Many times, we will need to work with multiple targets, but having to type a list of targets in the command line is not very practical. Fortunately, Nmap supports the loading of targets from an external file.
This recipe shows how to scan the targets loaded from an external file in Nmap.
How to do it...
Enter the list of targets into a file, each separated by a new line, tab, or space(s):
$cat targets.txt
192.168.1.23
192.168.1.12
To load the targets from the targets.txt
file, use the Nmap option -iL <filename>
:
$ nmap -iL targets.txt
Note
This feature can be combined with any scan option or method, except for exclusion rules set by --exclude
or --exclude-file
. The --exclude
and --exclude-file
option flags will be ignored when -iL
is used.
How it works...
The Nmap option -iL <filename>
tells Nmap to load the targets from the <filename>
file. Nmap supports several formats for this input file. The target list contained in the input file may be separated either by spaces, tabs, or newlines. Any exclusions should be reflected in the input target file.
There's more...
You can also use different target formats in the same file. In the following file, we specify an IP address and an IP range:
$ cat targets.txt
192.168.1.1
192.168.1.20-30
You may enter comments in your target list by using the character #
:
$ cat targets.txt
# FTP servers
192.168.10.3
192.168.10.7
192.168.10.11
Excluding a host list from your scans
Nmap also supports the argument --exclude-file <filename>
to exclude the targets listed in <filename>
:
$ nmap --exclude-file dontscan.txt 192.168.1.1/24