Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avin/dns-scanner
Brute DNS records to find subdomains
https://github.com/avin/dns-scanner
dns fingerprinting nslookup scanner
Last synced: 24 days 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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-27T08:18:10.000Z (over 6 years ago)
- Last Synced: 2024-08-30T20:19:55.754Z (3 months ago)
- Topics: dns, fingerprinting, nslookup, scanner
- Language: JavaScript
- Size: 412 KB
- Stars: 17
- Watchers: 3
- 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] `
![demo](./img/demo.gif)
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