Contiki-ng:嗅探Cooja中的邻居数据包并像普通节点一样进行响应/发送

问题描述 投票:0回答:1

我使用udp-server和udp-client运行rpl-udp的示例。我想启用udp-client嗅探来自邻居节点的数据包,但同时允许它表现得像普通节点一样。那怎么可能?我添加了NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE,0),它禁用了RADIO_RX_MODE_ADDRESS_FILTER(使其为0),但是当我在Cooja(使用z1)中进行仿真时,节点不会嗅探所有数据包。另外,我收到很多重复的警告,如下所示:

00:57.609 ID:7 [WARN: CSMA] drop duplicate link layer packet from c10c.0000.0000.0004, seqno 114

还有其他标志允许嗅探所有数据包并减少重复的数据包吗?

感谢您的帮助!

编辑:我在这里https://sourceforge.net/p/contiki/mailman/message/34888182/尝试了此解决方案,但我遇到了同样的问题(有很多重传和重复的数据包)。

contiki cooja
1个回答
0
投票

您不能这样做,Contiki-NG MAC协议没有混杂模式。发送到其他节点的数据包会在CSMA级别被过滤掉,即使无线电收到了它们。

实现嗅探器的方法是直接与NETSTACK_RADIO一起使用,创建自己的MAC或破解CSMA MAC的input_packet功能。

© www.soinside.com 2019 - 2024. All rights reserved.