tcpdump : Fichier de Log

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

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.