C&C server should have the Probe registering mechanism. And it listens to registered Prob's heartbeats. WebUI shows the active states of Probes in a list view.
- Registering mechanism for Probe
- Disconnecting mechanism for Probe
- Storing Probe information in database
- Logging mechanism
- Packaging
- Test suite
- gRPC
- protobuf
- SQLite
- dpkg suite
.
├── debian
├── src
│ ├── main
│ │ ├── data
│ │ │ ├── ClientDao.py
│ │ │ ├── DataUtils.py
│ │ │ └── DbHelper.py
│ │ ├── service_methods
│ │ │ ├── grpc_bin
│ │ │ │ ├── survey6_pb2_grpc.py
│ │ │ │ └── survey6_pb2.py
│ │ │ ├── ClientConnectionService.py
│ │ │ └── UtilsService.py
│ │ ├── App.py
│ │ └── Utils.py
│ └── test
│ └── test_server.py
├── cnc-server
├── requirements.txt
└── server.service
- Clone the repository
git clone https://github.com/web-telescope/survey6.git
- Move to C&C Server
cd C\&C\ Server/
- Create and activate virtual environment
python3 -m pip install --user virtualenv
python3 -m venv env
source env/bin/activate
- Install Requirements
python3 -m pip install -r requirements.txt
- Move to src/main
cd src/main
- Run the server
python App.py
- Move to
src/test
fromC&C Server
cd src/test
- Run tests
python test_server.py
- Come to
C&C Server
dir - Run dpkg
dpkg-buildpackage -b -rfakeroot -us -uc
- Considering you are in
C&C Server
dir,
sudo apt-get install ../cnc-server_0.1.0-1_all.deb