PCSC-SPY(1) PC/SC lite PCSC-SPY(1)

pcsc-spy - A PC/SC spy command

pcsc-spy [-n|--nocolor] [-d|--diffable] [-h|--help] [-v|--version] [-t|--thread] [fifo_filename]

pcsc-spy displays PC/SC calls of an application. It must be used with the libpcscspy.so.0 library.

To be able to spy the PC/SC layer, the application flow must be modified using "LIBPCSCLITE_DELEGATE" so that all PC/SC calls are redirected.

Remove the variable parts (like handler values) from the output so that two execution can be more easily compared.
Display a short help text.
Disable the output colorization (if you want redirect the output in a file for example).
Print the version of the pcsc-spy program plus a copyright, a list of authors.
Add a thread number before each line of log to identify the calls from the same threads.

We will use the "LIBPCSCLITE_DELEGATE" environment variable to load our spying library.

Example:

sh /usr/share/doc/libpcsclite-dev/setup_spy.sh
export LIBPCSCLITE_DELEGATE=/lib/x86_64-linux-gnu/libpcscspy.so.0
LIBPCSCLITE_DELEGATE=/lib/x86_64-linux-gnu/libpcscspy.so.0 my_application

pcsc-spy

If a command argument is passed we use it instead of the default ~/pcsc-spy FIFO file. It is then possible to record an execution log and use pcsc-spy multiple times on the same log.

To create the log file just do:

mkfifo ~/pcsc-spy
cat ~/pcsc-spy > logfile

and run your PC/SC application.

~/pcsc-spy FIFO file is used by libpcscspy.so.0 to send the raw log lines

pcscd(8)

This manual page was written by Ludovic Rousseau <rousseau@free.fr>

2024-01-01 pcsc-lite 2.2.0