M2P Réseaux et Télécoms Année Universitaire : 2023 -
2024
UNIVERSITÉ PARIS SACLAY
MASTER ÉLECTRONIQUE, ÉNERGIE ÉLECTRIQUE AUTOMATIQUE
Parcours : Réseaux et
Télécoms G60
Rapport Mini Projet MobileInsight
Réalisé par :
● BOUZIDENE Aghiles.
● ZERROUKI Kamelia.
● ABBAR Lounes
● KIDOUCHE Kenza.
Responsable de l’unité : M. Michel KIEFFER
Table des matières
Introduction.....................................................................................................................................................4
1. MobileInsight...........................................................................................................................................4
2. Type de données collectées.....................................................................................................................5
3. Architecture.............................................................................................................................................6
4. Focntionnement.......................................................................................................................................8
5. Objectifs de MobilesInsight......................................................................................................................9
6. Routage des deux smartphones.............................................................................................................10
fastboot getvar emplacement actuel.............................................................................................................12
fastboot flash boot_letter boot.img..............................................................................................................12
Redémarrage rapide......................................................................................................................................12
b. Routage du smartphone XIAOMI...........................................................................................................13
-1- -2-.......................................................................................................................................................13
2) Ensuite, on va télécharger le logiciel XiaoMiTool V2 project.................................................................14
4) La dernière étape est de cliquer sur "Mods, root and twrp".................................................................15
Voici les étapes suivies lors de l'analyse en ligne...........................................................................................18
- La étapes suivie sont les suivantes.........................................................................................................19
2) Installation des bibliothèques python....................................................................................................20
3) Partie lancement....................................................................................................................................21
Perspective....................................................................................................................................................24
2
Table des figures
Figure 1: Architecture de MobileInsight..........................................................................................................6
Figure 2: Canal logique latéral.........................................................................................................................9
3
Introduction
Le paysage des réseaux mobiles évolue rapidement, avec une utilisation
croissante des technologies 3G, 4G et 5G pour accéder aux services Internet via les
smartphones. Cette tendance a considérablement augmenté le trafic mobile au fil
des ans, représentant une part importante du flux de données mondiales.
Cependant, malgré cette croissance, les utilisateurs se heurtent souvent à des défis
pour comprendre et optimiser les performances de ces réseaux fermés. C'est là que
MobileInsight intervient.
MobileInsight est bien plus qu'un simple outil logiciel. Il représente une porte
d'entrée vers une compréhension approfondie des protocoles cellulaires. Conçu
spécifiquement pour les téléphones Android, MobileInsight offre une visibilité sans
précédent sur le fonctionnement interne des réseaux 3G/4G/5G. En collectant des
données précises et en fournissant des analyses détaillées, cet outil permet aux
chercheurs et aux développeurs de découvrir les dynamiques du protocole et
d'identifier les points d'optimisation.
1. MobileInsight
MobileInsight est une application open source conçue pour offrir une analyse
approfondie du fonctionnement des réseaux mobiles. Elle permet d'examiner les
performances du réseau mobile en capturant et en analysant les données de trafic
mobile en temps réel. Cette application fonctionne en collectant des informations à
un niveau très bas du protocole, allant même au-delà du niveau IP, directement sur
l'appareil final, généralement un smartphone Android en utilisant diverses
technologies, notamment :
Les événements radio.
Les journaux système.
Les signaux de contrôle et les paquets de données.
4
2. Type de données collectées
a. les échanges de messages
Cette catégorie de données comprend tous les messages échangés entre le
smartphone et les tours cellulaires. Ces échanges permettent de comprendre
comment les données sont transférées entre le smartphone et le réseau, qu'il
s'agisse de données utilisateur, de requêtes système ou de signalisation de réseau
b. les événements de mobilité
Les événements de mobilité enregistrent les changements de connectivité du
smartphone au réseau mobile, notamment le passage d'une cellule à une autre
(handover), la recherche et la sélection de cellules, ainsi que le changement de
technologie, par exemple, de la 4G à la 3G. Ces événements sont cruciaux pour
évaluer la qualité de la connexion et les performances du réseau, et garantir une
expérience utilisateur fluide lors des déplacements entre différentes zones de
couverture Les événements de mobilité enregistrent les changements dans la
connectivité du smartphone au réseau mobile. Cela inclut les événements tels que
le passage d'une cellule à une autre (handover), la recherche et la sélection de
cellules, le changement de technologie (par exemple, passer de la 4G à la 3G)...etc
Ces événements de mobilité sont cruciaux pour évaluer la qualité de la connexion
et la performance du réseau, ainsi que pour garantir une expérience utilisateur
fluide lors de déplacements entre différentes zones de couverture
c. les changements d'état des protocoles
Cette catégorie de données concerne les modifications des paramètres et des états
des protocoles utilisés pour la communication entre le smartphone et le réseau.
Cela englobe des changements dans les configurations radio, les paramètres de
liaison, les états de connexion, et autres. Ces changements d'état des protocoles
fournissent un aperçu précieux de la manière dont les communications sont gérées
et ajustées en fonction des conditions du réseau, telles que la qualité du signal, la
congestion, etc.
5
3. Architecture
L’architecture de MobileInsight est constituée de deux types de modules
principaux. Elle fournit des moniteurs de bas niveau pour les réseaux mobiles ainsi
que des analyseurs extensibles pilotés par les événements pour les principaux
protocoles cellulaires, tels que le contrôle des ressources radio (RRC), la gestion de
la mobilité (EMM) et la gestion des sessions (ESM).
Figure 1: Architecture de MobileInsight
Moniteur
Il expose tout d'abord les journaux cellulaires bruts de l'interface cellulaire à
l'espace utilisateur de l'appareil au moment de l'exécution, puis les analyse en
messages de protocole et extrait les informations qu'ils contiennent. Il construit un
cadre modulaire extensible, où chaque analyseur fonctionne par protocole. Les
messages analysés sont ensuite transmis à l'analyseur. [1]
Analyseur
Compte tenu des messages extraits, l'analyseur vise à dévoiler la dynamique des
protocoles et la logique des opérations. En se basant sur les messages observés
ainsi que sur le modèle de comportement anticipé, dérivé de la connaissance du
domaine cellulaire, l'analyseur déduit les états du protocole, les conditions
déclenchant les transitions d'état, et les actions prises par le protocole.
De plus, il infère certaines logiques de fonctionnement du protocole, telles que les
6
transferts, en utilisant les politiques et les configurations définies par l'opérateur. Il
offre une abstraction intégrée par protocole et permet aux développeurs
d'applications et aux systèmes d'exploitation mobiles de personnaliser leurs
analyseurs. [1]
4. Fonctionnement
MobileInsight fonctionne en exposant les messages codés, transmis par voie
hertzienne du matériel au logiciel, en activant un canal interne dans le téléphone.
Figure 2: Canal logique latéral
Ces messages influencent diverses fonctions telles que l'accès vidéo, l'accès en
performance des services de données, et bien d'autres. De plus, MobileInsight offre
des API qui permettent aux chercheurs de développer une compréhension
approfondie du fonctionnement des technologies sans fil et mobiles. Ces API
facilitent également l'analyse des performances des applications mobiles et
permettent même de diagnostiquer les pannes éventuelles. En fournissant un accès
transparent aux données et aux fonctionnalités des appareils mobiles,
MobileInsight ouvre de nouvelles possibilités pour la recherche et le
développement dans le domaine des technologies mobiles [2].
7
5. Objectifs de MobilesInsight
Plus précisément, MobileInsight vise à atteindre trois objectifs concrets
Déploiement dans l'appareil
MobileInsight doit être facilement déployé dans des téléphones COTS (Commercial
Off-The-Shelf) sans nécessiter de matériel supplémentaire ni de modifications de
l'infrastructure existante ou du système d'exploitation de l'appareil. Cette facilité de
déploiement permet une intégration transparente dans divers environnements sans
perturber le fonctionnement normal du dispositif.
Analyse des protocoles
En complément de l'archivage des messages de protocole, MobileInsight devrait
offrir une analyse complète des protocoles cellulaires normalisés, y compris leur
dynamique d'état et leur logique de fonctionnement. Idéalement, cette analyse doit
être réalisée en temps réel lors de l'exécution, permettant ainsi une utilisation
polyvalente pour des objectifs tels que l'amélioration des performances et le
diagnostic des défaillances.
Granularité fine et large couverture
MobileInsight doit fournir des informations détaillées sur les opérations de
protocole en cours d'exécution, offrant ainsi une granularité fine. De plus, il doit
prendre en charge les protocoles à travers les différentes couches et les plans de
contrôle et de données, garantissant ainsi une couverture complète pour une
analyse exhaustive des réseaux mobiles.Il doit fournir des informations fines aux
opérations de protocole en cours d'exécution.
En outre, il doit prendre en charge les protocoles à travers les couches et sur les
plans de contrôle et de données
8
6. Routage des deux smartphones
a. Routage du smartphone Google Pixel 5
Étape 01 : On va télécharger Magisk Apk depuis leur site.
Étape 02 : Ensuite, vous allez télécharger boot.img depuis le site vers votre téléphone.
Voici le lien : https://developers.google.com/android/ota?hl=fr.
Étape 03 : Cliquez maintenant sur Installer qui sera disponible à côté de Magisk.
9
Étape 04 : Choisissez ensuite l’option 'Sélectionner et patcher un fichier' et sélectionnez
le fichier boot.img que nous avons téléchargé depuis le site.
Étape 05 : Il commencera à patcher le fichier de démarrage. La sortie sera enregistrée
dans le dossier de téléchargement avec le nom magisk_patched.img.
Étape 06 : Copiez l’image de démarrage corrigée dans le dossier d’outils de la plate-
forme extrait et renommez l’image de démarrage corrigée en boot.img.
Étape 07 : Ouvrez maintenant CMD dans le dossier des outils de la plate-forme (tapez
CMD dans la barre d’adresse de l’explorateur de fichiers et appuyez sur Entrée).
Étape 08 : Éteignez votre téléphone. Ensuite, maintenez enfoncés les boutons Volume Bas
+ Alimentation pour démarrer en mode Fastboot.
Étape 09 : Connectez le téléphone au PC en mode Fastboot et entrez la
commande ci-dessous pour obtenir l'emplacement actif actuel.
fastboot getvar emplacement actuel
Étape 10: Il renverra l'emplacement actuel (A ou B), souvenez-vous-en. Entrez maintenant
la commande ci-dessous. Assurez-vous de remplacer la lettre ci-dessous dans la commande
par A ou B que vous avez obtenu avec la commande à l'étape
fastboot flash boot_letter boot.img
Étape 10: Redémarrez votre téléphone à l'aide de la commande ci-dessous
Redémarrage rapide
10
Votre Pixel 5a est désormais rooté. Ouvrez Magisk Manager et complétez les instructions
de l'application, si cela vous est demandé.
b. Routage du smartphone XIAOMI
1) On va activer le mode développeur
-1- -2-
-3- -4-
11
2) Ensuite, on va télécharger le logiciel XiaoMiTool V2 project.
3) Tout d'abord, nous allons débloquer le bootloader. Nous cliquons sur "I
want to unbrick it", ensuite quand c'est fini, nous cliquons sur "I want
to mod it".
12
4) La dernière étape est de cliquer sur "Mods, root and twrp".
7. Les modes d’analyse
13
Il permet de collecter les journaux cellulaires en utilisant deux modes :
a. Par l’analyse programmable à l’aide d'OfflineReplayer qui est un type spécial de
moniteur qui permet l’analyse hors ligne à l’aide de traces enregistrées
précédemment.
b. Soit par le mode en ligne en utilisant l’application android directement ou bien en
utilisant l’application et la récupération se fait à travers des scripts python.
Pour le mode hors ligne nous avons réussi à le
faire. Voici un exemple sur les données collectées :
Handover indique le changement de cellule à la date et à l’heure indiquées ci-dessus.
Ensuite, on a les détails relatifs à la cellule principale, tels que le CellID, la fréquence, l’état
de connexion de la cellule ainsi que le TAC (Tracking Area Code). Ce sont des cellules
(eNodeB) regroupées sur le réseau, le code servant notamment pour le paging.
Ensuite, on a une reconfiguration RRC concernant la LteRrcConfig (Radio Ressource Control),
qui est responsable de la gestion de l’état de connexion, responsable de l’établissement et
de la modification de la connexion radio.
14
On a une configuration du protocole SIB (Système d'Information Block) avec une
LteRrcConfig. Ce sont des messages de diffusion qui contiennent des informations sur les
réseaux, notamment l'identifiant de la cellule, les informations de configuration et la
localisation.
Des fréquences intracellulaires sont utilisées à l'intérieur d'une cellule pour permettre la
communication entre la station de base et les appareils mobiles se trouvant dans cette
cellule.
Des fréquences intercellulaires sont utilisées pour la communication entre différentes
cellules. L'utilisation de cellules différentes entre les cellules adjacentes aide à réduire les
interférences et à optimiser l'utilisation des ressources radio.
Indique le temps de décodage et d’envoi interne et que l’analyse est terminée
15
Actuellement, nous travaillons sur l'analyse en ligne.
Voici les étapes suivies lors de l'analyse en ligne
- Ce que nous avons fait avec le Google Pixel 5 :
- Nous avons testé en utilisant l'application directement avec la version 6.0.0 sur le
Google Pixel 5, mais ils nous ont généré des logs vides 0db.
- Lorsque nous avons essayé de récupérer les logs en utilisant l’application V6.0.0 et
des scripts python il nous généré l’erreur “aww.proto”.
16
- La étapes suivie sont les suivantes
1) Vérification et Configuration de Google pixel 5
17
2) Installation des bibliothèques python
PySerial : c'est une bibliothèque Python qui permet la communication avec des
périphériques série (comme des ports COM).
crcmod : Il s'agit d'une bibliothèque Python permettant de calculer les codes de contrôle
de redondance cyclique (CRC).
18
xmltodict : Cette bibliothèque Python permet de convertir des documents XML en
dictionnaires Python, ce qui facilite le traitement et la manipulation de données XML dans
des applications Python.
wxPython : Il s'agit d'une bibliothèque d'interface utilisateur pour Python qui permet de
créer des applications de bureau multiplateformes.
Matplotlib : C'est une bibliothèque de visualisation de données en 2D et en 3D pour Python.
3) Partie lancement
19
Lorsque nous avons suivi toutes ces étapes, nous avons obtenu cette erreur :
- Nous avons aussi testé en utilisant l’application directement avec la version V5.0.0
dans Google pixel 5 ça n'as pas marché. “ Unsupported chipset type.
Ce que nous avons fait avec MI 10 :
Lorsque nous avons fait le routage la première fois nous avons obtenus cette erreur
: “Monitoring daemon is terminated”
20
Nous avons réussi à résoudre cette erreurs en suivant ces étapes :
21
Perspective
Ce que nous nous apprêtons à réaliser lors du TER
8. Nous allons refaire toutes les étapes exactement sur un autre PC.
9. Nous allons tester la méthode de récupération via des scripts Python sur un MI 10.
10. Contacter des administrateurs Linux pour identifier les erreurs liées aux ports USB.
11. Parler avec nos professeurs de réseaux mobiles concernant ces erreurs.
12. Explorer le site officiel pour obtenir plus d'informations sur les données hors
ligne, telles que les échanges d'états des protocoles et les événements de
mobilité.
13. Publier le projet sur des plateformes telles que LinkedIn, etc.
22
Conclusion
Le projet MobileInsight a été une expérience enrichissante qui nous a permis
d'acquérir des compétences solides en matière de rooting de smartphones,
notamment sur les modèles Pixel 5 et MI10. Cette démarche représente une
première étape importante pour aider les développeurs et les chercheurs à
comprendre le fonctionnement du système de réseau cellulaire fermé à grande
échelle. Grâce à MobileInsight, nous avons pu explorer plus en profondeur les
fonctionnalités des smartphones et les ajuster selon nos besoins spécifiques, tout
en recueillant des informations importantes sur les réseaux mobiles.
Cette initiative ouvre la voie à de nouvelles possibilités de recherche et de
développement dans le domaine des réseaux mobiles, offrant ainsi des perspectives
prometteuses pour l'avenir de la technologie mobile.
23
Références
[1] Yuanjie Li, Chunyi Peng, Zengwen Yuan, Jiayao Li, Haotian Deng, Tao Wang, MobileInsight:
Extracting and Analyzing Cellular Network Information on Smartphones. 22nd ACM Annual
International Conference on Mobile Computing and Networking (MobiCom ’16).
[2] http://www.mobileinsight.net/
[3] paper.pdf
24