J’aime bien pourvoir savoir si tout ce passe bien et ce, de manière aisée.
Le moyen le plus confortable est d’afficher cela sur l’interface web.
Dans la version qui utilise vnStat, je n’ai pas de service, juste un script en crontab, il produit un fichier de log (myifstat.log) que j’affiche sur une des pages de l’interface Web.
Pour la version TCPDUMP, j’ai un service et un script en crontab. Mais j’aime bien pouvoir savoir si le service fonctionne bien aussi hors produire un fichier de log avec un service n’est pas une bonne idée car :
- il pourrait ne faire que grossir jusque remplir tout le disque
- on a déjà des commandes qui donnes le statut des service
Donc j’ai choisis que le script en crontab interroge en plus de son traitement les services et produise un fichier de log qui porte le même ,om (myifstat.log)
Pour cela, j’ai ajouté au script l’interrogation des services des interfaces actives (vis à vis de l’application) :
- le scanne la liste des interfaces actives (SELECT IFACE FROM TBIFACE WHERE ACTIF=’Y’)
- Pour chacune d’entre elles, je fais un systemctl status
Comme le script scanne déjà la liste des interfaces actives, j’a ajouté ceci dans la boucle :
servname= »tcpdump » »$myiface » ».service »
echo « Etat du service « »$servname »
echo « —————————————————– »
systemctl status « $servname »
Le tout produisant un fichier de log de ce genre :
IP Public:XX.XX.XX.XX Country Code FR Country Lib France ----------------------------------------------------- iface=enp2s0 IPLocal=192.168.1.200 Sub Local=192.168 Etat du service tcpdumpenp2s0.service ----------------------------------------------------- ● tcpdumpenp2s0.service - Dump enp2s0 service Daemon Loaded: loaded (/usr/lib/systemd/system/tcpdumpenp2s0.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-01-28 18:17:28 CET; 18h ago Main PID: 10873 (tcpdetail.sh) Tasks: 3 (limit: 4915) Memory: 23.7M CGroup: /system.slice/tcpdumpenp2s0.service ├─10873 /bin/sh /var/www/html/tcpstatmysql/bash/tcpdetail.sh enp2s0 ├─26765 sh /var/www/html/tcpstatmysql/bash/tcpdetailtxt.sh enp2s0 500 /tmp/dumpenp2s020190129124945.txt └─26774 tcpdump -i enp2s0 -n -nn -N -q -p -c500 -z /usr/sbin/tcpdump -n -nn -N -q -p -r janv. 29 12:47:40 pntserv tcpdetail.sh[10873]: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode janv. 29 12:47:40 pntserv tcpdetail.sh[10873]: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes janv. 29 12:49:36 pntserv tcpdetail.sh[10873]: 500 packets captured janv. 29 12:49:36 pntserv tcpdetail.sh[10873]: 556 packets received by filter janv. 29 12:49:36 pntserv tcpdetail.sh[10873]: 0 packets dropped by kernel janv. 29 12:49:36 pntserv tcpdetail.sh[10873]: /tmp/dumpenp2s020190129124740.txt créé janv. 29 12:49:45 pntserv tcpdetail.sh[10873]: enp2s0 : Maj de MYTCPSTAT.TBIPPORT effectué janv. 29 12:49:45 pntserv tcpdetail.sh[10873]: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode janv. 29 12:49:45 pntserv tcpdetail.sh[10873]: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes ----------------------------------------------------- iface=enp3s0 IPLocal=192.168.0.200 Sub Local=192.168 Etat du service tcpdumpenp3s0.service ----------------------------------------------------- ● tcpdumpenp3s0.service - Dump enp3s0 service Daemon Loaded: loaded (/usr/lib/systemd/system/tcpdumpenp3s0.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-01-28 18:17:13 CET; 18h ago Main PID: 10852 (tcpdetail.sh) Tasks: 3 (limit: 4915) Memory: 26.4M CGroup: /system.slice/tcpdumpenp3s0.service ├─10852 /bin/sh /var/www/html/tcpstatmysql/bash/tcpdetail.sh enp3s0 ├─12757 sh /var/www/html/tcpstatmysql/bash/tcpdetailtxt.sh enp3s0 500 /tmp/dumpenp3s020190129124917.txt └─12766 tcpdump -i enp3s0 -n -nn -N -q -p -c500 -z /usr/sbin/tcpdump -n -nn -N -q -p -r janv. 29 12:47:40 pntserv tcpdetail.sh[10852]: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode janv. 29 12:47:40 pntserv tcpdetail.sh[10852]: listening on enp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes janv. 29 12:49:04 pntserv tcpdetail.sh[10852]: 500 packets captured janv. 29 12:49:04 pntserv tcpdetail.sh[10852]: 506 packets received by filter janv. 29 12:49:04 pntserv tcpdetail.sh[10852]: 0 packets dropped by kernel janv. 29 12:49:04 pntserv tcpdetail.sh[10852]: /tmp/dumpenp3s020190129124740.txt créé janv. 29 12:49:17 pntserv tcpdetail.sh[10852]: enp3s0 : Maj de MYTCPSTAT.TBIPPORT effectué janv. 29 12:49:17 pntserv tcpdetail.sh[10852]: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode janv. 29 12:49:17 pntserv tcpdetail.sh[10852]: listening on enp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes ----------------------------------------------------- Geolocalisation 1. Récupération des nouvelles IP OK 2. Traitement des IP Locales UPDATE MYTCPSTAT.TBIPCOUNTRY SET COUNTRYCODE='FR', COUNTRYLIB='France' WHERE IP LIKE '192.168.%'; IFACE:enp2s0 ... OK UPDATE MYTCPSTAT.TBIPCOUNTRY SET COUNTRYCODE='FR', COUNTRYLIB='France' WHERE IP LIKE '192.168.%'; IFACE:enp3s0 ... OK 3. Récupération des IP externes dont le pays est manquant 4. Géolocalisation de ces IP et mises à jour IP:193.169.252.69 ... IP Address not found IP:193.188.22.17 ... IP Address not found IP:193.188.22.36 ... IP Address not found IP:193.188.22.8 ... IP Address not found IP:193.188.23.12 ... IP Address not found IP:193.238.46.29 ... IP Address not found IP:193.238.46.66 ... IP Address not found IP:193.238.47.174 ... IP Address not found IP:194.36.175.69 ... IP Address not found IP:194.61.27.43 ... IP Address not found IP:224.0.0.251 ... IP Address not found IP:239.255.255.250 ... IP Address not found IP:255.255.255.255 ... IP Address not found IP:45.233.245.168 ... IP Address not found IP:45.235.87.3 ... IP Address not found IP:91.207.175.154 ... IP Address not found IP:92.246.76.74 ... IP Address not found