https://github.com/avin/dns-scanner
Brute DNS records to find subdomains
https://github.com/avin/dns-scanner
dns fingerprinting nslookup scanner
Last synced: 10 months ago
JSON representation
Brute DNS records to find subdomains
- Host: GitHub
- URL: https://github.com/avin/dns-scanner
- Owner: avin
- License: mit
- Created: 2018-08-03T08:10:44.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-27T08:18:10.000Z (almost 8 years ago)
- Last Synced: 2025-08-09T04:44:33.673Z (11 months ago)
- Topics: dns, fingerprinting, nslookup, scanner
- Language: JavaScript
- Size: 412 KB
- Stars: 18
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# DNS Scanner
Fast brute DNS records to find subdomains.
## Features
- Fast (20-30 seconds to scan 10000 records)
- Included 10k records subdomain dictionary
- Recursively scan
## Installation
```sh
npm install -g dns-scanner
```
## Usage:
### Usage: Command line
Usage: `dns-scanner [options] `

Example using built-in dictionary with some domains:
```sh
root@debian:~# dns-scanner rambler.ru mail.ru ya.ru
```
Example using personal dictionary:
```sh
root@debian:~# dns-scanner -f ./dic.txt apple.com
```
#### Options
```
-f, --file [value] Dictionary file
-r, --recursive Recursively scan sub-domains
-v, --verbose Show scanning details info
-h, --help output usage information
```
### Usage: In your code
```js
const target = 'rambler.ru';
const scanner = new DNSScanner({
target,
prefixes: ['www', 'mail', 'ftp', 'webmail', 'smtp', 'pop'],
concurrency: 100,
});
scanner.start();
scanner.on('progress', ({ current, total, percent }) => {
// on each prefix processed
});
scanner.on('item', ({ address, ips }) => {
// on found domain-item
});
scanner.on('done', res => {
// on end of scanning
});
scanner.on('error', res => {
// on any errors
});
```
## License
MIT