Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
libnfc — Biblioteca de Near Field Communication (NFC) independente de plataforma | Kitploit
Ferramentas/GitHubGitHub/nfc-tools/libnfc
Ferramentas RFID/NFCSegurança Sem FioSegurança de Hardware e IoT
GitHubnfc-tools/libnfc

libnfc

Biblioteca de Near Field Communication (NFC) independente de plataforma

Ver RepositórioSite
2.0k480há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
root@kitploit:~
*-
* Free/Libre Near Field Communication (NFC) library
*
* Libnfc historical contributors:
* 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
* Additional contributors:
* See AUTHORS file
-*

General Information

libnfc é uma biblioteca que permite que aplicações em espaço de usuário acessem dispositivos NFC.

O site oficial foi descontinuado; consulte uma cópia através da WayBackMachine.

O fórum oficial foi descontinuado; consulte uma cópia através da WayBackMachine.

O site oficial de desenvolvimento é: https://github.com/nfc-tools/libnfc

Nota importante: este arquivo cobre sistemas POSIX; para Windows, leia README-Windows.md

Requisitos

Alguns drivers NFC dependem de software de terceiros:

  • pn53x_usb & acr122_usb:

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

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

    • Suporte para compilar com o driver pcsc, que pode ser usado com todos os leitores compatíveis; Feitian R502 e bR500 já passaram no teste.

A suíte de testes de regressão depende do framework cutter: http://cutter.sf.net

Compilação

Nota: Se você estiver trabalhando diretamente de um clone git do repositório, alguns arquivos precisam ser gerados primeiro. Para isso, execute autoreconf -vis

Alternativamente, use uma versão .tar.bz2 de um lançamento empacotado (que já contém ./configure): https://github.com/nfc-tools/libnfc/releases/

O processo de compilação deve ser tão simples quanto executar estes comandos:

root@kitploit:~
./configure
make

Para compilar com driver(s) específico(s), veja a opção --with-drivers=... detalhada em ./configure --help.

Instalação

root@kitploit:~
make install

Talvez seja necessário conceder permissões ao seu usuário para operar o seu dispositivo. Em sistemas GNU/Linux, se você usa udev, pode usar as regras udev fornecidas. ex.: Debian, Ubuntu, etc.

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

No FreeBSD, se você usa devd, também há um arquivo de regras: contrib/devd/pn53x.conf.

Configuração

Para alterar o comportamento padrão da biblioteca, o libnfc usa um arquivo de configuração localizado em sysconfdir (conforme fornecido ao ./configure).

Um arquivo de exemplo comentado está disponível nas fontes: libnfc.conf.sample

Se você compilou usando:

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

você pode criar o diretório de configuração e copiar o arquivo de exemplo:

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

Para configurar vários dispositivos, você pode modificar o libnfc.conf ou criar um arquivo por dispositivo em um diretório 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

Variáveis de Ambiente

Você pode substituir certas opções de configuração em tempo de execução usando as seguintes variáveis de ambiente:

  • LIBNFC_DEFAULT_DEVICE=<connstring>: LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0 usará pn532 em /dev/ttyACM0 como dispositivo padrão
  • LIBNFC_DEVICE=<connstring> ignorará todos os dispositivos nos arquivos de configuração e usará apenas o definido na variável
  • LIBNFC_AUTO_SCAN=<true|false> substitui a opção allow_autoscan no arquivo de configuração
  • LIBNFC_INTRUSIVE_SCAN=<true|false> substitui a opção allow_intrusive_scan no arquivo de configuração
  • LIBNFC_LOG_LEVEL=<0|1|2|3> substitui a opção log_level no arquivo de configuração

Para obter a connstring de um dispositivo reconhecido, você pode usar nfc-scan-device: LIBNFC_AUTO_SCAN=true nfc-scan-device mostrará os nomes e connstrings de todos os dispositivos encontrados.

Como relatar bugs

Para relatar um bug, visite https://github.com/nfc-tools/libnfc/issues e preencha um formulário de relatório de bug.

Se você tiver perguntas ou observações, incentivamos você a publicá-las na comunidade de desenvolvedores: http://www.libnfc.org/community

Por favor, certifique-se de incluir:

  • A versão do libnfc

  • Informações sobre o seu sistema. Por exemplo:

    • Qual sistema operacional e versão
    • Para Linux, qual versão da biblioteca C

    E qualquer outra coisa que você considere relevante.

  • Um trace com depuração ativada.

    Reproduza o bug com depuração, por exemplo, se foi:

    root@kitploit:~
      $ nfc-list -v
    

    execute-o como:

    root@kitploit:~
      $ LIBNFC_LOG_LEVEL=3 nfc-list -v
    
  • Como reproduzir o bug.

    Inclua um pequeno programa de teste que exiba o comportamento.

    Como último recurso, você também pode fornecer um ponteiro para um software

    de software que possa ser baixado.

  • Se o bug foi uma falha (crash), o texto exato que foi impresso

    quando a falha ocorreu.

  • Informações adicionais, como stack traces, podem ser úteis, mas

    não são necessárias.

Patches

Patches podem ser enviados para https://github.com/nfc-tools/libnfc/issues

Se o patch corrige um bug, geralmente é uma boa ideia incluir todas as informações descritas em "Como Relatar Bugs".

Solução de Problemas

Touchatag/ACR122:

Se o seu dispositivo Touchatag ou ACR122 não for detectado pelo libnfc, certifique-se de que o daemon PCSC-lite (pcscd) esteja instalado e em execução.

Se o seu dispositivo Touchatag ou ACR122 não for detectado pelo daemon PCSC-lite (pcsc_scan não vê nada), tente remover a detecção de firmware falso do libccid: edite o arquivo de configuração libccid_Info.plist (geralmente /etc/libccid_Info.plist) e localize <key>ifdDriverOptions</key>, altere o valor de <string>0x0000</string> para 0x0004 para permitir dispositivos falsos e reinicie o daemon pcscd.

ACR122:

Usar um dispositivo ACR122 com libnfc e sem tag (por exemplo, para usar modos NFCIP ou emulação de cartão) requer outro ajuste do PCSC-lite: você precisa permitir o uso do comando CCID Exchange. Para fazer isso, edite o arquivo de configuração libccid_Info.plist (geralmente /etc/libccid_Info.plist) e localize <key>ifdDriverOptions</key>, altere o valor de <string>0x0000</string> para 0x0001 para permitir a troca CCID ou 0x0005 para permitir a troca CCID e dispositivos falsos (cf. observação anterior) e reinicie o daemon pcscd.

Aviso: se você usa os drivers ACS CCID (acsccid), o arquivo de configuração está localizado em algo como: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist

SCL3711:

O libnfc não pode ser usado simultaneamente com o driver proprietário PCSC do SCL3711. Duas soluções possíveis:

  • Ou você não instala o driver SCL3711
  • Ou você interrompe o daemon PCSC quando quiser usar ferramentas baseadas em libnfc

Dispositivo USB PN533 no Linux >= 3.1:

Desde a versão 3.1 do kernel Linux, alguns módulos do kernel não devem ser carregados para usar o libnfc: "nfc", "pn533" e "pn533_usb". Para impedir que o kernel carregue esses módulos automaticamente, você pode colocá-los na lista negra em um arquivo de configuração modprobe. Este arquivo é fornecido no arquivo do libnfc:

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

FEITIAN bR500 e R502:

O libnfc pode funcionar com o driver proprietário PCSC dos dispositivos bR500 e R502, que já está disponível na maioria das configurações Linux. Para ativar o suporte a PCSC: ./configure --with-drivers=pcsc. Leitores conhecidos por funcionar:

  • Feitian bR500
  • Feitian R502 Dual interface reader
  • Feitian R502 CL(Contactless) reader

Esses leitores são suportados pelo CCID desde a v1.4.25; certifique-se de que a versão do seu driver CCID seja maior ou igual a 1.4.25.

No MacOS, você pode verificar a versão do seu CCID com o seguinte comando e, se necessário, instalar o driver CCID mais recente em 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

No Linux, você pode verificar a versão do seu CCID com o seguinte comando e, se necessário, instalar o driver CCID mais recente em https://ccid.apdu.fr/

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

Notas de Propriedade

FeliCa é uma marca registrada da Sony Corporation. MIFARE é uma marca comercial da NXP Semiconductors. Jewel Topaz é uma marca comercial da Innovision Research & Technology. Todas as outras marcas comerciais são propriedade de seus respectivos proprietários.

Baixar ferramenta