我有一个工业IP摄像机,我想用一个微控制器读取它的图像,但是该摄像机只能从运行其驱动程序/固件的计算机上操作。

我使用WireShark访问UDP程序包,但消息似乎已加密(或者至少我对它们没有任何意义),而且我真的不知道如何继续解密控件要求。

我真的很感谢任何有关如何进行操作的想法,提示或一般性评论。

在初始化和捕获。 (正在从凸轮获取帧,但是WireShark和Windows在LAN上存在此问题)。

这是相机发送到不支持的设备的帧之一。 **之间的两个数据字节顺序更改,其余(数据)保持不变。

0000   ff ff ff ff ff ff 00 1b a2 12 c6 b4 08 00 45 00  ..............E.
0010   01 1c 00 01 00 00 80 11 8f d1 a9 fe 00 01 ff ff  ................
0020   ff ff c3 52 c3 52 01 08 5e 5e 71 00 e0 00*01*00  ...R.R..^^q.....
0030   f8 00 34 30 30 32 39 32 32 30 35 31 00 00 84 01  ..4002922051....
0040   13 00 20 00 00 00 0a 00 04 01 00 00 00 00 05 21  .. ............!
0050   00 00 02 0a 00 00*cc*01 e8 03 00 1b a2 12 c6 b4  ................
0060   ff ff a9 fe 00 01 ff ff 00 00 00 00 00 00 a9 fe  ................
0070   00 01 ff ff 00 00 00 00 00 00 00 00 00 00 00 00  ................
0080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0090   00 00 00 00 00 00 00 00 00 12 c6 b4 00 00 19 01  ................
00a0   01 01 00 00 00 00 00 00 00 00 11 00 03 01 01 00  ................
00b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00c0   00 00 00 00 00 00 00 00 00 00 e8 03 05 00 00 00  ................
00d0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00e0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00f0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0100   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0110   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0120   00 00 00 00 00 00 00 00 00 00                    ..........


编辑:我在最后几个小时中“做作业”,并认为,由于我只想阅读其图像,因此解密可能有点过头了。重播攻击是否也可以解决问题?

评论

您能攻击有问题的数据包吗?否则,看起来很徒劳。

你是说进攻还是依恋?而且,如果您所说的是攻击,是指ARP欺骗和重播攻击之类的网络攻击吗?原因就是我一直在尝试做的事情。

进攻当然!数据必须被吸收,抵抗是徒劳的……尽管这是我的错别字,但实际上我只是人类:-/所以是的,只要附上它,让一些计算机头脑来查看它;

#1 楼

只有一种解决方案始终有效。

查看代码。

,即,拆卸固件并找到发送或接收数据包的代码。对于许多嵌入式解决方案而言,通常并不是很困难-它们往往带有未剥开的符号和大量的调试输出,这将帮助您找到必要的位置。推断出使用的加密和密钥,但这通常需要更多的经验和精力。

评论


猜猜这是一个简单明了的答案。谢谢,祝我好运!

– McMa
13年10月10日在7:43

#2 楼

我从来没有仔细分析过IP摄像机的专有协议,但是这些年来,我已经逆转了很多协议。帮助你。仅仅阅读您所写的内容,我的直觉就是顺序价值实际上就是这样。协议中使用的顺序值来对帧进行排序,特别是因为它们是通过UDP发送的。加上最小的数据包大小,我认为您已经有了填充。

接下来,是一个问题。嗅探时,镜头前发生了什么?如果我正在实现这种类型的协议,我将定期发送关键帧,其中散布着大量的编码“差异”帧。我会捕获什么都没有发生的数据包,然后将其与在镜头前挥动您的手时捕获的数据包进行比较。我强烈怀疑与和平场景相比,挥舞双手会给您带来更多的工作。我也希望关键帧会大很多,但是我敢肯定您已经在关注它了!

评论


好了,这是计算机在初始化和捕获期间发送给相机的一些程序包。目前,这是我最感兴趣的计算机的答案。如果您认为cam的答案很重要,我会寻找一种包含它的方法(WireShark无法在Windows:/下读取传入的VLAN连接)。再次感谢!

– McMa
13年7月17日在7:52



最初,您曾说过要解码并显示图片。这将需要分析来自摄像机的数据包。说您对来自计算机的数据包最感兴趣,这使我认为您正在尝试做一些非常不同的事情。

– David Hoelzer
13年7月17日在12:29

是的,如果我不清楚,抱歉。我的目标是使用不受支持的设备获取图像。一方面,我需要对摄像机发送的图像进行解码,但是首先我需要弄清楚计算机发送的控制序列,以便能够初始化摄像机并告诉它首先将图像发送给我。 。所以两者都有...

– McMa
13年7月17日在13:08

将数据包从计算机捕获到相机。在分析它们之后,使用Scapy重新创建它们,然后开始修改字段以查看会发生什么。

– David Hoelzer
13年7月19日在17:24