Giter VIP home page Giter VIP logo

canalyzat0r's Introduction

Alt text

This software project is a result of a Bachelor's thesis created at SCHUTZWERK in collaboration with Aalen University by Philipp Schmied.

Please refer to the corresponding blog post for more information.

Why another CAN tool?

  • Built from scratch with new ideas for analysis mechanisms
  • Bundles features of many other tools in one place
  • Modular and extensible: Read the docs and implement your own analysis mechanisms
  • Comfortable analysis using a GUI
  • Manage work in separate projects using a database
  • Documentation: Read the docs if you need a manual or technical info.

Installing and running:

  • Run sudo ./install_requirements.sh along with sudo -E ./CANalyzat0r.sh. This will create a folder called pipenv with a pipenv environment in it.
  • Or just use the docker version which is recommended at this time (Check the README.md file in the subdirectory)

For more information, read the HTML or PDF version of the documentation in the ./doc/build folder.

Features

  • Manage interface configuration (automatic loading of kernel modules, manage physical and virtual SocketCAN devices)
  • Multi interface support
  • Manage your work in projects. You can also import and export them in the human readable/editable JSON format
  • Logging of all actions
  • Graphical sniffing
  • Manage findings, dumps and known packets per project Alt text
  • Easy copy and paste between tabs. Also, you can just paste your SocketCAN files into a table that allows pasting Alt text
  • Threaded Sending, Fuzzing and Sniffing Alt text
  • Add multiple analyzing threads on the GUI
  • Ignore packets when sniffing - Automatically filter unique packets by ID or data and ID
  • Compare dumps
  • Allows setting up complex setups using only one window
  • Clean organization in tabs for each analysis task
  • Binary packet filtering with randomization
  • Search for action specific packets using background noise filtering Alt text
  • SQLite support
  • Fuzz and change the values on the fly

Testing It

You can use the Instrument Cluster Simulator in order to tinker with a virtual CAN bus without having to attach real CAN devices to your machine.

Troubleshooting

Empty GUI Windows

Please make sure that the QT_X11_NO_MITSHM environment variable is set to 1. When using sudo, please include the -E option in order to preserve this environment variable as follows: sudo -E ./CANalyzat0r.sh.

Fixing the GUI style

This application has to be run as superuser. Because of a missing configuration, the displayed style can be set to an unwanted value when the effective UID is 0. To fix this behaviour, follow these steps:

  • Quick way: Execute echo "[QT]\nstyle=CleanLooks" >> ~/.config/Trolltech.conf

  • Alternative way:

    • Install qt4-qtconfig: sudo apt-get install qt4-qtconfig
    • Run qtconfig-qt4 as superuser and change the GUI style to CleanLooks or GTK+
  • Or use the docker container

License

This project is licensed under the GPLv3.

canalyzat0r's People

Contributors

ps1337 avatar sw-mschaefer avatar sw-pschmied avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.