nfc-relay-picc(1) NFC Utilities nfc-relay-picc(1)

nfc-relay-picc - Relay demonstration tool for ISO14443-4

nfc-relay-picc

nfc-relay-picc

This tool requires two NFC devices. One device (configured as target) will emulate an ISO/IEC 14443-4 type A tag, while the second device (configured as initiator) will act as a reader. The genuine tag can be placed on the second device (initiator) and the tag emulator (target) can be placed close to the original reader. All communication is now relayed and shown in the screen on real-time.

tag <---> initiator (relay) <---> target (relay) <---> original reader

-h
Help
List options

-q
Quiet mode
Suppress printing of relayed data (improves timing)

-t
Target mode only (to be used on reader side)
Commands are sent to file descriptor 4
Responses are read from file descriptor 3

-i
Initiator mode only (to be used on tag side)
Commands are read from file descriptor 3
Responses are sent to file descriptor 4

-s
Swap roles of found devices
Usually the first found device is used as target (emulator) and the second
as initiator (reader). Using this option these roles are inversed.

-n N
Adds a waiting time of N seconds (integer) in the loop

Basic usage:


nfc-relay-picc

Remote relay over TCP/IP:


socat
TCP-LISTEN:port,reuseaddr
"EXEC:nfc-relay-picc -i,fdin=3,fdout=4"
socat
TCP:remotehost:port
"EXEC:nfc-relay-picc -t,fdin=3,fdout=4"

There are some differences with nfc-relay:

This example only works with PN532 because it relies on its internal handling of ISO14443-4 specificities.

Thanks to this internal handling & injection of WTX frames, this example works on readers very strict on timing.

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

This manual page is licensed under the terms of the GNU GPL (version 2 or later).

October 12, 2010 libnfc