车联网安全入门 Part5

车联网安全
2022-01-21 06:16
37610

好久不见!我相信您已经阅读了之前的四篇文章,我们在其中讨论了OBD-II。在这篇文章中,我们将研究 can-utils。其中包含 Linux CAN 子系统的用户空间实用程序。我建议您在实时尝试命令的同时可以关注我们的公众号,以便掌握更多咨询。

介绍

在之前的文章中,我们讨论了CAN 总线协议。让我们考虑这样一个场景:我们有必要的硬件来嗅探总线。现在,我们只需要一个软件工具来帮助我们分析总线。其中一个这样的工具叫做can-utils。基本上can-utils更像一把瑞士军刀。

can-utils是一个命令行Linux实用程序,它包含基本工具,可以显示、记录、生成和重放can流量。除了这些基本操作,我们还可以计算总线负载,转换日志文件,它还包含ISO 15765-2:2016工具。

在本篇文章中,我们将研究这些工具,帮助我们分析CAN总线。

  • candump
  • cansniffer
  • canplayer
  • cangen
  • cansend

Can-utils

要在您的学习空间中安装 can-utils,请使用以下命令。

sudo apt-get install can-utils -y

在动手操作 can-utils 之前,让我们在 Linux 机器上创建一个虚拟罐网络。使用以下命令。

sudo modprobe can
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

注意:从现在开始我们将使用 vcan0,在进行测试时,您可以将其替换为您在设置时提供的网络名称。

Candump

它用于显示、过滤和记录CAN总线数据到文件中,它基本上是将在总线中流动的数据包转储到屏幕上。Candump有几个选项可以处理总线中的数据浮动。我们可以看到二进制模式和ASCII模式下的数据包数据,也可以通过颜色编码将不同总线上的数据包分开。当数据以二进制和ASCII格式显示时,我们可以使用以下命令对总线进行彩色编码。

candump –c -i –a vcan0

我们还可以使用 Candump 记录总线中的流量

Cansniffer

与 Candump 不同,Cansniffer 显示总线中当前出现的所有数据包。它有不同的选项来对特定 ID 中发生变化的位进行颜色编码。此外,我们可以在二进制模式和ASCII模式之间切换,使用“b ENTER”对正在更新的位进行颜色编码,我们可以在输入命令时使用“-c”或“c + ENTER”实时。

 cansniffer vcan0 
 Use “ c + ENTER ” to color code.
 Use “ b + ENTER ” to toglle between binary and ASCII outputs in live.

Cangen

它用于生成总线中的随机流量,还具有一些先进的功能,可以在毫秒内设置间隔、生成CAN-FD帧、发送带有RTR帧的can包等。

cangen vcan0

为了更好地理解canplayer和cansend,我将使用ICsim。ICsim是一个很好的工具,可以在总线级别上练习汽车黑客攻击,并对攻击进行虚拟演示。

Canplayer

如上所述,我们可以将总线中的数据包记录到日志文件中。Canplayer帮助我们回放日志文件。同样的命令是

canplayer –I <*filename>

在这个过程中,我们将记录ICsim的信号指示包,并使用Canplayer重放它们。是的,我们对指示节点进行了重新部署攻击。

Cansend

使用cansend,我们可以发送CAN 2.0和CAN FD帧,这取决于我们分析的总线。命令是

 cansend vcan0 <ID>#<DATA>

最后,让我们使用can-utils转储、记录和播放ICsim的信号指示。

如果您浏览过这些工具帮助页或手册,您会发现许多选项可以根据您正在测试的总线来编写命令。

最后

我们希望这篇文章能让你轻松自如地使用can-utils。如果你读到这里了,说明你对汽车安全非常感兴趣。接下来,下一篇博文将解密历史上发生的一些著名的汽车黑客事件。

车联网课程:
https://ke.iotsec-zone.com/detail?course_id=11

参与评论

0 / 200

全部评论 2

Hacking_Hui的头像
学习了
2023-02-01 14:20
tracert的头像
前排学习
2022-09-17 01:30
投稿
签到
联系我们
关于我们