You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-3
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,8 @@ The output of bulkDNS is a detailed JSON structure (example at the end of the pa
18
18
* [A note on threads and concurrency](#A-note-on-threads-and-concurrency)
19
19
* [A note on names and conventions](#Names-and-output-convention)
20
20
* [Hex representation of the output](#Hex-represantaion-of-the-output)
21
+
*[Using Lua for customized scan scenario](#Using-Lua-for-customized-scan-scenario)
22
+
*[Running bulkDNS in server mode](#Running-bulkDNS-in-server-mode)
21
23
*[FAQ](#FAQ)
22
24
23
25
@@ -79,7 +81,7 @@ make with-lua
79
81
The compiled output is inside the `bin` directory.
80
82
81
83
In case the `pkg-config` commands gives you a different output for Lua headers and library locations, then
82
-
you must specify the values in the make file like this:
84
+
you must specify the values when running `make` command like this:
83
85
84
86
```bash
85
87
make LUALIB=<your-lua-lib-name> LUAINCDIR=<your-path-to-lua-include-dir> with-lua
@@ -203,7 +205,7 @@ We try to keep the output as close as possible to DNS RFC standards.
203
205
scan the whole domain name system in less than one day.
204
206
This makes it probably the most practical (and maybe fastest) DNS scanner. It does not have any requirements in terms of CPU or RAM. As all other network scanners,
205
207
the bottleneck is always the network bandwidth, firewalls and the remote recursive resolver. We recommend using Cloudflare quad one (1.1.1.1) as the resolver since
206
-
it has no limit in terms of the number of queries. However, you can also run your own recursive resolver to do the job. If you decrease the number of threads, you can
208
+
it has no limit in terms of the number of queries. However, you can also run your own recursive resolver to do the job. If you decrease the concurrency, you can
207
209
also use google quad-eight (8.8.8.8) which has 1,500 queries/second limit.
208
210
209
211
* Using `--concurrency` option, you can increase or decrease the number of concurrent requests based on your network and your experience. It's important to note that if you set `--concurrency=1000`, it means you ask for openning 1,000
@@ -258,6 +260,19 @@ answer
258
260
259
261
In the above example the `cpu` is the hex represantation of `some-kinda-cpu` and os is the hex represantation of `some-kinda-os`.
260
262
263
+
### Using Lua for customized scan scenario
264
+
265
+
Using bulkDNS, you can write your own modules to perform any type of scan. The [modules](./modules) directory contains
266
+
a tutorial on how to create a custom scan module along with several examples. To use this feature, you must compile bulkDNS
267
+
with Lua library.
268
+
269
+
### Running bulkDNS in server mode
270
+
271
+
bulkDNS is not just a scanner. You can also run it in server mode by passing `--server-mode` switch.
272
+
If you want to run bulkDNS in server mode, you must compile it with Lua library.
273
+
In the server mode, bulkDNS acts like a DNS server. A complete tutorial provided in [modules](./modules) directory
274
+
along with examples.
275
+
261
276
262
277
### FAQ
263
278
1. Why another scanner?
@@ -266,7 +281,7 @@ In the above example the `cpu` is the hex represantation of `some-kinda-cpu` and
266
281
- I don't know CMake
267
282
2. Is there any similar project like this?
268
283
- The only comparable project to this one (that I'm aware of) is zmap/zdns.
269
-
3. Can I pass a domain name (e.g., `ns1.google.com` as the resolver)?
284
+
3. Can I pass a domain name (e.g., `ns1.google.com`) as the resolver?
270
285
- No. The resolver must be an IPv4 address. We pass this value to `inet_addr()` function which accepts an IPv4.
271
286
4. How fast it can scan domain names?
272
287
- It highly depends on your network and the (remote) resolver you use.
0 commit comments