Entreprise d'experts en Sécurité Informatique : Audits et conseils en cybersécurité
Entreprise française de cybersécurité depuis 2004
☎ 03 60 47 09 81 - info@securiteinfo.com

SURVEILLANCE INTERNET VIE PRIVÉE

web-traffic-generator, un générateur de trafic web simulant l'activité d'une personne


web-traffic-generator en bref


Un générateur de trafic "organique" HTTP/S

Explications en détail


Juste un simple script Python (mal écrit) qui "navigue" sans but sur Internet en commençant par des rootURL prédéfinis et en "cliquant" au hasard sur des liens sur les pages jusqu'à ce que le clickDepth prédéfini soit atteint.
Je l'ai créé en tant que générateur de bruit à utiliser pour une simulation de réponse aux incidents / de défense du réseau. Le seul problème est que mon environnement de simulation utilise plusieurs périphériques IDS / IPS / NGFW qui ne transmettent pas et ne consignent pas les sous-ensembles TCP simples du trafic pré-enregistré. J'avais besoin que le trafic soit aussi organique que possible, en imitant essentiellement les utilisateurs réels naviguant sur le Web.
Testé sur Ubuntu 14.04 et 16.04 minimum, mais devrait fonctionner sur tous les systèmes sur lesquels Python est installé.


Comment ça fonctionne ?


A peu près aussi simple que ça ...
Tout d'abord, spécifiez quelques paramètres en haut du script ...
    clickDepth = 5 À partir de chaque URL racine (par exemple: www.yahoo.com), notre générateur clique sur 5 liens avant de passer à l’URL racine suivante.
L'intervalle entre chaque requête HTTP GET est choisi au hasard entre les deux variables suivantes ...
  • minWait = 5 Attendre au moins 5 secondes entre les requêtes ... Faites attention de ne pas faire des demandes trop rapides car cela a tendance à embêter les serveurs Web.

  • maxWait = 10 Je pense que vous comprenez l'idée.

  • debug = False Un pauvre loggueur. Défini sur True pour une journalisation en temps réel en mode verbeux sur la console pour le débogage ou le développement. Je vais incorporer la journalisation appropriée plus tard (peut-être).

  • rootURLs = [url1,url2,url3] La liste des URL racine à partir desquelles vous naviguez. Lorsque nous arrivons à la fin, nous recommençons tout simplement depuis le début.

  • blacklist = [".gif", "intent/tweet", "badlink", etc...] Une liste noire de chaînes sur lesquelles nous vérifions chaque lien. Si le lien contient l'une des chaînes de cette liste, il est ignoré. Utile pour éviter les choses qui ne sont pas favorables au générateur de trafic comme des liens "Tweetez ceci!" ou des liens vers des fichiers image.

  • userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3).......' Vous l'avez deviné, l'agent utilisateur que notre navigateur sans tête transmet au serveur Web. Vous pouvez probablement le laisser défini par défaut, mais n'hésitez pas à le modifier. Je suggère fortement d'utiliser une version commune / valide, sinon vous obtiendrez probablement rapidement un taux limité.

Dépendances


La seule chose dont vous avez besoin et que vous n'avez peut-être pas, ce sont les "requests". Prenez-les.
sudo pip install requests

Utilisation


Créez d'abord votre fichier de configuration:
cp config.py.template config.py

Exécutez le générateur:
python gen.py

Dépannage et débogage


Pour obtenir plus de données sur ce qui se passe sous le capot, changez la variable Debug dans config.py de False à True. Ceci fournit la sortie suivante
Traffic generator started...
----------------------------
https://github.com/ecapuano/web-traffic-generator

Clcking 5 links deep into 7 different root URLs,
waiting between 5 and 10 seconds between requests.

This script will run indefinitely. Ctrl+C to stop.
requesting: https://digg.com/
Page size: 388840
Data meter: 388840 bytes
Good requests: 1
Bad reqeusts: 0
Sleeping for 6 seconds...
------------------------------------------------------
config.blacklist: ['https://t.co', 't.umblr.com', 'messenger.com', 'itunes.apple.com', 'l.facebook.com', 'bit.ly', 'mediawiki', '.css', '.ico', '.xml', 'intent/tweet', 'twitter.com/share', 'signup', 'login', 'dialog/feed?', '.png', '.jpg', '.json', '.svg', '.gif', 'zendesk', 'clickserve']
URL: 1 / 7 -- Depth: 0 / 5
Choosing random link from total: 221
Link chosen: 64 of 221
requesting: http://nautil.us/issue/54/the-unspoken/physics-has-demoted-mass
Page size: 85012
Data meter: 473852 bytes
Good requests: 2
Bad reqeusts: 0
Sleeping for 7 seconds...
------------------------------------------------------
config.blacklist: ['https://t.co', 't.umblr.com', 'messenger.com', 'itunes.apple.com', 'l.facebook.com', 'bit.ly', 'mediawiki', '.css', '.ico', '.xml', 'intent/tweet', 'twitter.com/share', 'signup', 'login', 'dialog/feed?', '.png', '.jpg', '.json', '.svg', '.gif', 'zendesk', 'clickserve']
URL: 1 / 7 -- Depth: 1 / 5
Choosing random link from total: 16
Link chosen: 0 of 16
requesting: http://shop.nautil.us?utm_source=mainsite&utm_medium=popup&utm_campaign=springsale_2017
Page size: 58467
Data meter: 532319 bytes
Good requests: 3
Bad reqeusts: 0
Sleeping for 5 seconds...
------------------------------------------------------
config.blacklist: ['https://t.co', 't.umblr.com', 'messenger.com', 'itunes.apple.com', 'l.facebook.com', 'bit.ly', 'mediawiki', '.css', '.ico', '.xml', 'intent/tweet', 'twitter.com/share', 'signup', 'login', 'dialog/feed?', '.png', '.jpg', '.json', '.svg', '.gif', 'zendesk', 'clickserve']
URL: 1 / 7 -- Depth: 2 / 5
Choosing random link from total: 93
Link chosen: 88 of 93
requesting: http://shop.nautil.us/rss.php?action=popularproducts&type=rss
Page size: 25106
Data meter: 557425 bytes
Good requests: 4
Bad reqeusts: 0
Sleeping for 6 seconds...
------------------------------------------------------
config.blacklist: ['https://t.co', 't.umblr.com', 'messenger.com', 'itunes.apple.com', 'l.facebook.com', 'bit.ly', 'mediawiki', '.css', '.ico', '.xml', 'intent/tweet', 'twitter.com/share', 'signup', 'login', 'dialog/feed?', '.png', '.jpg', '.json', '.svg', '.gif', 'zendesk', 'clickserve']
URL: 1 / 7 -- Depth: 3 / 5
Choosing random link from total: 18
Link chosen: 15 of 18
requesting: http://shop.nautil.us/may-june-2017/
Page size: 62543
Data meter: 619968 bytes
Good requests: 5
Bad reqeusts: 0
Sleeping for 9 seconds...
------------------------------------------------------
config.blacklist: ['https://t.co', 't.umblr.com', 'messenger.com', 'itunes.apple.com', 'l.facebook.com', 'bit.ly', 'mediawiki', '.css', '.ico', '.xml', 'intent/tweet', 'twitter.com/share', 'signup', 'login', 'dialog/feed?', '.png', '.jpg', '.json', '.svg', '.gif', 'zendesk', 'clickserve']
URL: 1 / 7 -- Depth: 4 / 5
Choosing random link from total: 70
Link chosen: 16 of 70
requesting: http://shop.nautil.us/my-test/
Page size: 206
Data meter: 620174 bytes
Good requests: 6
Bad reqeusts: 0
Sleeping for 7 seconds...
^CException on URL: http://shop.nautil.us/my-test/ -- removing from list and trying again!

La dernière URL tentée fournit un bon exemple de moment où une URL particulière émet une erreur. Nous l’ajoutons simplement à notre tableau config.blacklist en mémoire et continuons à naviguer. Cela empêche une URL connue incorrecte de retourner dans la file d'attente.

Téléchargement


Tags


SURVEILLANCE INTERNET VIE PRIVÉE


Inscription à notre lettre d'information


Inscrivez-vous à notre lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.


SecuriteInfo.com est une entreprise française de cybersécurité. Nous proposons différentes solutions matérielles et prestations de services permettant de sécuriser les données des Systèmes d'Information d'entreprises ou de collectivités. Notre périmètre d'intervention couvre l'intégralité de votre système d'information : Sécurité périmétrique, réseaux, accès distants, VPN, solutions anti-spam et anti-malwares, différents audits réseaux et systèmes, vérification de la politique de sécurité, hébergement sécurisé ...
Facebook SecuriteInfo.com
Twitter de SecuriteInfo.com
Github de SecuriteInfo.com
Calculs scientifiques distribués contre les maladies, équipe SecuriteInfo.com
Depuis 2015, SecuriteInfo.com soumet et analyse des malwaressur VirusTotal
Depuis 2020, SecuriteInfo.com participe à la lutte antivirale avec nos amis suisses de Malware Baazar (Abuse.ch)
© 2000-2026 - Tous droits réservés SecuriteInfo.com