I need someone to automate a nmap script (written in python) in master-slave perspective.
Basically what I want is,
A master server to hold and serve some IPs (a text file contains the IP list) to the slave machines to scan, and keeps the scan results(pushed by the slaves) in a database.
First, need to start the automation on the master machine, it shall listen to the designated port whether any slave wants to connect. If there is still IP to scan, it accepts the connection and serves the IP
Once, I execute the automation service/ script on any slave, it will talk to the master and get an IP (the one on the queue), run the script, and pushes the results into the DB, then get another IP to scan if there is any left on the queue.
This cycle will go on until the master serves all the IPs in the list.
Once all the IPs are scanned and results written to the DB, the master shall send a notification email.
- OS shall be Centos 7.
- Nmap script should work on python3, if it doesn’t, needs to be fixed.
- Master and client would communicate over TCP socket
- DB shall be SQLite (not sure how it handles concurrent writes, open to suggestions)
- Master’s host address and port can be hard-coded to the script.
- Target IP list will be stored in a txt file on the master machine.
- I need only one master (no needs redundancy here), and there will be around ten slaves.
- This automation can start by running the script on both master and slaves or a simple service with start | Stop | show functions would do.
-A comprehensive guide on how this automation supposes to work, possible issues and solutions.
-I would like to receive the fully working script in 3-4 days.
-Budget is max $200 AUD
Above I tried to outline this project while omitted the common programming foundations such as proper error handling, clear coding with proper explanations etc.
Feel free to ask if you have any questions.
Please note, I will not consider auto messages either middle-man bids.
Please read the description and provide me a detailed project proposal.
Also, feel free to share if you have a different approach for this.
Having said that, it must be on Centos and written in Python