Comments (11)
I think that adding the option to add to output/pipe results to a default file and specify the file format.
Something like:
output:
file: /path/to/file.extension (json/xml/txt)
type: append / write
so you can monitor the file for logs and send them to splunk/elk would be really nice to have as a qos feature
from rustscan.
We can agree on a minimum viable configuration file to get this idea out of the paper.
I would be happy starting with:
- Ports to be scanned
- Threads to be allocated
- Flags to be passed to
nmap
- If the user specifies a field through the command line AND through the config file like number of threads, then the command line would have precedence.
What do you think?
from rustscan.
I think the original idea for this was to create preset scans for commonly used flags and ranges, and possibly lists of scripts to execute as well.
The usage would probably be something similar to rustscan 10.5.12.156 --config vulnscan.config
, and would be possibly a json containing flags for configuring the threads allocated, scripts used, and ports scanned. Or also be able to scan a set amount of IP ranges as possibly for a scheduled maintenance/check for a network
from rustscan.
Ah, if you're looking to implement a config file, I just wrote a very small, simple library that will do that. Though the format of the config file it can parse is different than what you're planning. But perhaps that could be easily changed.
https://lib.rs/crates/configster
But I see from #136 that it's probably not necessary at this point. Good luck!
from rustscan.
Specifically what I am looking for is something like this:
{ 192.168.0.1: [21, 22, 80, 443], 192.168.0.2: [8080, 9162]}
So a listing of IP addresses and their ports. We can use adaptive learning to insert previously found open ports too.
This way, over time, the organisation doesn't have to manually write their own open ports -- Rustscan will find them for them.
from rustscan.
I like this format a lot and this issue raised a few questions in my head.
- What's the goal for aggregating this information?
- Are we planning to use this file as input for
RustScan
? How so?
Maybe we are conflating two different things here. The first being a config
file with things like scan preferences and another one being a log
or recon
file which gets updated after each recon is executed.
from rustscan.
Sure! One thing to note is that if we place the config file in APPDIRS
, and the argument for it -c
for config does not have an argument, we can search APPDIRS
for the config file. That way, the user doesn't have to specify a full path for it each time.
We could also create another flag -a
for "appdirs" which lists the location where RustScan is expecting the config file to be :)
from rustscan.
#85 Is an issue which relates to this issue.
from rustscan.
(copied from #90 (comment))
Additionally, it would be a pretty cool/useful idea to make a .last_scan that converts the last performed scan into a RustScan .config that you can export into a new .config or repeat the last performed scan with.
from rustscan.
The way we do this in Ciphey is to load the config file (default config) as a dictionary (or hashmap, as we're in Rust) and then to load the user arguments as another dictionary (StructOpts already does this).
Then simply config.update(opts)
which places priority on the command arguments while maintaining clean code.
from rustscan.
Closing this one now that we have a config file. We can open following up issues with feature request
or good first issue
. :)
from rustscan.
Related Issues (20)
- A good example of Custom Scripting would be nice HOT 1
- add RTT in output once it is able to detect the open port HOT 1
- Local docker build fails HOT 1
- unable to run custom scripts on windows HOT 2
- The -q option does not work HOT 3
- --range <start-end>, only contain start, But not end port
- Front PAge Website HOT 1
- Broken Links
- How to install rustscan under Linux arm HOT 1
- Rustscan crash with failed memory allocation HOT 1
- Small inconsistency with your banner
- RustScan scripts parser error
- Hit or Miss on ports HOT 1
- The --no-nmap option does not work HOT 1
- ADD EXCLUDING PORTS DURING SCAN HOT 1
- Add stable tag to docker HOT 1
- Rustscan cannot saved output anymore with -oN/-oA command HOT 6
- Markdown Link Check Job Fails
- Rustscan hallucinating open ports on non-existent IPs HOT 3
- rustscan-2.2.2-x86_64-linux.tar.xz still contains the old version HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustscan.