我使用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/这里尝试了这个解决方案,但我面临着同样的问题(有许多重传和重复的数据包)。
发布于 2020-04-16 01:39:09
您不能这样做,Contiki-NG MAC协议没有promiscious模式。寻址到其他节点的分组在CSMA级别被过滤掉,即使无线电接收到它们。
实现嗅探器的方法是直接使用NETSTACK_RADIO,制作自己的MAC,或者破解CSMA MAC的input_packet功能。
https://stackoverflow.com/questions/61234055
复制相似问题