L’activité DNS pour mesurer le pillage des publicitaires
Il n’y a pas, sous Linux, de service natif qui vous permet, comme sous Windows, de consigner simplement vos requêtes DNS. Rien ne vous empêche toutefois de recourir à Dnsmasq, à Unbound ou à TCPDump pour visualiser l’activité DNS sous un système Linux !
En lisant le cache DNS de votre système, vous pourrez très rapidement mesurer l’efficacité de vos bloqueurs publicitaires. Pour ma part, je combine plusieurs extensions sous Firefox : Silent Block et AdBlock Plus où j’écris mes propres règles, Self-Destructing Cookies, Better Privacy, Canvas Blocker, Greasemonkey.
Le service Dnscache sous Windows
Sur tous les systèmes Windows, le service Client DNS est démarré nativement. Il permet de mettre en cache toutes les entrées DNS selon les critères définis dans la clé de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters.
Vous pouvez améliorer le fonctionnement de ce service de mise en cache grâce à différents paramètres comme MaxCacheEntryTtlLimit, MaxSOACacheEntryTtlLimit, qui augmentent la durée de vie des adresses stockées en cache.
La commande ipconfig
A l’aide de la commande ipconfig, vous pouvez visualiser le contenu de votre cache DNS sous Windows. Il suffit de taper en ligne de commande :
ipconfig /displaydns|find "Nom d'enregistrement"|sort
Pour vider votre cache DNS, vous devez taper, toujours en ligne de commande :
ipconfig /flushdns
PowerShell
Le script PowerShell que je vous propose a pour objet de créer sur le bureau un fichier dns.txt dans lequel seront consignés tous les sites que vous avez visités.
Clear $txt=$env:USERPROFILE+'\Desktop\dns.txt' <# $cmd=&{ipconfig /displaydns|find "Nom d'enregistrement"|sort} ForEach($ligne in $cmd) { If($ligne -match "Nom d'enregistrement. : (.+)$") { Add-Content -Path $txt -Value $Matches[1] } } (Get-Content -Path $txt|Sort -Unique)|Set-Content -Path $txt #> Get-DnsClientCache|Select Entry|Sort Entry -Unique|ForEach{ Add-Content -Path $txt -Value $_.Entry } (Get-Content -Path $txt|Sort -Unique)|Set-Content -Path $txt
Planificateur de tâches
Dans le planificateur de tâches, il suffit ensuite d’exécuter le script PowerShell, en le planifiant à la cadence que vous aurez déterminée.