Dmitry Savintsev and Bee
f74cb456b1
socket_iterator: use itertools.iproducts for ip x ports set ( #231 )
...
Replace the current manual iterator-like implementation
with the call to the itertools.iproduct macro
to generate the cartesian product of the IPs and ports.
stdlib reference:
https://docs.rs/itertools/0.9.0/itertools/macro.iproduct.html
Co-authored-by: Bee <[email protected] >
2020-09-20 12:15:46 +01:00
Brandon
492d2fb3b3
fixed accessible issues
2020-09-20 01:25:41 +01:00
bergabman and Bee
af53591ccb
Added top ports, fixed accessibility. ( #230 )
...
* Refactored scanner struct for accessibility, fixed macros
Co-authored-by: Bee <[email protected] >
2020-09-19 18:24:08 +01:00
bergabman
64f4aecacd
Runtime measurement implementation, better debugging, and better error handling for unreachable hosts.
2020-09-18 16:14:26 +02:00
Bernardo Chaves
33c9388586
Fix behaviour of --no-nmap flag
...
At some point we forgot to check for this flag before actually running
our post scanning tasks. I've also adjusted some of our messages for
reporting.
2020-09-14 19:30:30 -04:00
Brandon
7b827991c1
cargo fmt
2020-09-14 12:23:09 +01:00
Brandon
f4555ecb98
fixed debug log
2020-09-14 12:20:48 +01:00
Bernardo Chaves
01975d7238
Introduce SocketIterator
...
The goal of this iterator is to generate sockets based on combinations
of IPs and ports in a memory-bounded way, we only consume the next item
of this iterator when a socket has been processed by our scanner.
Before this change we were generating every combination of IP and port
and storing it in a VecDeque, and while this is fine for a small subset
of IPs and ports it can quickly get out of hand with multiple IPs and
a big port range.
2020-09-12 12:24:30 -04:00
bergabman
b0c1ab3177
Logic at adding targets to the FuturesUnordered rolled back to the initial.
...
In case of batchsize higher than all sockets to scan, we could end up in an infinite loop. Fixed with breaking out of the loop if that's the case.
2020-09-11 19:21:21 +02:00
bergabman
c8a8915682
Remove unnecessary comment.
...
Fix mistake at adding futures to the initial stream.
2020-09-11 01:48:35 +02:00
bergabman
d786e24186
Fix format.
2020-09-11 00:48:23 +02:00
Bee
5b536621e6
Merge branch 'master' into master
2020-09-10 23:45:46 +01:00
bergabman
c05f40ae70
Small improvement at an if.
2020-09-10 23:29:07 +02:00
bergabman
24b9f8d8d3
Improved scanner engine to work more efficient and consistent with scanning.
2020-09-10 23:27:28 +02:00
Bernardo Chaves
3836480486
Add CIDR support
...
Add CIDR support for ips_or_hosts argument. This will allow our users to
specify multiple IPs within a network at once which is pretty
convenient.
2020-09-09 19:21:43 -04:00
Bee
d95cae6677
Merge branch 'master' into master
2020-09-07 21:41:27 +01:00
Bernardo Chaves
743fa1cad6
Introduce the -no-nmap option
...
As the name implies this will allow RustScan to to run the scan without
starting an nmap scan with ports that are found.
2020-09-06 22:22:17 -04:00
mulc
a0561d4728
Check '.config/rustscan/config.toml' for config
...
When reading the config file '$CONFIG_DIR/.config/rustscan/config.toml'
should also be checked. If both '~/.rustscan.toml' and
'$CONFIG_DIR/.config/rustscan/config.toml' exist, then later will be
used.
2020-09-05 18:32:08 +02:00
Bernardo Chaves
8e21f3bf8c
Add configuration file
...
This configuration file will be read from the home directory of the
user. Options set within this file will have priority over arguments
from the command line unless the `--no-config` option is passed to the
program.
2020-08-29 18:01:44 -04:00
Brandon
0ab3e53034
Merge branch 'master' into bee-add-submodule
2020-08-27 13:05:19 +01:00
Brandon
56493859cb
added submodule
2020-08-27 12:36:56 +01:00
Sandro Jäckel
916be1e4a2
Convert -T to -t
2020-08-26 17:38:58 +02:00
Brandon
5f6457ed7e
Merge branch 'master' into patch-1
2020-08-26 15:47:27 +01:00
Ferry
83b23da32b
Fixed small typo in a warning message
2020-08-26 11:00:54 +02:00
Phenomite
f5064d3d5c
2000 milliseconds not seconds
2020-08-25 18:42:59 -04:00
Bernardo Chaves
e069991c8d
Allow randomized order for manual ports
...
Before this change we would always scan manually specified ports in
sequential way, this is not the case anymore. This is an important
change since we are planning to introduce a config file with the top 1K
ports and we would like to scan those in a randomized way.
2020-08-21 13:09:41 -04:00
Brandon
e0aa1423ad
removed -A from nmap
2020-08-20 00:32:37 +01:00
Bernardo Chaves
90d0b03ba7
Add --port and --range options
...
These options are mutually exclusive, this means that when a user
selects manual ports we will ignore ranges and vice-versa.
Manually specifying ports won't allow scan randomization for now.
2020-08-17 20:43:44 -04:00
Bernardo Chaves
f68abcb955
Add host resolution
...
For now if we can establish a socket on port 80 we can infer the IP of the
host. This might change in the future if we start considering other
ports like 443.
2020-08-16 11:52:11 -04:00
Brandon
c58ac613c9
fixed spelling mistake
2020-08-11 01:47:25 +01:00
Bernardo Chaves
1639aadc54
Update documentation
...
- README
- Port strategies
2020-08-09 12:29:16 -04:00
Bernardo Chaves
b490eb08be
Refactor RangeIterator to not require Option types
...
There's no need to deal with `unwrap` for this specific algorithm,
instead we can rely on simple types to achieve the same result.
2020-08-08 14:08:43 -04:00
Brandon
883e89fe5e
cargo fmt
2020-08-08 13:26:45 +01:00
Brandon
1b15cc2f71
Merge branch 'master' into bee-add-a11y-mode
2020-08-08 13:24:41 +01:00
Nugine
3fafee42b9
Fix typo of "ulimt"
2020-08-08 19:54:12 +08:00
Bernardo Chaves
2f16729c54
Add port scanning strategy
...
User will be able to pick from:
- serial: in order to have their ports scanned in ascending order
- random: in order to have their ports scanned randomly
2020-08-07 18:59:44 -04:00
Brandon
785c2a4de1
fixed tests
2020-08-07 22:28:57 +01:00
Brandon
80cc97bf83
removed perf data
2020-08-07 22:04:33 +01:00
Brandon
7a825dae41
the printopening() would suck in a TTS program
2020-08-07 21:39:53 +01:00
Brandon
9ab15c9d8b
cargo fmt
2020-08-07 17:11:14 +01:00
Brandon
7146c23ed9
cleanup
2020-08-07 17:06:43 +01:00
Brandon
f37f2d8f9d
switching to master
2020-08-07 16:50:42 +01:00
Brandon
5a3a4d1c0c
cargo fmt
2020-08-07 16:36:14 +01:00
Brandon
33e7cd44b6
added quiet mode to macros
2020-08-07 16:33:25 +01:00
Brandon
8288856949
added quotes
2020-08-07 13:21:19 +01:00
Brandon
a54868000e
cargo format
2020-08-07 12:37:05 +01:00
Brandon
8f4acdf99a
cleaned up colours
2020-08-07 12:33:44 +01:00
Brandon
c637042906
fixed visual table
2020-08-07 02:08:12 +01:00
Brandon
766164588c
fixed spacing
2020-08-07 01:53:14 +01:00
Brandon
b2be83c04a
added basic TUI interface
2020-08-07 00:52:56 +01:00