Pour les stats du site, je pense qu'il faut créer un outil qui analyse chaque ligne de log Apache2 et qui utilise les informations
- adresse IP (deux choses m'intéressent : l'AS (le réseau à et le fait qu'elle soit IPv4 ou IPv6)
- port de retour TCP (je suis intéressé pour savoir si il est cohérent avec le user-agent ou non. Un % important de port non cohérent indique la présence de CG-Nat)
- Taille de téléchargement
- User-agent
Pour remplir une table My-SQL comme ceci :
Système | Navigateur | IP | Taille | Nb hits total | Nb hits port retour anormal |
Total | Total | IPv4 |
Total | Total | IPv6 |
Total | Mozilla | IPv4 |
Total | Mozilla | IPv6 |
Total | Google | IPv4 |
Total | Google | IPv6 |
Total | Microsoft | IPv4 |
Total | Microsoft | IPv6 |
Total | Autre | IPv4 |
Total | Autre | IPv6 |
Windows10 | Total | IPv4 |
Windows10 | Total | IPv6 |
Windows legacy | Total | IPv4 |
Windows legacy | Total | IPv6 |
Windows XP | Total | IPv4 |
Windows XP | Total | IPv6 |
Windows Phone | Total | IPv4 |
Windows Phone | Total | IPv6 |
MacOS X | Total | IPv4 |
MacOS X | Total | IPv6 |
MacOS X legacy | Total | IPv4 |
MacOS X legacy | Total | IPv6 |
Linux 64bits | Total | IPv4 |
Linux 64bits | Total | IPv6 |
Linux 32bits | Total | IPv4 |
Linux 32bits | Total | IPv6 |
Android | Total | IPv4 |
Android | Total | IPv6 |
Android legacy | Total | IPv4 |
Android legacy | Total | IPv6 |
iOS | Total | IPv4 |
iOS | Total | IPv6 |
TV | Total | IPv4 |
TV | Total | IPv6 |
RSS | Total | IPv4 |
RSS | Total | IPv6 |
Programmes | Total | IPv4 |
Programmes | Total | IPv6 |
Robots | Total | IPv4 |
Robots | Total | IPv6 |
Autre | Total | IPv4 |
Autre | Total | IPv6 |
Windows10 | Mozilla | IPv4 |
Windows10 | Mozilla | IPv6 |
Windows10 | Google | IPv4 |
Windows10 | Google | IPv6 |
Windows10 | Microsoft | IPv4 |
Windows10 | Microsoft | IPv6 |
Windows10 | Autre | IPv4 |
Windows10 | Autre | IPv6 |
Windows legacy | Mozilla | IPv4 |
Windows legacy | Mozilla | IPv6 |
Windows legacy | Google | IPv4 |
Windows legacy | Google | IPv6 |
Windows legacy | Microsoft | IPv4 |
Windows legacy | Microsoft | IPv6 |
Windows legacy | Autre | IPv4 |
Windows legacy | Autre | IPv6 |
Windows XP | Mozilla | IPv4 |
Windows XP | Mozilla | IPv6 |
Windows XP | Google | IPv4 |
Windows XP | Google | IPv6 |
Windows XP | Microsoft | IPv4 |
Windows XP | Microsoft | IPv6 |
Windows XP | Autre | IPv4 |
Windows XP | Autre | IPv6 |
MacOS X | Mozilla | IPv4 |
MacOS X | Mozilla | IPv6 |
MacOS X | Google | IPv4 |
MacOS X | Google | IPv6 |
MacOS X | Apple | IPv4 |
MacOS X | Apple | IPv6 |
MacOS X | Autre | IPv4 |
MacOS X | Autre | IPv6 |
MacOS X legacy | Mozilla | IPv4 |
MacOS X legacy | Mozilla | IPv6 |
MacOS X legacy | Google | IPv4 |
MacOS X legacy | Google | IPv6 |
MacOS X legacy | Apple | IPv4 |
MacOS X legacy | Apple | IPv6 |
MacOS X legacy | Autre | IPv4 |
MacOS X legacy | Autre | IPv6 |
Linux 64bits | Mozilla | IPv4 |
Linux 64bits | Mozilla | IPv6 |
Linux 64bits | Google | IPv4 |
Linux 64bits | Google | IPv6 |
Linux 64bits | Autre | IPv4 |
Linux 64bits | Autre | IPv6 |
Linux 32bits | Mozilla | IPv4 |
Linux 32bits | Mozilla | IPv6 |
Linux 32bits | Google | IPv4 |
Linux 32bits | Google | IPv6 |
Linux 32bits | Autre | IPv4 |
Linux 32bits | Autre | IPv6 |
Android | Mozilla | IPv4 |
Android | Mozilla | IPv6 |
Android | Google | IPv4 |
Android | Google | IPv6 |
Android | Autre | IPv4 |
Android | Autre | IPv6 |
Android legacy | Mozilla | IPv4 |
Android legacy | Mozilla | IPv6 |
Android legacy | Google | IPv4 |
Android legacy | Google | IPv6 |
Android legacy | Autre | IPv4 |
Android legacy | Autre | IPv6 |
Autre | Mozilla | IPv4 |
Autre | Mozilla | IPv6 |
Autre | Google | IPv4 |
Autre | Google | IPv6 |
Autre | Autre | IPv4 |
Autre | Autre | IPv6 |
Une seconde table My-SQL serait remplie, avec une ligne par AS puis toutes les informations de cette table sous forme de colonnes (plusieurs centaines de colonnes)
En fait si la ligne correspondant à l'AS xxxxx existe déjà, les colonnes correspondantes sont incrèmentée d'un hit ou de la taille.
Si la ligne correspondant à l'AS xxxx n'existe pas, il faut la créer.
Je me demande si cela ne pourrait pas faire l'objet d'un projet en école d'ingénieur (je m'adresse a ceux qui sont étudiants) vu que ce type de logiciel d'analyse de log ne semble pas exister.
Ensuite la seconde étape serait de faire une interface qui va chercher les informations et calcul le % d'IPv4 vs IPv6 , le % port anormal, le % d'utilisation des différents système d’exploitation et navigateurs.
Je pense qu'il faudrait créer tous les mois une nouvelle table pour les informations pas AS afin de rajouter une dimension temporelle et faire des courbes d'évolutions.