Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Voilà une news qui va faire plaisir aux amateurs de programmation réseau et de traitement de paquets. PcapPlusPlus est une bibliothèque multi-plateforme en C++ dédiée à la capture, l’analyse et la création de paquets réseau.

Conçue pour être facile à utiliser et efficace, elle offre une variété de fonctionnalités qui devrait vous plaire si vous codez des outils liés au traitement de trames réseaux.

PcapPlusPlus permet de capturer et d’envoyer ces paquets réseau grâce à des wrappers C++ pour des outils populaire comme libpcap, WinPcap, NPcap, DPDK et PF_RING.

Mais cette lib offre d’autres fonctionnalités un peu plus avancées comme le décodage et le forgeage de paquets pour une grande variété de protocoles réseau tels que TCP, UDP, IPv4, IPv6, ARP, VLAN, MPLS, ICMP, HTTP, SSL/TLS, DNS, FTP et SMTP.

Voici un exemple d’implémentation pour décoder un paquet :

// parse the raw packet into a parsed packet
pcpp::Packet parsedPacket(&rawPacket);

// check if it's an IPv4 packet
if (parsedPacket.isPacketOfType(pcpp::IPv4)) {
// extract source and dest IPs
pcpp::IPv4Address srcIP = 
    parsedPacket.getLayerOfType()->getSrcIPv4Address();
pcpp::IPv4Address destIP = 
    parsedPacket.getLayerOfType()->getDstIPv4Address();

// print source and dest IPs
std::cout << 
    "Source IP is: " << srcIP << std::endl <<
    "Dest IP is: " << destIP << std::endl;
Capture et analyse de paquets réseaux avec PcapPlusPlus

Cela permet d’analyser et mais surtout de manipuler tous types de paquets réseau utilisant ces protocoles. Par exemple, comme mentionné sur cette pages, avec cette lib, vous pouvez coder des outils pour faire des trucs très cool comme :

  • ArpSpoofing: une application qui utilise les fonctionnalités de Packet++ et Pcap++ pour effectuer du spoofing ARP.
  • Arping: une implémentation de l’utilitaire arping en utilisant PcapPlusPlus.
  • DnsSpoofing: un utilitaire en ligne de commande qui effectue du spoofing DNS en utilisant Packet++ et Pcap++.
  • DNSResolver: un utilitaire en ligne de commande qui résout les adresses IPv4 pour un nom d’hôte en utilisant les protocoles ARP et DNS.
  • IcmpFileTransfer: une application qui montre comment transférer des fichiers entre deux machines en utilisant uniquement des messages ICMP.
  • HttpAnalyzer: une application qui analyse le trafic HTTP et fournit des informations détaillées sur le trafic, comme le nombre et le taux de paquets, la bande passante, le nombre et le taux de flux, les requêtes et les réponses HTTP, l’histogramme des noms d’hôte, l’histogramme des types de contenu, l’histogramme des codes d’état et bien plus encore. Peut fonctionner sur du trafic en direct ou lire des paquets depuis un fichier pcap.
  • SSLAnalyzer: une application qui analyse le trafic SSL/TLS et fournit des informations détaillées sur le trafic, comme le nombre et le taux de paquets, la bande passante, le nombre et le taux de flux, le nombre de messages SSL/TLS, l’histogramme des noms d’hôte, le nombre de versions SSL/TLS, le nombre de suites de chiffrement et bien plus encore. Peut fonctionner sur du trafic en direct ou lire des paquets depuis un fichier pcap.

Comme cette lib C++ est conçue pour être extrêmement rapide et légère, cela lui permet de traiter tous ces paquets très rapidement avec très peu de charge sur le système. Vous pourrez bien évidement l’utiliser sur votre OS, que ce soit du Windows, du MacOS, du Linux, de l’Android ou encore FreeBSD (les sources sont disponibles).

Voici un exemple d’implémentation pour lire des paquets :

// create a pcap file reader
pcpp::PcapFileReaderDevice pcapReader("input.pcap");
pcapReader.open();

// create a pcapng file writer
pcpp::PcapNgFileWriterDevice pcapNgWriter("output.pcapng");
pcapNgWriter.open();

// raw packet object
pcpp::RawPacket rawPacket;

// read packets from pcap reader and write pcapng writer
while (pcapReader->getNextPacket(rawPacket)) {
  pcapNgWriter.writePacket(rawPacket);
}

Une interface graphique facile à utiliser permet également de lire et d’écrire ces fameuses trames réseau dans des fichiers, prenant ainsi en charge les formats de fichier PCAP et PCAPNG. De plus, il contient une implémentation unique de techniques de réassemblage de paquets, notamment le réassemblage TCP qui prend en charge la retransmission TCP, les paquets TCP hors ordre et les données TCP manquantes, ainsi que la fragmentation et le défragmentation IP pour créer et réassembler des fragments IPv4 et IPv6.

Avec PcapPlusPlus vous pourrez également filtrer les paquets ou générer des empreintes numériques TLS pour cibler et identifier les paquets réseau de manière beaucoup plus précise.

Bref, tout ça pour dire que si votre cafetière est connectée sur le réseau, PcapPlusPlus peut même faire le café !

Allez, pour installer ce truc, toute la doc est là ! Amusez vous bien !


— Article en partenariat avec Incogni

Salut, les amis, vous connaissez Incogni ? Forcément que vous connaissez le service de Surfshark puisque j’en ai déjà parlé plusieurs fois et que vous êtes des habitués de mon site ! Et aujourd’hui je vais aborder l’aspect de l’enrichissement des données et comment Incogni peut aider sur ce point.

Mais d’abord on va commencer par le début : c’est quoi l’enrichissement des données ?

Vous savez déjà que l’Internet vous scrute avec des jumelles et que la plupart des acteurs essayent de gratter le maximum d’informations vous concernant. Plus il y en a, plus elles sont personnelles et mieux c’est pour eux puisqu’il peuvent dresser un profil de plus en plus précis. Et ce qui permet d’avoir cette précision c’est souvent via le recoupement depuis plusieurs sources.

Logo d'Incogni

Vous donnez vos nom, prénom et adresse mail pour télécharger un livre blanc sur un site marketing ? Vous avez un compte fidélité sur un site e-commerce de produits de santé spécifiques (asthme, maladie cardiaque …) et sur lequel vous êtes connecté avec le même email ? Vous répondez à un sondage sur les bienfaits du mariage? Vous avez une société pour laquelle nom, prénom, adresse & Co se trouvent sur des sites officiels publics ? Et bien en mixant toutes ces sources on obtient un profil assez complet de qui vous êtes via cette méthode de l’enrichissement de données. Ces différentes données peuvent être récupérées soit tout à fait légalement, soit via des data brokers, des bases en vente au marché noir, des fuites de données, etc.

Korben : adolescent autour de la quarantaine, multiples enfants, habite l’Élysée, achète en ligne (le plus souvent des produits écologiques et des frites surgelées), s’inquiète de sa tension artérielle et a téléchargé l’ebook « bien manger avec ses mains ». FLIPPANT DE PERTINENCE !

Graphique comparant la collecte de données entre Incogni et les autres navigateurs

Ce qu’il faut comprendre c’est que le plus souvent ce n’est pas fait de manière illégale par ceux qui proposent un produit ou un service. Chacun va vous demander les informations dont il a besoin pour satisfaire son offre, mieux cibler sa publicité ou générer sa liste d’abonnés, mais sans abuser non plus. Prenons l’exemple du livre blanc au format PDF, est-ce que vous le demanderiez si le site vous demandait votre adresse physique, votre situation familiale ou autre ? Bien sûr que non, vous l’enverriez sur les roses (avec raison). Idem si WhatsApp vous demandait de fournir un carnet de santé ou vos rémunérations mensuelles. Par contre les bases de données de ces sites ou la newsletter d’un blog peut avoir été hackées sans même que leurs créateurs ne soient au courant.

D’autres services vous disent carrément qu’ils récolteront des données vous concernant via d’autres sites ou applis sur lesquelles vous êtes présents. Mais comme personne ne lit les petits caractères et que les termes employés sont volontairement vagues … ça passe. Des exemples ? Amazon, Facebook, Instagram, Google ou Twitter. En signant chez eux, vous leur donnez le droit d’aller chercher vos informations ailleurs (avec certaines limites et une anonymisation des données … normalement). Imaginez que vous ayez un profil tout ce qu’il y a de plus corporate sur Facebook et que vous utilisiez Twitter pour propager des conspirations platistes ou reptiliennes à longueur de journée de manière anonyme. Et que vous avez utilisé le même mail ou le même téléphone pour les 2. Juste, imaginez.

Captures d'écran montrant les fonctionnalités d'Incogni

LinkedIn est un bon exemple qui permet l’enrichissement de données. Vous vous inscrivez sur un site quelconque avec nom et prénom et la société derrière ce site peut aller faire une recherche LinkedIn pour enrichir votre profil avec votre poste, l’entreprise dans laquelle vous travaillez et autres infos. Ce qui va leur permettre d’affiner leur communication avec vous, voire d’aller vous relancer directement sur le réseau. Et d’autres sites ont pignon sur rue : Clearbit, Dropcontact, etc.

Comme tout ce croisement d’informations se fait souvent de manière discrète dans l’arrière-boutique du web, vous pouvez vous brosser pour que la loi applique des sanctions ou fasse respecter vos droits RGPD. Ou alors vraiment dans une faible mesure, trop tard ou dans des cas flagrants (arnaques liées au compte personnel de formation). Une manière de prendre les choses en main et de minimiser les risques de manière proactive c’est avec Incogni et pour moins de 6€ par mois.

Illustration montrant l'impact de la collecte de données sur la vie privée

Bien entendu la première étape c’est votre comportement personnel au quotidien : ne pas s’inscrire n’importe où et à n’importe quoi, ne pas le faire avec de vraies infos perso si ce n’est pas obligatoire, effacer ses données et supprimer ses comptes régulièrement, utiliser plusieurs boites mails/profils sociaux pour diluer les données, etc. Mais ce n’est pas toujours possible. Et dans ce cas il reste l’option de faire supprimer ce qui a déjà été récupéré sur vous. C’est le job d’Incogni.

Incogni comment ça marche ?

Lorsque vous créez votre compte chez eux, vous allez lister les données que vous voulez voir disparaitre auprès des différents data brokers. Le service va alors analyser ces derniers et voir s’ils disposent de ces informations que vous voulez retirer. Une fois qu’il vous aura donné la liste de ceux-ci, il va les contacter tous pour leur demander d’effacer toute trace de votre existence. Cela mettra parfois plusieurs semaines ou mois, mais ils vont les relancer jusqu’à ce que ce soit fait.

Photo de l'équipe d'Incogni

Cela ne vous prendra que quelques minutes à mettre en place et ensuite c’est Incogni qui va se charger de tout. Selon le site cela prendrait plus de 300 heures si vous deviez le faire à la main tout seul (j’imagine que c’est en considérant que vos données apparaitraient chez les quasi 150 brokers qu’ils surveillent).

Personnellement c’est un service que j’utilise depuis plusieurs mois (voir mon test de mise en place). Et chaque fois que je vois un data broker supplémentaire qui a accédé à la requête de suppression, j’ai une petite dose de bonheur qui se libère dans mon corps. Tu veux toi aussi avoir droit à ce bonheur ?

Découvre Incogni !


Si comme moi, vous appréciez ce bon vieux SimCity 2000 avec ses graphismes bien rétro et que vous voulez essayer quelque chose de différent, foncez sur le site de Cytopia.

Le principe de ce jeu, vous le connaissez : Il faut construire des villes et les gérer. Cytopia utilise un moteur de rendu isométrique basé sur SDL2 et pour le moment, il sait générer des terrains de manière procédurale et propose tous les éléments de base de SimCity tels quel les routes, les quartiers (résidentiel, industriel, commerciaux et d’autres)…etc.

Attention, on est encore loin de quelque chose de finalisé. C’est un travail en cours de développement.

Capture d'écran de Cytopia

Ce qui est intéressant avec Cytopia, c’est qu’il est en constante évolution. Les développeurs sont sans cesse en train de travailler sur de nouvelles fonctionnalités pour améliorer l’expérience de jeu.

Par exemple, ils prévoient d’ajouter des biomes, ces grandes régions géographiques qui ont leur propre climat et leur propre faune et flore. Cela ajoutera une nouvelle dimension à la construction de vos villes, car vous devrez tenir compte des conditions climatiques et écologiques de chaque biome lorsque vous construirez vos quartiers et vos routes.

Interface de modding de Cytopia

Les développeurs travaillent également sur un mécanisme de téléchargement de mods directement dans le jeu. Vous pourrez ainsi facilement télécharger les mods créés par d’autres joueurs pour ajouter de nouvelles fonctionnalités, de nouvelles possibilités de constructions voire de nouveaux univers.

Bientôt des villes sur Mars ?

Et comme Cytopia est un jeu open source, vous pourrez évidemment créer vos propres mods perso si vous le souhaitez. Bien sûr, Cytopia ne néglige pas non plus l’aspect musical du jeu. Le jeu possède sa bande-son originale avec des bruits ambiants et des effets sonores qui sont tout simplement excellents. Vous vous sentirez vraiment immergé dans votre ville virtuelle rien qu’à vous.

Illustration de ville de Cytopia

Cytopia est disponible sur macOS, Linux et Windows, et il devrait également y avoir une version pour Android et iOS à l’avenir. Les développeurs travaillent également sur un langage de script similaire à du LUA pour faciliter la création de mods. Si vous êtes intéressé par le développement de Cytopia, vous pouvez retrouver le code sur Github.

N’hésitez pas à essayer le jeu et à vous impliquer dans la communauté des joueurs et des développeurs si le coeur vous en dit !


Hey salut !

Alors aujourd’hui, je vais vous parler d’un super logiciel nommé Kopia.

Si vous ne le connaissez pas encore, Kopia est un outil de sauvegarde open source qui est rapide et sécurisé. Il permet de créer des snapshots (instantanés) chiffrés de vos données et de les enregistrer sur un stockage local, distant ou dans le cloud de votre choix.

Ecran d'ordinateur avec le logiciel de sauvegarde Kopia ouvert

Kopia a une version en ligne de commande, mais également une version avec une interface graphique (KopiaUI), ce qui en fait l’outil parfait pour tous les utilisateurs, que vous soyez débutants ou confirmés.

L’outil dispose de fonctionnalités très pratiques comme la compression, la déduplication, le chiffrement « zero knowledge » de bout en bout sans oublier de la correction d’erreurs.

Disque dur externe connecté à un ordinateur pour la sauvegarde de données

Pour installer Kopia, vous devez télécharger le fichier d’installation correspondant à votre système d’exploitation à partir de la page d’installation de Kopia. La version de Kopia avec l’interface graphique s’appelle KopiaUI, donc ouvrez l’oeil, car il y a des versions CLI + UI pour quasiment tous les OS.

Si vous préférez utiliser la ligne de commande, vous pouvez également installer Kopia en utilisant votre gestionnaire de paquets préféré, comme apt pour Ubuntu, yum pour CentOS ou brew pour macOS.

Une fois Kopia installé, lancez l’application en cliquant sur l’icône Kopia dans le menu Démarrer (Windows) ou dans le dossier Applications (macOS). Vous pouvez également lancer Kopia en utilisant la ligne de commande en ouvrant un terminal et en tapant « kopia ».

sudo apt update 
sudo apt install kopia

Sur macOS, vous pouvez utiliser brew en ouvrant un terminal et en tapant :

brew update 
brew install kopia
Illustration d'une clé USB pour la sauvegarde de données

L’interface graphique parle d’elle-même et je suis certain que vous n’aurez aucun mal à configurer votre premier snapshot.

Pour info, Kopia est compatible avec les services de cloud suivants :

  • Amazon S3 et tout stockage dans le cloud compatible avec S3
  • Azure Blob Storage
  • Backblaze B2
  • Google Cloud Storage
  • Tout serveur distant ou stockage dans le cloud qui prend en charge WebDAV ou SFTP
  • Certains services de cloud pris en charge par Rclone (nécessite de télécharger et de configurer Rclone en plus de Kopia, mais Kopia gère/exécute Rclone pour vous)
  • Votre ordinateur local et tout stockage ou serveur en réseau
  • Votre propre serveur en configurant un serveur de dépôt Kopia.

Kopia utilise la déduplication de données ce qui vous permettra d’économiser sur le stockage de votre service cloud.

Pour utiliser Kopia avec la ligne de commande (pratique pour l’automatiser avec un script), ouvrez un terminal et tapez la commande « kopia » suivie des paramètres correspondants.

Par exemple, pour créer une sauvegarde, vous pouvez utiliser la commande « kopia create » en spécifiant les fichiers/répertoires à sauvegarder, le nom de la sauvegarde et l’emplacement de stockage :

kopia create /home/user/LesFichiersASauvegarder NomDeLaSauvegarde sftp://user@server/backups

Ensuite, pour restaurer une sauvegarde, vous pouvez utiliser la commande « kopia restore » en spécifiant la sauvegarde à restaurer, les fichiers/répertoires à restaurer et l’emplacement de restauration

Je vous mets un petit tuto pour ceux qui veulent :

Amusez-vous bien !


Si vous êtes comme moi, vous avez surement des dizaines de logiciels en tout genre installés sur votre ordinateur Apple. Alors bien sûr, quand vient le moment de lancer une application, il faut aller fouiller dans le dossier Applications et vous ne vous souvenez pas du nom de l’application en question, ça peut prendre un peu de temps. Perte de temps assurée !

Heureusement, il existe un moyen de résoudre ce problème pénible : Thor.

Non, je ne parle pas du Dieu nordique qui considère chaque problème comme un clou, mais plutôt d’un outil dans lequel vous pouvez configurer des raccourcis pour ouvrir vos applications préférées en un seul clic ou en utilisant un raccourci clavier.

Capture d'écran de l'interface de Thor permettant d'ouvrir des applications

Ainsi, vous n’avez plus besoin de chercher dans votre dossier Applications ou sur votre dock chaque fois que vous voulez ouvrir une application. Vous pouvez accéder à vos applications rapidement et facilement, ce qui vous permet de travailler plus efficacement. Et comme Thor est disponible gratuitement dans l’App Store, vous pouvez l’essayer sans débourser un centime.

En plus de simplifier l’ouverture des applications, Thor vous permet également de lancer des commandes spécifiques dans ces applications. Par exemple, vous pouvez configurer un raccourci pour ouvrir un nouveau document dans votre traitement de texte préféré, ou pour lancer une recherche sur internet dans votre navigateur. Cela vous permet d’accéder rapidement aux fonctionnalités que vous utilisez le plus souvent, sans avoir à naviguer dans les menus de l’application ou à utiliser des combinaisons de touches compliquées.

Par exemple pour lancer quelques scripts Python, c’est génial !

À découvrir ici !