|
4 years ago | |
---|---|---|
client | 4 years ago | |
server | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago |
README.md
poc-bash-tcp
POC de deux scripts bash qui écoutent et communiquent via TCP/IP.
Dépendances
Le paquet entr
est nécessaire au bon fonctionnement de cette preuve de concepte. Aussi, et sauf erreur de ma part, ce paquet n'est pas proposé sur les dépôts des distributions de la branche Debian.
Pour l'installer, suivre la documentation officielle.
Explications
Ici, on imagine un serveur de sauvegarde qui centralise les sauvegardes et donc gère la planification, l'historique et la notification mail. À savoir qu'en réalité les scripts ne font rien de tout cela. Juste ils se parlent entre eux.
Pour cela, le serveur communique avec ses clients via le port TCP/3737. Aussi, il écoute sur le port TCP/3738 pour que ses clients puissent lui remonter la fin de la sauvegarde et le status de cette dernière (ok/nok).
serveur ---> client:3737
client ---> server:3738
À noter que les IP et ports d'écoute sont configurable via un fichier de configuration.
Pour communiquer entre eux via TCP, les clients et le serveur utilisent netcat
. Donc attention à l'aspect non-sécurisé des échanges. Il existe un fork de netcat qui implémente la notion de chiffrement des communications. Mais ici on va rester simple avec le paquet installé par défaut sur la branche Debian.
Comment tester ?
Commencer par démarrer les daemons avec les init-scripts puis faire un tail
sur les fichiers de log.
./server-startstop.sh start && tail -f server.log
./client-startstop.sh start && tail -f client.log
Puis lancer une sauvergarde sur l'hôte "localhost" avec pour fichier de config. "toto.cfg" via le script server/launcher.sh
.
./launcher.sh localhost test.cfg
Puis observer les logs avec joie :)