当前位置: 首页 > 知识库问答 >
问题:

如何在Contiki无意中听到邻居mote Tx/Rx?

谷梁存
2023-03-14

我想知道在RPL网络中,一个节点将一个数据包发送到另一个节点(例如RPL Collect/udp sender)后,如何知道目标节点是否会转发此数据包?我认为偷听邻居的传输是必要的,但在Contiki/Cooja实现这种场景的另一种简单方法是吗?

共有1个答案

壤驷喜
2023-03-14

要在正常操作之外偷听数据包,您需要执行以下几项操作:

>

  • 确保无线电已打开并处于正确的频道。如果您使用的是始终在线的CSMA或ContikiMAC,您不需要做任何特别的事情。TSCH最小调度也是如此。否则对于TSCH,您需要在正确的信道偏移量和正确的时隙中调度一个Rx信元。

    以某种方式侵入MAC层,打印或记录未发送给您的数据包-通常MAC层会自动丢弃这些数据包。

    确保硬件帧过滤已关闭(无线电处于混杂模式)。

    例子:

    radio_value_t radio_rx_mode;
    /* Entering promiscuous mode so that the radio accepts all frames */
    NETSTACK_RADIO.get_value(RADIO_PARAM_RX_MODE, &radio_rx_mode);
    NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE, radio_rx_mode & (~RADIO_RX_MODE_ADDRESS_FILTER));
    

    如果你只需要偷听数据包而不需要正常操作的话,事情就简单多了。你可以使用SenSniff。

  •  类似资料:
    • 我实际上正在开发contiki os,我想在不使用rpl的情况下建立一个ipv6网络。我的问题是如何在我的无线电范围内发现邻居。我正在寻找6条LOWPAN nd RA/RS/NA/NS信息,但我不知道如何使其发挥作用。我希望我的节点从其中一个路由器获得前缀,然后将udp数据包发送给我的邻居。 提前感谢。

    • 我正在尝试使用jgraph T解决一个链接预测问题。我正在根据两个节点的邻居计算两个节点之间的相似性。每个节点都有一些属性。计算变得太多了,因为一些节点有大约700个邻居,而我有4500个这样的节点。我有谁对的700K边,我计算相似性。 现在,我不想使用节点的所有邻居,我只想使用每个节点的k个最近邻居来计算一对节点之间的相似度。我可以根据边共享的两个节点的属性数,或节点之间长度为n的最短路径数等,

    • 问题内容: 我编写了以下HTML,试图将两个div彼此居中。 但是,我编写的代码导致两个div一直向左浮动。正确执行的操作是并排浮动两个div。 我需要更改以使两个div并排居中吗? 问题答案: 您将必须自动为包装div设置边距,并可能设置一个特定的宽度 在您的CSS中:

    • 问题内容: 我想根据某些条件选择一些行,然后从该集合中获取一个条目,并在其前后输入5行。 现在,如果表上有一个主键,我可以用数字方式执行此操作(例如,在数字上,主键比目标行的键小5,而目标行的键的数字多5)。 因此,选择主键为7的行以及附近的行: 但是,如果我仅选择某些行作为开始,则会丢失使用主键的数字方法(并且假设键无论如何在顺序上都没有任何间隙),并且需要另一种方法来获取之前和之后的最接近的行

    • 问题内容: 是否有一种简单的方法来查找二维数组中某个元素的邻居(即,元素周围的八个元素)?缺少只是以不同的组合减去和增加索引,像这样: … 等等。 问题答案: (伪代码) 当然,这几乎要花费原始硬编码解决方案的许多行,但是通过这一解决方案,您可以最大程度地扩展“邻居”(2-3个或更多单元格)

    • 是否可以使用邻居缓存中的链接地址从udp客户端节点向邻居发送自定义数据包?我正在寻找一种避免发送icmpv6数据包的方法,因为它将到达根目录,然后根目录将其发送到目标目录。我看到Contiki启用了mesh拓扑,所以应该可以直接向邻居发送数据包,而无需将数据包转发给父级。我将非常感谢您在这方面的任何帮助!