Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
libnfc — Bibliothèque de communication en champ proche (NFC) indépendante de la plateforme | Kitploit
Outils/GitHubGitHub/nfc-tools/libnfc
Outils RFID/NFCSécurité Sans FilSécurité Matériel et IoT
GitHubnfc-tools/libnfc

libnfc

Bibliothèque de communication en champ proche (NFC) indépendante de la plateforme

Voir le dépôtSite web
2.0k480il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

*-

  • Bibliothèque de communication en champ proche (NFC) libre
  • Contributeurs historiques de Libnfc :
  • Copyright (C) 2009 Roel Verdult
  • Copyright (C) 2009-2015 Romuald Conty
  • Copyright (C) 2010-2012 Romain Tartière
  • Copyright (C) 2010-2013 Philippe Teuwen
  • Copyright (C) 2012-2013 Ludovic Rousseau
  • Contributeurs supplémentaires :
  • Voir le fichier AUTHORS -*

Informations générales

libnfc est une bibliothèque qui permet aux applications de l'espace utilisateur d'accéder aux périphériques NFC.

Le site web officiel n'existe plus, consultez une copie via la WayBackMachine.

Le site du forum officiel n'existe plus, consultez une copie via la WayBackMachine.

Le site officiel de développement est : https://github.com/nfc-tools/libnfc

Remarque importante : ce fichier concerne les systèmes POSIX, pour Windows, veuillez lire README-Windows.md

Prérequis

Certains pilotes NFC dépendent de logiciels tiers :

  • pn53x_usb & acr122_usb :

    • libusb-0.1 http://libusb.sf.net
  • acr122_pcsc :

    • pcsc-lite https://pcsclite.apdu.fr/
  • pcsc :

    • Prise en charge de la compilation avec le pilote pcsc, qui peut utiliser tous les lecteurs compatibles ; les Feitian R502 et bR500 ont déjà réussi le test.

La suite de tests de régression dépend du framework cutter : http://cutter.sf.net

Compilation

Remarque : si vous travaillez directement à partir d'un clone git du dépôt, certains fichiers doivent d'abord être générés. Pour ce faire, exécutez autoreconf -vis

Vous pouvez également utiliser une archive .tar.bz2 d'une version publiée (qui contient déjà ./configure) : https://github.com/nfc-tools/libnfc/releases/

La compilation devrait être aussi simple que d'exécuter ces commandes :

root@kitploit:~
./configure
make

Pour compiler avec un ou plusieurs pilotes spécifiques, consultez l'option --with-drivers=... détaillée dans ./configure --help.

Installation

root@kitploit:~
make install

Vous devrez peut-être accorder des permissions à votre utilisateur pour piloter votre périphérique. Sous les systèmes GNU/Linux, si vous utilisez udev, vous pouvez utiliser les règles udev fournies. p. ex. sous Debian, Ubuntu, etc.

root@kitploit:~
sudo cp contrib/udev/93-pn53x.rules /lib/udev/rules.d/

Sous FreeBSD, si vous utilisez devd, il existe également un fichier de règles : contrib/devd/pn53x.conf.

Configuration

Afin de modifier le comportement par défaut de la bibliothèque, libnfc utilise un fichier de configuration situé dans sysconfdir (tel que fourni à ./configure).

Un fichier d'exemple commenté est disponible dans les sources : libnfc.conf.sample

Si vous avez compilé en utilisant :

root@kitploit:~
./configure --prefix=/usr --sysconfdir=/etc

vous pouvez créer le répertoire de configuration et copier le fichier d'exemple :

root@kitploit:~
sudo mkdir /etc/nfc
sudo cp libnfc.conf.sample /etc/nfc/libnfc.conf

Pour configurer plusieurs périphériques, vous pouvez soit modifier libnfc.conf, soit créer un fichier par périphérique dans un répertoire nfc/devices.d :

root@kitploit:~
sudo mkdir -p /etc/nfc/devices.d
printf 'name = "My first device"\nconnstring = "pn532_uart:/dev/ttyACM0"\n' | sudo tee /etc/nfc/devices.d/first.conf
printf 'name = "My second device"\nconnstring = "pn532_uart:/dev/ttyACM1"\n' | sudo tee /etc/nfc/devices.d/second.conf

Variables d'environnement

Vous pouvez remplacer certaines options de configuration à l'exécution à l'aide des variables d'environnement suivantes :

  • LIBNFC_DEFAULT_DEVICE=<connstring> : LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0 utilisera le pn532 sur /dev/ttyACM0 comme périphérique par défaut
  • LIBNFC_DEVICE=<connstring> ignorera tous les périphériques des fichiers de configuration et n'utilisera que celui défini dans la variable
  • LIBNFC_AUTO_SCAN=<true|false> remplace l'option allow_autoscan du fichier de configuration
  • LIBNFC_INTRUSIVE_SCAN=<true|false> remplace l'option allow_intrusive_scan du fichier de configuration
  • LIBNFC_LOG_LEVEL=<0|1|2|3> remplace l'option log_level du fichier de configuration

Pour obtenir la connstring d'un périphérique reconnu, vous pouvez utiliser nfc-scan-device : LIBNFC_AUTO_SCAN=true nfc-scan-device affichera les noms et les connstrings de tous les périphériques trouvés.

Comment signaler des bogues

Pour signaler un bogue, visitez https://github.com/nfc-tools/libnfc/issues et remplissez un formulaire de rapport de bogue.

Si vous avez des questions ou des remarques, nous vous encourageons à les publier dans la communauté des développeurs : http://www.libnfc.org/community

Veuillez vous assurer d'inclure :

  • La version de libnfc

  • Des informations sur votre système. Par exemple :

    • Le système d'exploitation et sa version
    • Pour Linux, la version de la bibliothèque C

    Et tout ce que vous pensez être pertinent.

  • Une trace avec le débogage activé.

    Reproduisez le bogue avec le débogage, par exemple si c'était :

    root@kitploit:~
      $ nfc-list -v
    

    exécutez-le ainsi :

    root@kitploit:~
      $ LIBNFC_LOG_LEVEL=3 nfc-list -v
    
  • Comment reproduire le bogue.

    Veuillez inclure un court programme de test qui illustre le comportement.

    En dernier recours, vous pouvez également fournir un lien vers un logiciel plus volumineux

    qui peut être téléchargé.

  • Si le bogue était un plantage, le texte exact qui a été affiché

    lors du plantage.

  • Des informations supplémentaires telles que les traces de pile peuvent être utiles, mais

    ne sont pas nécessaires.

Correctifs

Les correctifs peuvent être soumis à https://github.com/nfc-tools/libnfc/issues

Si le correctif corrige un bogue, il est généralement judicieux d'inclure toutes les informations décrites dans « Comment signaler des bogues ».

Dépannage

Touchatag/ACR122 :

Si votre périphérique Touchatag ou ACR122 n'est pas détecté par libnfc, assurez-vous que le démon PCSC-lite (pcscd) est installé et en cours d'exécution.

Si votre périphérique Touchatag ou ACR122 n'est pas détecté par le démon PCSC-lite (pcsc_scan ne voit rien), essayez alors de désactiver la détection de firmware non conforme de libccid : modifiez le fichier de configuration libccid_Info.plist (généralement /etc/libccid_Info.plist), localisez <key>ifdDriverOptions</key>, remplacez la valeur <string>0x0000</string> par 0x0004 pour autoriser les périphériques non conformes, puis redémarrez le démon pcscd.

ACR122 :

Utiliser un périphérique ACR122 avec libnfc et sans étiquette (par ex. pour utiliser les modes NFCIP ou l'émulation de carte) nécessite encore une autre modification de PCSC-lite : vous devez autoriser l'utilisation de la commande CCID Exchange. Pour ce faire, modifiez le fichier de configuration libccid_Info.plist (généralement /etc/libccid_Info.plist), localisez <key>ifdDriverOptions</key>, remplacez la valeur <string>0x0000</string> par 0x0001 pour autoriser l'échange CCID ou par 0x0005 pour autoriser l'échange CCID et les périphériques non conformes (cf. remarque précédente), puis redémarrez le démon pcscd.

Avertissement : si vous utilisez les pilotes CCID ACS (acsccid), le fichier de configuration se trouve dans un chemin du type : /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist

SCL3711 :

Libnfc ne peut pas être utilisé en même temps que le pilote propriétaire PCSC du SCL3711. Deux solutions possibles :

  • Soit vous n'installez pas du tout le pilote SCL3711
  • Soit vous arrêtez le démon PCSC lorsque vous voulez utiliser des outils basés sur libnfc

Périphérique USB PN533 sous Linux >= 3.1 :

Depuis la version 3.1 du noyau Linux, certains modules du noyau ne doivent pas être chargés afin d'utiliser libnfc : « nfc », « pn533 » et « pn533_usb ». Pour empêcher le noyau de charger automatiquement ces modules, vous pouvez les mettre sur liste noire dans un fichier de configuration modprobe. Ce fichier est fourni dans l'archive libnfc :

root@kitploit:~
sudo cp contrib/linux/blacklist-libnfc.conf /etc/modprobe.d/blacklist-libnfc.conf

FEITIAN bR500 et R502 :

Libnfc peut fonctionner avec le pilote propriétaire PCSC des bR500 et R502, qui est déjà disponible sur la plupart des configurations Linux. Pour activer la prise en charge PCSC : ./configure --with-drivers=pcsc. Lecteurs connus pour fonctionner :

  • Feitian bR500
  • Lecteur Feitian R502 à double interface
  • Lecteur Feitian R502 CL (sans contact)

Ces lecteurs sont pris en charge par CCID depuis la v1.4.25, assurez-vous que la version de votre pilote CCID soit supérieure ou égale à 1.4.25.

Sur MacOS, vous pouvez vérifier la version de votre CCID avec la commande suivante et, si nécessaire, installer le dernier pilote CCID depuis https://github.com/martinpaljak/osx-ccid-installer/releases

root@kitploit:~
grep -A 1 CFBundleShortVersionString /usr/local/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist

Sur Linux, vous pouvez vérifier la version de votre CCID avec la commande suivante et, si nécessaire, installer le dernier pilote CCID depuis https://ccid.apdu.fr/

root@kitploit:~
grep -A 1 CFBundleShortVersionString /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

Notes sur les marques

FeliCa est une marque déposée de Sony Corporation. MIFARE est une marque de NXP Semiconductors. Jewel Topaz est une marque d'Innovision Research & Technology. Toutes les autres marques appartiennent à leurs propriétaires respectifs.

Télécharger l’outil