1ZMAP(1) zmap ZMAP(1)
2
3
4
6 zmap - The Fast Internet Scanner
7
9 zmap [ -p <port> ] [ -o <outfile> ] [ OPTIONS... ] [ ip/hostname/range
10 ]
11
13 ZMap is a network tool for scanning the entire Internet (or large sam‐
14 ples). ZMap is capable of scanning the entire Internet in around 45
15 minutes on a gigabit network connection, reaching ~98% theoretical line
16 speed.
17
19 BASIC OPTIONS
20 ip/hostname/range
21 IP addresses or DNS hostnames to scan. Accepts IP ranges in CIDR
22 block notation. Defaults to 0.0.0/8
23
24 -p, --target-port=port
25 TCP or UDP port number to scan (for SYN scans and basic UDP
26 scans)
27
28 -o, --output-file=name
29 When using an output module that uses a file, write results to
30 this file. Use - for stdout.
31
32 -b, --blacklist-file=path
33 File of subnets to exclude, in CIDR notation, one-per line. It
34 is recommended you use this to exclude RFC 1918 addresses, mul‐
35 ticast, IANA reserved space, and other IANA special-purpose
36 addresses. An example blacklist file blacklist.conf for this
37 purpose.
38
39 SCAN OPTIONS
40 -n, --max-targets=n
41 Cap the number of targets to probe. This can either be a number
42 (e.g. -n 1000) or a percentage (e.g. -n 0.1%) of the scannable
43 address space (after excluding blacklist)
44
45 -N, --max-results=n
46 Exit after receiving this many results
47
48 -t, --max-runtime=secs
49 Cap the length of time for sending packets
50
51 -r, --rate=pps
52 Set the send rate in packets/sec
53
54 -B, --bandwidth=bps
55 Set the send rate in bits/second (supports suffixes G, M, and K
56 (e.g. -B 10M for 10 mbps). Thi s overrides the --rate flag.
57
58 -c, --cooldown-time=secs
59 How long to continue receiving after sending has completed
60 (default=8)
61
62 -e, --seed=n
63 Seed used to select address permutation. Use this if you want to
64 scan addresses in the same order for multiple ZMap runs.
65
66 --shards=N
67 Split the scan up into N shards/partitions among different
68 instances of zmap (default=1). When sharding, --seed is
69 required.
70
71 --shard=n
72 Set which shard to scan (default=0). Shards are 0-indexed in the
73 range [0, N), where N is the total number of shards. When shard‐
74 ing --seed is required.
75
76 -T, --sender-threads=n
77 Threads used to send packets. ZMap will attempt to detect the
78 optimal number of send threads based on the number of processor
79 cores.
80
81 -P, --probes=n
82 Number of probes to send to each IP (default=1)
83
84 -d, --dryrun
85 Print out each packet to stdout instead of sending it (useful
86 for debugging)
87
88 NETWORK OPTIONS
89 -s, --source-port=port|range
90 Source port(s) to send packets from
91
92 -S, --source-ip=ip|range
93 Source address(es) to send packets from. Either single IP or
94 range (e.g. 10.0.0.1-10.0.0.9)
95
96 -G, --gateway-mac=addr
97 Gateway MAC address to send packets to (in case auto-detection
98 does not work)
99
100 -i, --interface=name
101 Network interface to use
102
103 PROBE OPTIONS
104 ZMap allows users to specify and write their own probe modules. Probe
105 modules are responsible for generating probe packets to send, and pro‐
106 cessing responses from hosts.
107
108 --list-probe-modules
109 List available probe modules (e.g. tcp_synscan)
110
111 -M, --probe-module=name
112 Select probe module (default=tcp_synscan)
113
114 --probe-args=args
115 Arguments to pass to probe module
116
117 --list-output-fields
118 List the fields the selected probe module can send to the output
119 module
120
121 OUTPUT OPTIONS
122 ZMap allows users to specify and write their own output modules for use
123 with ZMap. Output modules are responsible for processing the fieldsets
124 returned by the probe module, and outputing them to the user. Users can
125 specify output fields, and write filters over the output fields.
126
127 --list-output-modules
128 List available output modules (e.g. tcp_synscan)
129
130 -O, --output-module=name
131 Select output module (default=csv)
132
133 --output-args=args
134 Arguments to pass to output module
135
136 -f, --output-fields=fields
137 Comma-separated list of fields to output
138
139 --output-filter
140 Specify an output filter over the fields defined by the probe
141 module. See the output filter section for more details.
142
143 ADDITIONAL OPTIONS
144 -C, --config=filename
145 Read a configuration file, which can specify any other options.
146
147 -q, --quiet
148 Do not print status updates once per second
149
150 -g, --summary
151 Print configuration and summary of results at the end of the
152 scan
153
154 -v, --verbosity=n
155 Level of log detail (0-5, default=3)
156
157 -h, --help
158 Print help and exit
159
160 -V, --version
161 Print version and exit
162
163 UDP PROBE MODULE OPTIONS
164 These arguments are all passed using the --probe-args=args option. Only
165 one argument may be passed at a time.
166
167 file:/path/to/file
168 Path to payload file to send to each host over UDP.
169
170 template:/path/to/template
171 Path to template file. For each destination host, the template
172 file is populated, set as the UDP payload, and sent.
173
174 text:<text>
175 ASCII text to send to each destination host
176
177 hex:<hex>
178 Hex-encoded binary to send to each destination host
179
180 template-fields
181 Print information about the allowed template fields and exit.
182
183 OUPUT FILTERS
184 Results generated by a probe module can be filtered before being passed
185 to the output module. Filters are defined over the output fields of a
186 probe module. Filters are written in a simple filtering language, simi‐
187 lar to SQL, and are passed to ZMap using the --output-filter option.
188 Output filters are commonly used to filter out duplicate results, or to
189 only pass only sucessful responses to the output module.
190
191 Filter expressions are of the form <fieldname> <operation> <value>. The
192 type of <value> must be either a string or unsigned integer literal,
193 and match the type of <fieldname>. The valid operations for integer
194 comparisons are = !=, ,, =,=. The operations for string comparisons are
195 =, !=. The --list-output-fields flag will print what fields and types
196 are available for the selected probe module, and then exit.
197
198 Compound filter expressions may be constructed by combining filter
199 expressions using parenthesis to specify order of operations, the &&
200 (logical AND) and || (logical OR) operators.
201
202 For example, a filter for only successful, non-duplicate responses
203 would be written as: --output-filter="success = 1 && repeat = 0"
204
205
206
207zmap v2.1.1 September 2015 ZMAP(1)