Добро пожаловать обратно, мои начинающие автомобильные хакеры!
Теперь, когда мы изложили основы самого распространённого протокола, используемого в автомобилях, Controller Area Network (CAN) , мы можем приступить к установке CAN-utils . CAN-utils — это набор утилит для Linux, позволяющий Linux взаимодействовать с CAN-сетью автомобиля. Таким образом, мы можем прослушивать, подделывать и создавать собственные CAN-пакеты для взлома автомобиля!
Что такое CAN-utils?
CAN — это сетевой протокол на основе сообщений, разработанный для транспортных средств. Первоначально разработан компанией Robert Bosch GmbH, той же компанией, которая разработала протокол CAN. Кроме того, SocketCAN — это набор драйверов CAN с открытым исходным кодом и сетевой стек, предоставленный Volkswagen Research для ядра Linux.
Шаг №1: Установка CAN-утилитов
Если вы используете Kali или другие репозитории на базе Debian, вы можете загрузить и установить can-utils с помощью apt-get.
kali > apt-get install can-utils
Если вы не используете репозиторий Kali или любой другой репозиторий без can-utils, вы всегда можете загрузить can-utils с github.com с помощью команды git clone .
kali > git clone https://github.com/linux-can/can-utils
Основы CAN-utils
Утилиты CAN — это инструменты для работы с CAN-коммуникациями в автомобиле, доступные в операционной системе Linux. Эти инструменты можно разделить на несколько функциональных групп:
1. Базовые инструменты для отображения, записи, создания и воспроизведения трафика.
2. Доступ CAN через IP-сокеты
3. Конфигурация шлюза CAN в ядре
4. Измерение CAN-шины
5. Инструменты ISO-TP
6. Конвертеры лог-файлов
7. Конфигурация дисциплины последовательной линии (SLC)
Вначале мы рассмотрим только основные инструменты и конвертеры файлов журналов.
Полный список инструментов can-utils и их функциональных возможностей смотрите в таблице ниже.
1. Базовые инструменты для отображения, записи, генерации и воспроизведения CAN-трафика
Настройка виртуальной сети CAN
В следующей статье этой серии мы рассмотрим подключение к CAN-сети вашего автомобиля с помощью различных устройств. Они стоят относительно недорого (10–20 долларов), и я настоятельно рекомендую вам приобрести их, если вы хотите освоить автомобильный хакинг. Если вы не можете или не хотите приобретать одно из этих устройств, вы всегда можете настроить виртуальную CAN-сеть.
Настроить виртуальную CAN-сеть;
сначала загрузите модуль vcan (виртуальный CAN);
kali > modprobe vcan
Затем настройте свой виртуальный интерфейс
;
kali > ip link add dev can0 type vcan
kali > настройка ip-соединения vcan0
После настройки нашего виртуального CAN-соединения (vcan0) мы можем проверить его работоспособность с помощью команды ifconfig , как и для любого другого интерфейса в Linux.
kali > ifconfig vcan0
Теперь мы готовы начать работу с CAN-коммуникациями. Осталось только подключить нашу операционную систему Linux к автомобилю. Для этого существует множество устройств, способов и типов подключения. Мы рассмотрим некоторые из них в следующей статье этой серии, так что заходите ещё.
Теперь, когда мы изложили основы самого распространённого протокола, используемого в автомобилях, Controller Area Network (CAN) , мы можем приступить к установке CAN-utils . CAN-utils — это набор утилит для Linux, позволяющий Linux взаимодействовать с CAN-сетью автомобиля. Таким образом, мы можем прослушивать, подделывать и создавать собственные CAN-пакеты для взлома автомобиля!
Что такое CAN-utils?
CAN — это сетевой протокол на основе сообщений, разработанный для транспортных средств. Первоначально разработан компанией Robert Bosch GmbH, той же компанией, которая разработала протокол CAN. Кроме того, SocketCAN — это набор драйверов CAN с открытым исходным кодом и сетевой стек, предоставленный Volkswagen Research для ядра Linux.
Шаг №1: Установка CAN-утилитов
Если вы используете Kali или другие репозитории на базе Debian, вы можете загрузить и установить can-utils с помощью apt-get.
kali > apt-get install can-utils
Если вы не используете репозиторий Kali или любой другой репозиторий без can-utils, вы всегда можете загрузить can-utils с github.com с помощью команды git clone .
kali > git clone https://github.com/linux-can/can-utils
Основы CAN-utils
Утилиты CAN — это инструменты для работы с CAN-коммуникациями в автомобиле, доступные в операционной системе Linux. Эти инструменты можно разделить на несколько функциональных групп:
1. Базовые инструменты для отображения, записи, создания и воспроизведения трафика.
2. Доступ CAN через IP-сокеты
3. Конфигурация шлюза CAN в ядре
4. Измерение CAN-шины
5. Инструменты ISO-TP
6. Конвертеры лог-файлов
7. Конфигурация дисциплины последовательной линии (SLC)
Вначале мы рассмотрим только основные инструменты и конвертеры файлов журналов.
Полный список инструментов can-utils и их функциональных возможностей смотрите в таблице ниже.
1. Базовые инструменты для отображения, записи, генерации и воспроизведения CAN-трафика
- candump : отображение, фильтрация и запись данных CAN в файлы
- canplayer : воспроизведение лог-файлов CAN
- cansend : отправить один кадр
- cangen : генерация (случайного) CAN-трафика
- cansniffer : отображает различия в содержании данных CAN (только 11-битные идентификаторы CAN)
- canlogserver : регистрирует CAN-кадры с удаленного/локального хоста
- bcmserver : интерактивная настройка BCM (удалённая/локальная)
- socketcand : использовать сокеты RAW/BCM/ISO-TP через сокеты TCP/IP
- cangw : инструмент пользовательского пространства шлюза CAN для настройки NetLink
- canbusload : рассчитать и отобразить нагрузку на шину CAN
- can-calc-bit-timing : версия вычисления битрейта в ядре для пользовательского пространства
- canfdtest : полнодуплексная тестовая программа (DUT и хост-часть)
- isotpsend : отправка одного ISO-TP PDU
- isotprecv : получение PDU ISO-TP
- isotpsniffer : «прослушивание» ISO-TP PDU
- isotpdump : «прослушивание» и интерпретация сообщений CAN (CAN_RAW)
- isotpserver : IP-сервер для простого моста TCP/IP <-> ISO 15765-2 (ASCII HEX)
- isotpperf : визуализация производительности протокола ISO15765-2
- isotptun : создание двунаправленного IP-туннеля на CAN через ISO-TP
- asc2log : преобразование файла журнала ASC в компактный файл журнала CAN-фрейма
- log2asc : преобразование компактного файла журнала CAN-фрейма в файл журнала ASC
- log2long : преобразование компактного представления CAN-кадра в удобочитаемое пользователем представление
- slcan_attach : инструмент пользовательского пространства для настройки последовательного интерфейса CAN
- slcand : демон для настройки последовательного интерфейса CAN
- slcanpty : создает pty для приложений, использующих протокол slcan ASCII
Настройка виртуальной сети CAN
В следующей статье этой серии мы рассмотрим подключение к CAN-сети вашего автомобиля с помощью различных устройств. Они стоят относительно недорого (10–20 долларов), и я настоятельно рекомендую вам приобрести их, если вы хотите освоить автомобильный хакинг. Если вы не можете или не хотите приобретать одно из этих устройств, вы всегда можете настроить виртуальную CAN-сеть.
Настроить виртуальную CAN-сеть;
сначала загрузите модуль vcan (виртуальный CAN);
kali > modprobe vcan
Затем настройте свой виртуальный интерфейс
;
kali > ip link add dev can0 type vcan
kali > настройка ip-соединения vcan0
После настройки нашего виртуального CAN-соединения (vcan0) мы можем проверить его работоспособность с помощью команды ifconfig , как и для любого другого интерфейса в Linux.
kali > ifconfig vcan0
Теперь мы готовы начать работу с CAN-коммуникациями. Осталось только подключить нашу операционную систему Linux к автомобилю. Для этого существует множество устройств, способов и типов подключения. Мы рассмотрим некоторые из них в следующей статье этой серии, так что заходите ещё.