Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
libnfc — プラットフォーム非依存のNear Field Communication (NFC)ライブラリ | Kitploit
ツール/GitHubGitHub/nfc-tools/libnfc
RFID/NFCツールワイヤレスセキュリティハードウェアとIoTセキュリティ
GitHubnfc-tools/libnfc

libnfc

プラットフォーム非依存のNear Field Communication (NFC)ライブラリ

リポジトリを見るウェブサイト
2.0k4801年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

*-

  • フリー/リブレ近距離無線通信 (NFC) ライブラリ
  • 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
  • 追加の貢献者:
  • AUTHORS ファイルを参照 -*

一般情報

libnfc は、ユーザー空間アプリケーションが NFC デバイスにアクセスできるようにするライブラリです。

公式ウェブサイトは消滅しました。WayBackMachine でコピーを閲覧できます。

公式フォーラムサイトは消滅しました。WayBackMachine でコピーを閲覧できます。

公式開発サイトは: https://github.com/nfc-tools/libnfc

重要: このファイルは POSIX システムを対象としています。Windows については README-Windows.md を参照してください。

要件

一部の NFC ドライバはサードパーティ製ソフトウェアに依存しています:

  • pn53x_usb & acr122_usb:

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

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

    • pcsc ドライバを使用したビルドに対応しており、互換性のあるすべてのリーダーを利用できます。Feitian R502 と bR500 はテスト済みです。

リグレッションテストスイートは cutter フレームワークに依存しています: http://cutter.sf.net

ビルド

注: リポジトリの git クローンから直接作業する場合、一部のファイルを最初に生成する必要があります。これを行うには次のコマンドを実行してください: autoreconf -vis

あるいは、パッケージリリースの .tar.bz2 版 (./configure を既に含む) を使用してください: https://github.com/nfc-tools/libnfc/releases/

ビルドは、次のコマンドを実行するだけで簡単に行えます:

root@kitploit:~
./configure
make

特定のドライバを指定してビルドするには、./configure --help に詳細が記載されている --with-drivers=... オプションを参照してください。

インストール

root@kitploit:~
make install

デバイスを操作するには、ユーザーに権限を付与する必要がある場合があります。 GNU/Linux システムで udev を使用している場合は、提供されている udev ルールを使用できます。 例: Debian、Ubuntu など。

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

FreeBSD で devd を使用する場合は、ルールファイル contrib/devd/pn53x.conf もあります。

設定

ライブラリのデフォルトの動作を変更するために、libnfc は sysconfdir (./configure に指定された値) にある設定ファイルを使用します。

コメント付きのサンプルファイルがソース内にあります: libnfc.conf.sample

次のようにコンパイルした場合:

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

設定ディレクトリを作成し、サンプルファイルをコピーできます:

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

複数のデバイスを設定するには、libnfc.conf を変更するか、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

環境変数

次の環境変数を使用して、実行時に特定の設定オプションを上書きできます:

  • LIBNFC_DEFAULT_DEVICE=<connstring>: LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0 は、/dev/ttyACM0 上の pn532 をデフォルトデバイスとして使用します。
  • LIBNFC_DEVICE=<connstring> は、設定ファイル内のすべてのデバイスを無視し、変数で定義されたデバイスのみを使用します。
  • LIBNFC_AUTO_SCAN=<true|false> は、設定ファイルの allow_autoscan オプションを上書きします。
  • LIBNFC_INTRUSIVE_SCAN=<true|false> は、設定ファイルの allow_intrusive_scan オプションを上書きします。
  • LIBNFC_LOG_LEVEL=<0|1|2|3> は、設定ファイルの log_level オプションを上書きします。

認識されたデバイスの connstring を取得するには、nfc-scan-device を使用できます。LIBNFC_AUTO_SCAN=true nfc-scan-device は、見つかったすべてのデバイスの名前と connstring を表示します。

バグの報告方法

バグを報告するには、https://github.com/nfc-tools/libnfc/issues にアクセスし、バグ報告フォームに記入してください。

質問や意見がある場合は、開発者コミュニティに投稿することをお勧めします: http://www.libnfc.org/community

必ず以下を含めてください:

  • libnfc のバージョン

  • システムに関する情報。例:

    • オペレーティングシステムとバージョン
    • Linux の場合、C ライブラリのバージョン

    その他、関連すると思われる情報。

  • デバッグを有効にしたトレース。

    デバッグを有効にしてバグを再現してください。例えば、次のコマンドだった場合:

    root@kitploit:~
      $ nfc-list -v
    

    次のように実行します:

    root@kitploit:~
      $ LIBNFC_LOG_LEVEL=3 nfc-list -v
    
  • バグの再現方法。

    その動作を示す短いテストプログラムを含めてください。

    最後の手段として、より大きなソフトウェアへのポインタを提供することもできます。

    そのソフトウェアはダウンロード可能です。

  • バグがクラッシュだった場合は、出力された正確なテキスト。

    クラッシュ発生時に出力された内容。

  • スタックトレースなどの追加情報は役立つ場合がありますが、

    必須ではありません。

パッチ

パッチは https://github.com/nfc-tools/libnfc/issues に投稿できます。

パッチがバグを修正する場合、通常は「バグの報告方法」に記載されているすべての情報を含めることをお勧めします。

トラブルシューティング

Touchatag/ACR122:

Touchatag または ACR122 デバイスが libnfc によって検出されない場合は、PCSC-lite デーモン (pcscd) がインストールされて実行されていることを確認してください。

Touchatag または ACR122 デバイスが PCSC-lite デーモンによって検出されない場合 (pcsc_scan が何も表示しない場合) は、libccid の偽装ファームウェア検出を無効にしてみてください。libccid_Info.plist 設定ファイル (通常は /etc/libccid_Info.plist) を編集し、<key>ifdDriverOptions</key> を見つけて、<string>0x0000</string> の値を 0x0004 に変更して偽装デバイスを許可し、pcscd デーモンを再起動します。

ACR122:

ACR122 デバイスを libnfc でタグなしで使用する場合 (NFCIP モードやカードエミュレーションを使用する場合など) は、もう 1 つ PCSC-lite の調整が必要です: CCID Exchange コマンドの使用を許可する必要があります。これを行うには、libccid_Info.plist 設定ファイル (通常は /etc/libccid_Info.plist) を編集し、<key>ifdDriverOptions</key> を見つけて、<string>0x0000</string> の値を 0x0001 に変更して CCID exchange を許可するか、0x0005 に変更して CCID exchange と偽装デバイスを許可します (前の注意を参照)。その後、pcscd デーモンを再起動します。

警告: ACS CCID ドライバ (acsccid) を使用する場合、設定ファイルは /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist のような場所にあります。

SCL3711:

Libnfc は SCL3711 の PCSC プロプライエタリドライバと同時に使用することはできません。 考えられる解決策は 2 つあります:

  • SCL3711 ドライバをまったくインストールしない
  • libnfc ベースのツールを使用するときに PCSC デーモンを停止する

Linux >= 3.1 上の PN533 USB デバイス:

Linux カーネルバージョン 3.1 以降、libnfc を使用するにはいくつかのカーネルモジュールをロードしてはなりません: "nfc"、"pn533"、"pn533_usb"。

カーネルがこれらのモジュールを自動的にロードしないようにするには、modprobe 設定ファイルでブラックリストに登録できます。このファイルは libnfc アーカイブ内に提供されています:

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

FEITIAN bR500 と R502:

Libnfc は、ほとんどの Linux 環境ですでに利用可能な bR500 および R502 の PCSC プロプライエタリドライバと連携できます。 PCSC サポートを有効にするには: ./configure --with-drivers=pcsc。

動作が確認されているリーダー:

  • Feitian bR500
  • Feitian R502 デュアルインターフェースリーダー
  • Feitian R502 CL (非接触) リーダー

これらのリーダーは CCID v1.4.25 以降でサポートされています。CCID ドライバのバージョンが 1.4.25 以上であることを確認してください。

MacOS では、次のコマンドで CCID バージョンを確認できます。必要に応じて、https://github.com/martinpaljak/osx-ccid-installer/releases から最新の CCID ドライバをインストールできます。

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

Linux では、次のコマンドで CCID バージョンを確認できます。必要に応じて、https://ccid.apdu.fr/ から最新の CCID ドライバをインストールできます。

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

所有権に関する注記

FeliCa は、ソニー株式会社の登録商標です。 MIFARE は、NXP Semiconductors の商標です。 Jewel Topaz は、Innovision Research & Technology の商標です。 その他のすべての商標は、それぞれの所有者に帰属します。

ツールをダウンロード