Utilisez un outil en ligne de commande pour analyser le fichier journal hors ligne et extraire des informations telles que les 10 principales adresses IP par volume de requêtes, les agents utilisateurs et les référents. Cette rubrique explique comment analyser les journaux d'accès CDN hors ligne à l'aide d'un outil en ligne de commande dans un environnement Linux.
Collecter et préparer les données du journal
Consultez la section Démarrage rapide pour obtenir le fichier journal
aliyundoc.com_2018_10_30_000000_010000.gz.-
Téléchargez le fichier journal sur un serveur Linux local.
Exemple d'entrée de journal :
[9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html" -
Connectez-vous au serveur Linux local et exécutez la commande suivante pour décompresser le fichier journal.
gzip -d aliyundoc.com_2018_10_30_000000_010000.gzLa décompression crée un fichier journal nommé
aliyundoc.com_2018_10_30_000000_010000.Règle de nommage des fichiers journaux : Nom_de_domaine_accéléré_année_mois_jour_heure_de_début_heure_de_fin[champ_d_extension].gz. Le champ d'extension commence par un trait de soulignement (_). Exemple :
aliyundoc.com_2018_10_30_000000_010000_xx.gz.RemarqueLes noms de certains fichiers journaux peuvent ne pas contenir de champ d'extension. Exemple :
aliyundoc.com_2018_10_30_000000_010000.gz.
Identifier et filtrer les comportements anormaux
Vérifier le volume de requêtes
Analysez le nombre de requêtes par adresse IP dans les données du journal d'accès hors ligne pour identifier un volume de requêtes anormal. Un volume de requêtes anormal présente généralement les caractéristiques suivantes :
Volume de requêtes anormalement élevé : examinez en détail la fréquence d'accès depuis une seule adresse IP source. Si une adresse IP initie un volume de requêtes qui s'écarte considérablement de la référence au cours d'une période donnée, il s'agit très probablement d'un abus de trafic.
-
Grand volume de requêtes sur une courte période : pic de trafic soudain ou modèle de requête inhabituel et cyclique.
Répertoriez les 10 principales adresses IP par volume de requêtes.
cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -10Remarqueawk '{print $3}': extrait la troisième colonne du fichier journal, qui correspond à l'adresse IP. Les colonnes sont séparées par des espaces.sort: trie les adresses IP.uniq -c: compte le nombre d'occurrences de chaque adresse IP.sort -nr: trie les résultats par nombre décroissant.head -n 10: récupère les 10 principales adresses IP ayant généré le plus de requêtes.[$Log_Txt]: remplacez cette valeur par le nom de votre fichier journal, par exemplealiyundoc.com_xxxxxxx.
Analyse de l'agent utilisateur
Analysez l'agent utilisateur dans le journal d'accès hors ligne pour identifier les requêtes anormales. Les agents utilisateurs anormaux présentent généralement les caractéristiques suivantes :
-
Agent utilisateur anormal ou falsifié : de nombreux outils de scraping utilisent des agents utilisateurs par défaut ou falsifiés. Identifiez-les en filtrant les agents utilisateurs inhabituels, suspects ou vides.
Extrayez et comptez les agents utilisateurs.
grep -o '"Mozilla[^"]*' [$Log_Txt] | cut -d'"' -f2 | sort | uniq -c | sort -nr | head -n 10Excluez les agents utilisateurs courants pour identifier ceux qui sont suspects.
grep -v -E "Firefox|Chrome|Safari|Edge" [$Log_Txt]Comptez le nombre de requêtes avec un agent utilisateur vide.
awk '!/Mozilla/' [$Log_Txt] | wc -lRemarquegrep -o: affiche uniquement le contenu correspondant.grep -v -E: inverse la correspondance pour afficher les lignes qui ne correspondent pas aux modèles spécifiés.wc -l: compte le nombre de lignes.
Analyse du modèle de requête
Analysez les URL demandées dans le journal d'accès hors ligne pour identifier les modèles de requête anormaux. Les requêtes URL anormales présentent généralement les caractéristiques suivantes :
Similarité élevée des URL : le scraping de trafic implique souvent un grand nombre de requêtes vers des URL similaires ou identiques. L'analyse des modèles d'URL peut vous aider à détecter ces requêtes anormales.
-
Ratio de requêtes élevé pour des types de ressources spécifiques : un nombre inhabituellement élevé de requêtes pour des ressources spécifiques, telles que des images, des fichiers CSS et JS, peut indiquer un scraping de trafic.
Répertoriez les 10 principales URL par volume de requêtes.
grep -oP 'https?://[^" ]+' [$Log_Txt] | sort | uniq -c | sort -nr | head -n 10
Analyse du code d'état
Analysez les codes d'état dans le journal hors ligne pour identifier les requêtes anormales.
Recherchez un ratio élevé de réponses 4xx ou 5xx : un nombre élevé de codes d'état 4xx ou 5xx provenant d'une seule adresse IP peut indiquer des tentatives d'exploration malveillantes.
Comptez les occurrences des différents codes d'état.
awk '{print $9}' [$Log_Txt] | sort | uniq -c | sort -nr
Répertoriez les 10 principales adresses IP ayant généré des codes d'état 400.
grep ' 400 ' [$Log_Txt] | awk '{print $3}' | sort | uniq -c | sort -nr | head -n 10