Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
libnfc — Plattformunabhängige Near Field Communication (NFC)-Bibliothek | Kitploit
Tools/GitHubGitHub/nfc-tools/libnfc
RFID/NFC-ToolsDrahtlose SicherheitHardware- & IoT-Sicherheit
GitHubnfc-tools/libnfc

libnfc

Plattformunabhängige Near Field Communication (NFC)-Bibliothek

Repository anzeigenWebseite
2.0k480vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

*-

  • Freie/Libre-Nahfeldkommunikationsbibliothek (NFC)
  • Historische Mitwirkende an 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
  • Weitere Mitwirkende:
  • Siehe Datei AUTHORS -*

Allgemeine Informationen

libnfc ist eine Bibliothek, die Anwendungen im Userspace Zugriff auf NFC-Geräte ermöglicht.

Die offizielle Website ist nicht mehr verfügbar; eine Kopie kann über die WayBackMachine angesehen werden.

Das offizielle Forum ist nicht mehr verfügbar; eine Kopie kann über die WayBackMachine angesehen werden.

Die offizielle Entwicklungs-Website ist: https://github.com/nfc-tools/libnfc

Wichtiger Hinweis: Diese Datei behandelt POSIX-Systeme. Für Windows lesen Sie bitte README-Windows.md

Anforderungen

Einige NFC-Treiber sind von Drittanbieter-Software abhängig:

  • pn53x_usb & acr122_usb:

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

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

    • Unterstützt den Build mit dem pcsc-Treiber, der alle kompatiblen Leser verwenden kann; Feitian R502 und bR500 haben den Test bereits bestanden.

Die Regressionstest-Suite hängt vom Cutter-Framework ab: http://cutter.sf.net

Erstellen

Hinweis: Wenn Sie direkt mit einem Git-Klon des Repository arbeiten, müssen einige Dateien zuerst generiert werden. Führen Sie dazu Folgendes aus: autoreconf -vis

Alternativ verwenden Sie eine .tar.bz2-Version eines Paket-Releases (die bereits ./configure enthält): https://github.com/nfc-tools/libnfc/releases/

Der Build sollte so einfach sein wie das Ausführen der folgenden Befehle:

root@kitploit:~
./configure
make

Um mit bestimmten Treiber(n) zu bauen, siehe die Option --with-drivers=..., die in ./configure --help beschrieben ist.

Installation

root@kitploit:~
make install

Möglicherweise müssen Sie Ihrem Benutzer Rechte einräumen, um Ihr Gerät ansteuern zu können. Unter GNU/Linux-Systemen können Sie, falls Sie udev verwenden, die mitgelieferten udev-Regeln nutzen. z. B. unter Debian, Ubuntu usw.

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

Unter FreeBSD gibt es, falls Sie devd verwenden, ebenfalls eine Regeldatei: contrib/devd/pn53x.conf.

Konfiguration

Um das Standardverhalten der Bibliothek zu ändern, verwendet libnfc eine Konfigurationsdatei, die sich in sysconfdir befindet (wie an ./configure übergeben).

Eine Beispiel-Datei mit Kommentaren ist in den Quellen verfügbar: libnfc.conf.sample

Wenn Sie mit folgendem Befehl kompiliert haben:

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

können Sie das Konfigurationsverzeichnis anlegen und die Beispieldatei kopieren:

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

Um mehrere Geräte zu konfigurieren, können Sie entweder libnfc.conf ändern oder pro Gerät eine Datei in einem nfc/devices.d-Verzeichnis anlegen:

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

Umgebungsvariablen

Sie können bestimmte Konfigurationsoptionen zur Laufzeit mithilfe der folgenden Umgebungsvariablen überschreiben:

  • LIBNFC_DEFAULT_DEVICE=<connstring>: LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0 verwendet pn532 auf /dev/ttyACM0 als Standardgerät
  • LIBNFC_DEVICE=<connstring> ignoriert alle Geräte in den Konfigurationsdateien und verwendet nur das in der Variable definierte Gerät
  • LIBNFC_AUTO_SCAN=<true|false> überschreibt die Option allow_autoscan in der Konfigurationsdatei
  • LIBNFC_INTRUSIVE_SCAN=<true|false> überschreibt die Option allow_intrusive_scan in der Konfigurationsdatei
  • LIBNFC_LOG_LEVEL=<0|1|2|3> überschreibt die Option log_level in der Konfigurationsdatei

Um den Connstring eines erkannten Geräts zu erhalten, können Sie nfc-scan-device verwenden: LIBNFC_AUTO_SCAN=true nfc-scan-device zeigt die Namen und Connstrings aller gefundenen Geräte an.

Fehler melden

Um einen Fehler zu melden, besuchen Sie https://github.com/nfc-tools/libnfc/issues und füllen Sie ein Formular für Fehlerberichte aus.

Wenn Sie Fragen oder Anmerkungen haben, empfehlen wir Ihnen, diese in der Entwickler-Community zu posten: http://www.libnfc.org/community

Bitte stellen Sie sicher, dass Sie Folgendes angeben:

  • Die Version von libnfc

  • Informationen über Ihr System. Beispielsweise:

    • Welches Betriebssystem und welche Version
    • Für Linux, welche Version der C-Bibliothek

    Und alles andere, was Sie für relevant halten.

  • Ein Trace mit aktiviertem Debug.

    Reproduzieren Sie den Fehler mit Debug, z. B. wenn es Folgendes war:

    root@kitploit:~
      $ nfc-list -v
    

    führen Sie es wie folgt aus:

    root@kitploit:~
      $ LIBNFC_LOG_LEVEL=3 nfc-list -v
    
  • Wie der Fehler zu reproduzieren ist.

    Bitte fügen Sie ein kurzes Testprogramm bei, das das Verhalten zeigt.

    Als letzte Möglichkeit können Sie auch einen Verweis auf ein größeres

    Softwarepaket angeben, das heruntergeladen werden kann.

  • Wenn der Fehler ein Absturz war, den genauen Text, der ausgegeben wurde,

    als der Absturz auftrat.

  • Weitere Informationen wie Stack-Traces können nützlich sein, sind

    aber nicht erforderlich.

Patches

Patches können unter https://github.com/nfc-tools/libnfc/issues eingereicht werden

Wenn der Patch einen Fehler behebt, ist es in der Regel eine gute Idee, alle Informationen aufzunehmen, die unter „Fehler melden" beschrieben sind.

Fehlerbehebung

Touchatag/ACR122:

Wenn Ihr Touchatag- oder ACR122-Gerät von libnfc nicht erkannt wird, stellen Sie sicher, dass der PCSC-lite-Daemon (pcscd) installiert ist und ausgeführt wird.

Wenn Ihr Touchatag- oder ACR122-Gerät vom PCSC-lite-Daemon nicht erkannt wird (pcsc_scan sieht nichts), versuchen Sie, die Erkennung unechter Firmware von libccid zu entfernen: Bearbeiten Sie die Konfigurationsdatei libccid_Info.plist (normalerweise /etc/libccid_Info.plist), suchen Sie <key>ifdDriverOptions</key> und ändern Sie den Wert <string>0x0000</string> in 0x0004, um unechte Geräte zuzulassen, und starten Sie den pcscd-Daemon neu.

ACR122:

Die Verwendung eines ACR122-Geräts mit libnfc und ohne Tag (z. B. für NFCIP-Modi oder Kartenemulation) erfordert eine weitere PCSC-lite-Anpassung: Sie müssen die Verwendung des CCID-Exchange-Befehls erlauben. Bearbeiten Sie dazu die Konfigurationsdatei libccid_Info.plist (normalerweise /etc/libccid_Info.plist), suchen Sie <key>ifdDriverOptions</key> und ändern Sie den Wert <string>0x0000</string> in 0x0001, um CCID-Exchange zu erlauben, oder in 0x0005, um CCID-Exchange und unechte Geräte zu erlauben (vgl. vorherige Anmerkung), und starten Sie den pcscd-Daemon neu.

Warnung: Wenn Sie ACS-CCID-Treiber (acsccid) verwenden, befindet sich die Konfigurationsdatei etwa unter: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist

SCL3711:

Libnfc kann nicht gleichzeitig mit dem proprietären PCSC-Treiber des SCL3711 verwendet werden. Zwei mögliche Lösungen:

  • Entweder Sie installieren den SCL3711-Treiber gar nicht
  • Oder Sie stoppen den PCSC-Daemon, wenn Sie libnfc-basierte Werkzeuge verwenden möchten

PN533-USB-Gerät unter Linux >= 3.1:

Seit Linux-Kernel-Version 3.1 dürfen einige Kernel-Module nicht geladen sein, um libnfc verwenden zu können: „nfc", „pn533" und „pn533_usb". Um zu verhindern, dass der Kernel diese Module automatisch lädt, können Sie sie in einer modprobe-Konfigurationsdatei auf die Blacklist setzen. Diese Datei ist im libnfc-Archiv enthalten:

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

FEITIAN bR500 und R502:

Libnfc kann mit dem proprietären PCSC-Treiber von bR500 und R502 verwendet werden, der auf den meisten Linux-Systemen bereits verfügbar ist. Um die PCSC-Unterstützung zu aktivieren: ./configure --with-drivers=pcsc. Bekannte funktionierende Leser:

  • Feitian bR500
  • Feitian R502 Dual-Interface-Leser
  • Feitian R502 CL-Leser (kontaktlos)

Diese Leser werden seit v1.4.25 von CCID unterstützt. Stellen Sie sicher, dass Ihre CCID-Treiberversion höher oder gleich 1.4.25 ist.

Unter MacOS können Sie Ihre CCID-Version mit dem folgenden Befehl überprüfen. Falls erforderlich, können Sie den neuesten CCID-Treiber von https://github.com/martinpaljak/osx-ccid-installer/releases installieren.

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

Unter Linux können Sie Ihre CCID-Version mit dem folgenden Befehl überprüfen. Falls erforderlich, können Sie den neuesten CCID-Treiber von https://ccid.apdu.fr/ installieren.

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

Markenrechtliche Hinweise

FeliCa ist eine eingetragene Marke der Sony Corporation. MIFARE ist eine Marke von NXP Semiconductors. Jewel Topaz ist eine Marke von Innovision Research & Technology. Alle anderen Marken sind Eigentum ihrer jeweiligen Inhaber.

Tool herunterladen