CAN bus sniffer.

Simple CAN bus sniffer.
Purposed for the following chain: FTDI232H <-> MCP2515.
Tested on Linux 4.14.41 (Debian sid)

Prerequisites:
	libmpsse-1.3 via https://code.google.com/archive/p/libmpsse/downloads
	libftdi1-1.4 via https://www.intra2net.com/en/developer/libftdi/repository.php
	libusb-1.0   via https://libusb.info/

Avaliable binaries:
	sniff -- dynamically linked against mentioned libraries
	sniff.static -- statically linked executable

Usage:

Prints received frames to STDOUT, sends to net frames gotten from STDIN.
Options:

        --can_bitrate Hz        required CAN bus speed
        --can_osc Hz            CAN clock oscillator frequency in fact
decimal modifiers 'k' and 'M' are allowed

        --promiscuous [01]      a given RX buffer is to receive all frames
        --rollover              rollover mode for RX buffer 0
        --mask [01]:sid-eid     acceptance mask for a mentioned RX buffer
        --filter [012345]:sid-eid       acceptance filter

filters 0 and 1 are purposed for RX buffer 0 and the others for RX buffer 1
        mask and filters format: n:sid-eid
        where:
        num     number of mask or filter
        sid     Standard identifier of mask/filter
        eid     enhanced identifier of mask/filter
Omitted eid (if any) will be zeroed.

        --sniff                 listen-only mode
        --showraw               print out frames received/to be sent in hex

Allowed frame to be sent format:
sid:paiload[0...i]
sid-eid:paiload[0...i]
        where i must be less than 8

For more detailed explanation of the mentioned options please read the MCP2515 
CAN bus interface chip datasheet:
http://ww1.microchip.com/downloads/en/DeviceDoc/20001801H.pdf
