Option for how many concurrent connections to use.

Can increase scan efficiency with higher numbers, or you can reduce the amount of connections for use on terrible internet connections. Default is 256
This commit is contained in:
etianl
2023-01-06 01:49:31 -08:00
committed by GitHub
parent 0a73fb77af
commit f05b17ee9a
2 changed files with 5 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ Run `node ./scanner.js [options] --ip <ip range>`
* `--min-players <count>` - Minimum number of players. * `--min-players <count>` - Minimum number of players.
* `--max-players <count>` - Maximum player count. * `--max-players <count>` - Maximum player count.
* `--version <glob expression>` - Glob expression to filter version (eg- `1.19.*`, or `1.1*.*`). (Default: `*`) * `--version <glob expression>` - Glob expression to filter version (eg- `1.19.*`, or `1.1*.*`). (Default: `*`)
* `--conc <howmany>` - How many concurrent connections to use for scanning. (Default is 256)
#### Output Options #### Output Options
* `--show-desc` - Enable showing of server description in output. * `--show-desc` - Enable showing of server description in output.
@@ -47,5 +48,5 @@ Run `node ./scanner.js [options] --ip <ip range>`
In this example it took `3.183` seconds to scan `255` IP addresses, and find `85` MineCraft servers. At this speed, a full `/16` (`123.45.0.0 - 123.45.255.255`) will take about `13.5` minutes to scan. In this example it took `3.183` seconds to scan `255` IP addresses, and find `85` MineCraft servers. At this speed, a full `/16` (`123.45.0.0 - 123.45.255.255`) will take about `13.5` minutes to scan.
## Limitations ## Limitations
* Fails to scan more than a /16 without kicking the bucket... so you should probably stick to that or smaller ranges. * Fails to scan more than a /10 without kicking the bucket... so you should probably stick to that or smaller ranges.
* Working on a Minecraft bot client... doesn't work though... you can see how badly it doesn't work by using `--enable-client` flag... it is totally broken. **Don't use it**. * Working on a Minecraft bot client... doesn't work though... you can see how badly it doesn't work by using `--enable-client` flag... it is totally broken. **Don't use it**.

View File

@@ -13,6 +13,7 @@ var SCAN_OPTS_HOSTS = (process.params['ip']||'0.0.0.0/0').toString();
var SCAN_OPTS_PORTS = (process.params['port'] || MINECRAFT_DEFAULT_PORT).toString(); var SCAN_OPTS_PORTS = (process.params['port'] || MINECRAFT_DEFAULT_PORT).toString();
var SCAN_OPTS_OUTPUT_CSV = (process.params['out']||null); var SCAN_OPTS_OUTPUT_CSV = (process.params['out']||null);
var SCAN_OPTS_VERSION_FILTER = (process.params['version']||'*'); var SCAN_OPTS_VERSION_FILTER = (process.params['version']||'*');
var SCAN_OPTS_CONCURRENCY = (process.params['conc'] || 256);
var CLIENT_TOKEN; var CLIENT_TOKEN;
if(process.params['geo-ip']) if(process.params['geo-ip'])
@@ -88,14 +89,14 @@ if(process.params['enable-client'] && !process.params['client-token'])
}); });
} }
console.log("Scanning ports " + SCAN_OPTS_PORTS + " on " + SCAN_OPTS_HOSTS); console.log("Scanning ports " + SCAN_OPTS_PORTS + " on " + SCAN_OPTS_HOSTS + " with " + SCAN_OPTS_CONCURRENCY " connections.");
var options = { var options = {
target: SCAN_OPTS_HOSTS, target: SCAN_OPTS_HOSTS,
port: SCAN_OPTS_PORTS, port: SCAN_OPTS_PORTS,
states: 'O', states: 'O',
banner: false, banner: false,
concurrency: 256 concurrency: SCAN_OPTS_CONCURRENCY
} }
var scan = new Scanner(options); var scan = new Scanner(options);