Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
libnfc — 플랫폼 독립적인 근거리 무선 통신(NFC) 라이브러리 | Kitploit
도구/GitHubGitHub/nfc-tools/libnfc
RFID/NFC ToolsWireless SecurityHardware & IoT Security
GitHubnfc-tools/libnfc

libnfc

플랫폼 독립적인 근거리 무선 통신(NFC) 라이브러리

저장소 보기웹사이트
2.0k4801년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
root@kitploit:~
*-
* 자유 Libre 근거리 통신(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:

libnfc와 함께 태그 없이 ACR122 장치를 사용하려면(예: NFCIP 모드 또는 카드 에뮬레이션) 또 다른 PCSC-lite 조정이 필요합니다: CCID Exchange 명령 사용을 허용해야 합니다. 이렇게 하려면 libccid_Info.plist 구성 파일(일반적으로 /etc/libccid_Info.plist)을 편집하고 <key>ifdDriverOptions</key>를 찾아 <string>0x0000</string> 값을 0x0001로 변경하여 CCID 교환을 허용하거나 0x0005로 변경하여 CCID 교환과 잘못된 장치를 모두 허용하고(이전 설명 참조) pcscd 데몬을 다시 시작하십시오.

경고: ACS CCID 드라이버(acsccid)를 사용하는 경우 구성 파일은 다음과 같은 위치에 있습니다: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist

SCL3711:

Libnfc는 SCL3711의 PCSC 전용 드라이버와 동시에 사용할 수 없습니다. 두 가지 가능한 해결책이 있습니다:

  • SCL3711 드라이버를 아예 설치하지 않거나
  • libnfc 기반 도구를 사용하려 할 때 PCSC 데몬을 중지하십시오.

Linux >= 3.1의 PN533 USB 장치:

Linux 커널 버전 3.1부터 libnfc를 사용하려면 몇 가지 커널 모듈("nfc", "pn533", "pn533_usb")이 로드되지 않아야 합니다. 커널이 이러한 모듈을 자동으로 로드하지 못하게 하려면 modprobe conf 파일에 블랙리스트로 등록할 수 있습니다. 이 파일은 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 Dual interface reader
  • Feitian R502 CL(Contactless) reader

이 리더기들은 CCID v1.4.25부터 지원됩니다. CCID 드라이버 버전이 1.4.25 이상인지 확인하십시오.

MacOS에서는 다음 명령으로 CCID 버전을 확인할 수 있으며, 필요한 경우 최신 CCID 드라이버를 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

Linux에서는 다음 명령으로 CCID 버전을 확인할 수 있으며, 필요한 경우 최신 CCID 드라이버를 https://ccid.apdu.fr/에서 설치할 수 있습니다.

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

독점 관련 참고 사항

FeliCa는 Sony Corporation의 등록 상표입니다. MIFARE는 NXP Semiconductors의 상표입니다. Jewel Topaz는 Innovision Research & Technology의 상표입니다. 기타 모든 상표는 해당 소유자의 자산입니다.

root@kitploit:~
도구 다운로드