I have a bunch of smartcards. I going to build a sniffer device that communicate with COM port to do MITM attack just for fun and for testing and upgrading my knowledge in this field.
I appreciate if anybody shed any light for me in this issue.
0- Is the communication between the contact cards and reader synchronous or it is asynchronous?
1- How I can understand with frequency and with transmission-type (synchronous or it is asynchronous) my card use?
2- Is the communication in a fixed data transfer rate or different cards communicate in different bit frequency?
3- does the COM port can read all the frequencies or it have some specific frequency to work with?
4- How the computer understand the begining and the end of a session? (How it understand it should start capturing the line or stop)
So, Putting my comments into an (actual) answer:
Contact Cards and reader can be both synchronous and asynchronous. I'm pretty sure it depends on the card :P
Serial Ports can be set to read from different Baud rates. This includes:
110, 150, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600
Com Ports can be 'tuned in' to read these baud rates, and can be demonstrated in multiple Serial Port sniffers available (Teraterm, SerialPortMonitor, Portmon are all easily available serial port sniffers).
Using something like asciitable.com can show you different ways a message sent through a serial port can start/end, and is very useful when seeing a 'strange' or deciphering an 'unexpected' value to see what it is.
A great document is: http://www.codeproject.com/Articles/678025/Serial-Comms-in-Csharp-for-Beginners which explains the common features in serial port communication.