tcpdump : téléchargement du site tcpstatmysql

Voici la version téléchargeable de l’ensemble : base de données – scripts – site web dans l’archive : tcpstatmysql

Présentation :

  • Le site s’appuie sur apache – php – MySQL.
  • Dans mon architecture, apache, tout ceci va dans /var/www/html/ et le dossier du site se nomme tcpstatmysql.
  • Le chemin /var/www/html/tcpstatmysql/ est présent en dur dans plusieurs scripts shell présents dans bash : si votre architecture est différente, vous devrez modifier ce chemin.

L’archive zip contient l’ensemble sous la forme de dossiers et de scripts. A la racine vous trouverez :

  • mytcpstat-init.sql qui est le script de création de la base de données, elle se nomme mytcpstat. Ce script est pour la version MySQL 8. Si vous utilisez Mariadb ou MySQL 5.7, vous verrez y changer toutes les occurrences contenant “utf8mb4” par “utf8”. La base de données contient tout le nécessaire dont une base utilisateurs avec un utilisateur/mot de passe de connexion au site par défaut qui est : admin@myifstat.com/admin
  • Les informations de connexion à la base de données (nom, mot de passe) nécessaire au site se trouvent dans le fichier param.php
  • le dossier bash contient tous les scripts des services et ceux à mettre en crontab.

Installation – Prérequis :

  • Un serveur Linux.
  • Une interface réseau connectée
  • apache (ou tout autre service web)
  • php, php-mbstring, php-mysqli (ou php-mysqlnd)
  • Le serveur MySQL ou Mariadb
  • que les commandes : ifconfig, bc, cut, grep, awk, tcpdump, geoiplookup, curl, systemctl  soient opérationnelles
  • Si MySQL, mettre en place le “login-path” pour root avec mysql_config_editor

Installation – actions à réaliser :

  • Télécharger l’archive tcpstatmysql
  • La décompresser dans /var/www/html/
  • Ouvrir param.php, noter le nom de l’utilisateur et le mot de passe de connexion et le créer sur MySQL.
  • Restaurer la base de données grâce au script mytcpstat-init.sql
  • granter l’utilisateur que vous avez créé pour qu’il puisse accéder à cette base de données (lecture, écriture, suppression, exécutions de procédures stockées).
  • Allez sur le site, en vous connectant avec amdin@myifstat.com/admin. Dans la partie administrateur, créez-vous un nouveau compte admin. Reconnectez-vous avec ce nouveau compte et supprimer le compte admin@myifstat.com
  • Identifier le nom des interface réseaux que vous voulez suivre (grâce à la commande ifconfig) et aller dans le menu paramètre du site pour activer seulement ces interfaces.
  • Tester les scripts bash :
    • Aller dans le répertoire bash, lancer sh tcpdetailtxt.sh eth0 100 toto.txt (en remplaçant eth0 par le nom d’une de vos interfaces réseau)
    • Si tout est OK, le fichier de dump toto.txt est créé, vous pouvez l’ouvrir pour voir s’il a une bonne tête.
    • Lancer sh dumptomysql.sh eth0 toto.txt (en remplaçant eth0 par le nom de votre interface réseau)
    • Si tout est OK, bravo  : vous pouvez installer le service
  • Installation des services : pour chaque interface à surveiller :
    • Lancer sh instserv.sh eth0 (en remplaçant eth0 par le nom de votre interface réseau)
    • Le service : tcpdump[nom de l’interface].service est alors créé.
    • Lancer : systemctl start tcpdumpeth0.service (en remplaçant eth0 par le nom de votre interface réseau)
    • Puis lancer : systemctl status tcpdumpeth0.service (en remplaçant eth0 par le nom de votre interface réseau)
    • Tout est OK ? activer le service au démarrage : systemctl enable tcpdumpeth0.service (en remplaçant eth0 par le nom de votre interface réseau)
    • Attendez une bonne dizaine de minutes, puis vous pouvez faire un SELECT * FROM MYTCPSTAT.TBIPPORT, il devrait y avoir des données.
    • Tout est OK ? passons à la suite : la mise en place des scripts en crontab et leur test.
  • Installation des scripts en crontab :
    • Toujours dans le dossier bash, lancer : sh mklog.sh
    • Tout est OK ? dans le même dossier, lancer : sh mkhisto.sh
    • Tout est OK : ouvrez la crontab (crontab -e) et ajouter ceci :
      • #ETAT DES SERVICES TCPSTAT
      • */10 * * * * sh /var/www/html/tcpstatmysql/bash/mklog.sh > /var/www/html/tcpstatmysql/bash/myifstat.log 2>&1
      • #HISTORISATION ET REGROUPEMENT TCPSTAT
      • */30 * * * * sh /var/www/html/tcpstatmysql/bash/mkhisto.sh > /var/www/html/tcpstatmysql/bash/mkhisto.log 2>&1
    • La 1ère ligne exécute la mise à disposition du log du service et la géolocalisation toutes les 10 minutes
    • La deuxième ligne exécute l’historisation et la purge régulière toutes les 30 minutes
    • Chaque script produit un fichier de log que vous pouvez consulter

Plus vous patienterez , plus vous aurez de données intéressantes disponibles sur le site.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.