Status | ||||
---|---|---|---|---|
|
Info |
---|
Cette documentation explique comment utiliser le module tcpdump. Cela permet de récupérer les données échangées sur un téléphone. |
Note |
---|
Ce module n’est pas compatible avec Windows. |
Table of Contents | ||||
---|---|---|---|---|
|
Pré-requis
...
globaux
Récupérer le testrunner sur https://app.greenspector.com/download , et le placer dans un dossier (par exemple “testrunner_files”).
Ajouter dans ce dossier Testrunner téléchargé et placé dans le PATH
Dossier de mesure comprenant :
les fichiers de configuration config.yml et job.yml
un script gdsl avec l’extension “testgb”
fichiers de configuration : https://app.greenspector.com/download > Test Runner : Download > “Config - Android” and “Job - Android”
fichier testgb : https://app.greenspector.com/download > GDSL Templates : Download (vous pouvez choisir entre un fichier de test pour une application Android, un site web, ou une application iOS)
Ordinateur connecté en Ethernet.
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Si le paquet n’est pas installé, lancer la commande suivante :
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Cliquer sur la pomme (en haut à gauche), puis sur "System Preferences > Sharing". Décocher la case "Internet Sharing" (si celle-ci est activée). Appliquer les paramètres suivants : -Share your connection from: Thunderbolt Ethernet -To computers using: Wifi -Wi-Fi Options...: inscrire le nom du réseau et le mot de passe souhaité Puis cocher la caser "Internet Sharing". L'icône wifi change et devient une flèche orientée vers le haut.
Si le paquet n’est pas installé, lancer la commande suivante :
|
Modification dans le fichier job.yml
Code Block | ||||
---|---|---|---|---|
| ||||
job: modules: tcpdump: true |
Modifications dans le fichier config.yml
Code Block | ||||
---|---|---|---|---|
| ||||
target: iptcpdump: x.x.x.x # IP of the device to measure tcpdump: # tcpdump module used to get data deviceIP: x.x.x.x # IP tcpdumpof modulethe useddevice to getmeasure data gatewayIP: x.x.x.x # IP of the gateway used to filter data networkInterface: xxxx # Network interface used to detect data (wlp2s0...) keepPcap: false # If true, it keeps the pcap file at the end of the measures ipFilters: # Other IP addresses used to filter data apple: false # If true, it filters data related with 17.0.0.0/8 |
...
Les champs à renseigner en détail :
target.ip deviceIP : L’adresse IP du téléphone dans le réseau partagé par votre PC. Normalement c’est souvent une adresse du type
10.42.0.x
(remplacé le x par le bon chiffre)target.tcpdump.gatewayIP : Il s’agit de l’ adresse IP de votre PC (qui sert de passerelle) dans le réseau partagé. Celle-ci peut se trouver à l’aide de la commande “ifconfig”. Normalement c’est souvent :
10.42.0.1
target.tcpdump.networkInterface : Le nom de l’interface réseau du réseau partagé. Celle-ci peut se trouver à l’aide de la commande “ifconfig”. Vous pouvez aussi l’obtenir en tapant la commande “sudo tcpdump -D”. L’interface réseau correspondant au partage de connexion commence par “wl” (Wireless Lan) sur Linux.
target.tcpdump.keepPcap : Si le booléen est à true, cela conserve le fichier pcap à la fin des mesures.
target.tcpdump.ipFilters : Ce sont des filtres pour pouvoir retirer certains échanges réseaux de la mesure. En cas de mesures sur iOS, placer le booléen “apple” à true pour filtrer les adresses IP correspondant à 17.0.0.0/8 (Apple).
Note |
---|
|
Lancement des mesures
Lancer le testrunner comme d’habitude :
Code Block | ||
---|---|---|
| ||
./testrunner -jobFile job.yml -config config.yml |
Si le module tcpdump a été activé dans le fichier job.xml, le mot de passe root sera demandé sur Linux et Mac OS lors de l’initialisation du testrunner.
Ajout des droits pour lancer tcpdump sans mot de passe sur Linux [optionnel]
La procédure vient de ce site web : https://askubuntu.com/questions/530920/tcpdump-permissions-problem
Créer un groupe pcap et s’ajouter dedans
Code Block | ||
---|---|---|
| ||
sudo groupadd pcap
sudo usermod -a -G pcap $USER |
Changer le groupe de tcpdump et modifier les permissions. Il faudra peut-être changer le path par
/usr/bin/tcpdump
Code Block | ||
---|---|---|
| ||
sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump |
Utiliser
setcap
pour donner àtcpdump
les permissions nécessaires
Code Block | ||
---|---|---|
| ||
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump |
Redémarrer le PC. Il est alors possible de lancer la commande tcpdump sans sudo.
Schéma de la situation
...