1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CAN通信をラスパイのWiresharkでモニタする

Posted at

CAN通信をラズパイのWiresharkでモニタする方法です

:v:アピールポイント:v:

  • DockerのWiresharkコンテナを利用
  • Wiresharkコンテナを日本語表示で起動
  • CANのデータをISO-TP、UDSで解析

使用機器

手順

1. ラズパイにCANインタフェースボードを追加してCAN通信できるようにする

以下のページを参考にラズパイでCAN通信できるようにする

以下を実行し、can0インタフェースが有効な状態にしておく

$ sudo ip link set can0 up type can bitrate 500000

2. ラズパイにDockerをインストール

Docker公式の Install using the convenience scriptのぺージで紹介されている以下コマンドでDockerをインストール

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

また、sudoなしでDockerコマンド実行できるようにするため、以下ページを参考にしてDockerグループにユーザを追加

3. Wiresharkコンテナ起動

Docker Hubから linuxserver/wireshark のコンテナイメージをpull

docker pull lscr.io/linuxserver/wireshark

Wiresharkコンテナを日本語表示で起動

  • 日本語表示のためにLC_ALL,DOCKER_MODS,INSTALL_PACKAGESを設定
docker run -d \
  --name=wireshark \
  --net=host \
  --cap-add=NET_ADMIN \
  --security-opt seccomp=unconfined \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Tokyo \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /path/to/wireshark/config:/config \
  --restart unless-stopped \
  -e LC_ALL=ja_JP.UTF-8 \
  -e DOCKER_MODS=linuxserver/mods:universal-package-install \
  -e INSTALL_PACKAGES=font-noto-cjk \
  lscr.io/linuxserver/wireshark:latest

4. CAN通信をWiresharkでモニタ

ブラウザで http://{ラズパイのアドレス}:3000 にアクセスすると、Wiresharkの画面が表示される

  • Wireshark画面が表示可能となるまでに、コンテナ起動後 数分かかる場合がある

2025-02-11_01.png

5. CANデータをISO-TP、UDSで解析

  • ISO-TP: OSI参照モデルのネットワーク層、トランスポート層のプロトコルで、フレーム分割の制御などを行う。ISO 15765-2で定められている。
  • UDS: OSI参照モデルではアプリケーション層のプロトコル。診断通信プロトコル。ISO 14229-1で定められている。

Wiresharkの「分析」-「・・・としてデコード」で、以下の画面のように設定する
2025-02-11_02.png

UDSで解析するようにしておけば、OBD-Ⅱデータも自動解析される

  • 以下の画面例ではサポートPIDが表示されている

2025-02-11_03.png

複数フレームに分割されているデータも一つにまとめて、UDSデータとして表示される

  • 以下の画面例では3フレームのデータをまとめて、UDSのSecurity AccessのSeedが表示されている

2025-02-11_04.png

6. DockerのWiresharkコンテナを停止する

docker stop wireshark
docker rm wireshark

以上です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?