There are open-source dongles available to connect CAN networks to USB. Such hardware is even suitable for industrial applications.
The CANable dongle is currently available for sale on the Protofusion store. It supports CAN bit-rates of up to 1 Mbit/s. The product comes with an open-source SocketCAN driver software. It features a Micro-USB connector and a 4-pin screw terminal with CAN_H, CAN_L, 5-V supply, and ground. The CANable device is a hardware clone of Eric Evenchick's CANtact project, an open-source USB-to-CAN hardware adapter. “I took his design and reworked the hardware to be a bit more suitable for my personal needs, with a screw terminal instead of a 9-pin Dsub connector and a much smaller PCB,” said the CANable developer.
On Linux the dongle works natively with slcand, so you can use the can-utils command-line utilities and even Wireshark to interact with the bus. On Windows and Mac, the interface module works with cantact-app. This is a Java application that shows CAN traffic in real-time and allows you to transmit CAN frames on the bus. For more flexibility, the canard library allows you to directly talk to the CAN network from Python scripts.
USBtin is a simple open-source USB-to-CAN interface. It can monitor the CAN traffic up to 1 Mbit/s. Thomas Fischl is the designer of the dongle hardware. It provides a 120-Ω termination resistor to be enabled by means of a jumper. The dongle comes with boot-loader for firmware updates. Open-source software drivers (SocketCAN) and a Java library is available, too. The CAN interface feature listen-only and active modes. One users connected the dongle to a network with B&R controller for trouble-shooting. The CAN networked controller is used on a sea platform for charging a large bank of batteries. Another user analyses the CAN network connecting Stiebel Eltron WPF 10 heat pump controller. The Fast Forest Formula Student team selected the open-source dongle in its racing cars.