Comment puis-je obtenir plus d'informations sur les fichiers de cache de Chrome ? Ou comment fonctionne ChromeCacheView ?

Je veux obtenir des données du cache du navigateur. Le nom du fichier de cache de Chrome est comme f_00001, ce qui n'a pas de sens. ChromeCacheView peut obtenir le lien de requête correspondant au nom du fichier de cache.

ChromeCacheView est un petit utilitaire qui lit le dossier cache du navigateur Web Google Chrome et affiche la liste de tous les fichiers actuellement stockés dans le cache. Pour chaque fichier de cache, les informations suivantes sont affichées : URL, type de contenu, taille du fichier, heure du dernier accès, heure d'expiration, nom du serveur, réponse du serveur, etc. Vous pouvez facilement sélectionner un ou plusieurs éléments dans la liste du cache, puis extraire les fichiers dans un autre dossier ou copier la liste des URL dans le presse-papiers.

Mais il s'agit d'un programme GUI qui ne peut fonctionner que sous Windows. Je veux savoir comment ça marche.

En d'autres termes, comment puis-je obtenir plus d'informations sur les fichiers en cache, en particulier les liens de demande, etc.


Solution du problème

Après ma longue recherche, j'ai trouvé la réponse.

Les instructions pour le formatage du cache disque de Chrome sont disponibles sur les pages suivantes :


  • Cache disque

  • Format de cache de disque Chrome


En lisant ces documents, nous pouvons implémenter des parseurs dans des langages de programmation arbitraires.

Heureusement, j'ai trouvé deux bibliothèques Python pour le faire.


  • dtformats

  • rétrospective


Le premier ne semble pas fonctionner correctement sous Python3. Le premier ne semble pas fonctionner correctement sous Python3. Et le second est fantastique et fait parfaitement le travail. À propos de l'utilisation de pyhindsight, il y a des instructions détaillées sur la page d'accueil, je vais vous présenter comment l'intégrer dans notre projet.

import pyhindsight
from pyhindsight.analysis import AnalysisSession
import logging
import os
analysis_session = AnalysisSession()
cache_dir = '~\AppData\Local\Microsoft\Edge\User Data\Default'
analysis_session.input_path = cache_dir
analysis_session.cache_path = os.path.join(cache_dir, 'Cache\Cache_Data')
analysis_session.browser_type = 'Chrome'
analysis_session.no_copy = True
analysis_session.timezone = None
logging.basicConfig(filename=analysis_session.log_path, level=logging.FATAL,
format='%(asctime)s.%(msecs).03d | %(levelname).01s | %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
run_status = analysis_session.run()
for p in analysis_session.parsed_artifacts:
if isinstance(p, pyhindsight.browsers.chrome.CacheEntry):
print('Url: {}, Location: {}'.format(p.url, p.location))

C'est tout, rejoignez-le. Merci pour pyhindsight.

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"