我需要将Contiki OS 2.7上每个传入数据包(数据,路由,ICMP,...)的内容打印到串口进行调试。
我发现packetbuf_dataptr()
的函数/core/net/packetbuf.c
指向入站数据包的标头。但我不确定这是否是获取字节数的最佳方式,而且我不知道如何使用它?
答案 0 :(得分:0)
此代码应该有效:
uint16_t i;
uint16_t len = packetbuf_datalen();
for(i = 0; i < len; i++) {
printf("%02x ", ((uint8_t *)packetbuf_dataptr())[i]);
}
查看examples/sensniff/
的IEEE 802.15.4数据包嗅探器应用程序,它只打印出所有收到的帧。如果您愿意,可以将Sensniff与Wireshark集成在PC端运行。