Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status
colourGreen
titlemaj 6 nov 2024

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
minLevel1
maxLevel7

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

    , ainsi qu'
    • un script gdsl avec l’extension “testgb”

    . Un exemple de ces fichiers est disponible à l’emplacement suivant :Connecter son ordinateur en Ethernet.
  • Ordinateur connecté en Ethernet.

Expand
titlePré-requis spécifiques à Linux
  • Activer le partage de connexion sur l’ordinateur Linux : Réseau > Utiliser comme point d’accès… > Allumer. Attention votre ordinateur doit être sur un réseau filaire pour pouvoir activer le partage de connexion wifi.

  • Connecter son téléphone au partage de connexion de l’ordinateur.

  • Vérifier si le paquet tcpdump est installé sur l'ordinateur Linux. tcpdump est installé par défaut sur la plupart des distributions Linux. Pour vérifier cela, lancer la commande suivante :

Code Block
languagebash
tcpdump --version

Si le paquet n’est pas installé, lancer la commande suivante :

Code Block
languagebash
sudo apt install tcpdump
Expand
titlePré-requis spécifiques à Mac OS
  • Activer le partage de connexion sur l’ordinateur Mac.

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.

internet_sharing.pngImage Modified
  • Connecter son téléphone au partage de connexion de l’ordinateur.

  • Vérifier si le paquet tcpdump est installé sur l'ordinateur Mac OS. tcpdump est installé par défaut sur la plupart des Mac OS. Pour vérifier cela, lancer la commande suivante :

Code Block
languagebash
tcpdump --version

Si le paquet n’est pas installé, lancer la commande suivante :

Code Block
languagebash
brew install tcpdump

Modification dans le fichier job.yml

Code Block
breakoutModewide
languageyaml
job:
  modules:
    tcpdump: true

Modifications dans le fichier config.yml

Code Block
breakoutModewide
languageyaml
target:
  tcpdump:                  # tcpdump module used to get data
    deviceIP: x.x.x.x       # IP of the device to measure
    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

...

Note
  • L’IP du téléphone et l’IP de la gateway doivent être dans le même réseau. Normalement les ip sont du type 10.42.0.x

Lancement des mesures

Lancer le testrunner comme d’habitude :

Code Block
languagebash
./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
languagebash
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
languagebash
sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump
  • Utiliser setcap pour donner à tcpdump les permissions nécessaires

Code Block
languagebash
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

...