PCSC-SPY(1) | PC/SC lite | PCSC-SPY(1) |
NAME¶
pcsc-spy - A PC/SC spy command
SYNOPSIS¶
pcsc-spy [-n|--nocolor] [-d|--diffable] [-h|--help] [-v|--version] [-t|--thread] [fifo_filename]
DESCRIPTION¶
pcsc-spy displays PC/SC calls of an application. It must be used with the libpcscspy.so library.
To be able to spy the PC/SC layer, the application flow must be modified so that all PC/SC calls are redirected. Two options are available:
OPTIONS¶
- -d, --diffable
- Remove the variable parts (like handler values) from the output so that two execution can be more easily compared.
- -h, --help
- Display a short help text.
- -n, --nocolor
- Disable the output colorization (if you want redirect the output in a file for example).
- -v, --version
- Print the version of the pcsc-spy program plus a copyright, a list of authors.
- -t, --thread
- Add a thread number before each line of log to identify the calls from the same threads.
EXAMPLES¶
Applications linked with libpcsclite.so.1¶
We will use the standard "LD_PRELOAD" loader option to load our spying library.
Example:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libpcscspy.so pcsc_scan
Application loading libpcsclite.so.1¶
This is the case for the PC/SC wrappers like pyscard (for Python) and pcsc-perl (for Perl). The LD_PRELOAD mechanism can't be used. Instead we replace the libpcsclite.so.1 library by the spying one.
You may use install_spy.sh and uninstall_spy.sh to install and uninstall the spying library.
Using the spying library without pcsc-spy is not a problem but has side effects:
- a line "libpcsclite_nospy.so.1: cannot open shared object file: No such file or directory" will be displayed
- some CPU time will be lost because of the PC/SC calls redirection
Starting the spy tool¶
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.
FILES¶
~/pcsc-spy FIFO file is used by libpcsclite.so.1 to send the raw log lines
SEE ALSO¶
AUTHOR¶
This manual page was written by Ludovic Rousseau <rousseau@free.fr>
2021-05-23 | pcsc-lite 1.9.5 |