nfc-relay-picc(1)

πŸ’– nfc-relay-picc β€” the relay demo tool bestie πŸ’–

okay so this is nfc-relay-picc, part of the NFC Utilities lineup, and it's the relay demonstration tool for ISO14443-4 ✨ literally what it says on the tin, no cap.


✨ SYNOPSIS ✨

nfc-relay-picc

that's it. that's the whole thing. no args, no drama, just vibes πŸŽ€


🌸 DESCRIPTION 🌸

so nfc-relay-picc is the icon, the moment, the main character πŸ‘‘

this tool needs two NFC devices, bestie. not one. two. one device gets configured as the target and it will emulate an ISO/IEC 14443-4 type A tag, while the second device gets configured as the initiator and acts as a reader πŸ“–βœ¨

the genuine tag gets placed on the second device (the initiator), and the tag emulator (the target) gets placed close to the original reader. and then?? all communication is relayed and shown on the screen in real-time πŸ’…

here's the lil chain of custody, look at her go:

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

it's giving middle-man but make it legal and useful πŸ¦‹


πŸŽ€ OPTIONS πŸŽ€

  • -h β€” Help. lists the options for u 🫢
  • -q β€” Quiet mode. suppresses printing of the relayed data, which improves timing ⏱️ (yes bestie, silence really is golden here)
  • -t β€” Target mode only (use this one on the reader side). commands are sent to file descriptor 4, responses are read from file descriptor 3 πŸ“₯
  • -i β€” Initiator mode only (use this one on the tag side). commands are read from file descriptor 3, responses are sent to file descriptor 4 πŸ“€
  • -s β€” Swap roles of the found devices. usually the first found device is used as target (emulator) and the second as initiator (reader). using this option, those roles are inversed πŸ”„
  • -n N β€” adds a waiting time of N seconds (integer) in the loop ⏳

🌈 EXAMPLES 🌈

basic usage, the classic, the blueprint:

nfc-relay-picc

remote relay over TCP/IP, i.e. when u wanna be extra long-distance about it πŸ“‘:

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"

πŸ’œ NOTES πŸ’œ

there are some differences with nfc-relay, just so u know πŸ‘€

this example only works with PN532, because it relies on its internal handling of ISO14443-4 specificities. that's the whole reason it goes, fr fr.

and thanks to that internal handling & injection of WTX frames, this example works on readers that are very strict on timing β€” like, the picky ones. the ones that will absolutely clock u. and it still eats πŸ”₯


πŸ’€ BUGS πŸ’€

found a bug? please report any bugs on the libnfc issue tracker at:

https://github.com/nfc-tools/libnfc/issues

don't be shy bestie, they wanna know πŸ™ˆ


πŸ‘‘ LICENCE πŸ‘‘

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.

libnfc-utils and libnfc-examples are covered by the BSD 2-Clause license (yes, the original says "the the", we're keeping the facts exactly as they are πŸ’…).

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


and that's the whole page, bestie 🫢 this came to u from libnfc, dated October 12, 2010 β€” an absolute classic, still iconic, still slaying πŸŒŸπŸŽ€βœ¨