如何在边界路由器节点获取数据包信息?
How to get packet info at Border Router Node?
我已经通过边界路由器节点进行了 udp-server 和 udp-client 通信。它能够从客户端到服务器进行通信。
我在如何获取数据包信息方面遇到困难,例如...源 IP、边界路由器节点的目标 IP?我可以在服务器节点获取它,但如何在边界路由器节点获取同样的东西?
当路由器接收到数据包时,数据包由函数 tcpip_ipv6_output
路由到文件 tcpip.c
。您可以通过将 DEBUG
宏设置为 DEBUG_PRINT
.
来激活此文件的 PRINTF
在此函数中,您可以使用UIP_IP_BUF->destipaddr
和UIP_IP_BUF->srcipaddr
获取源地址和目标地址。检查,例如,何时在路由 table :
中查找到目的地的路由
uip_ds6_route_t *route;
/* Check if we have a route to the destination address. */
route = uip_ds6_route_lookup(&UIP_IP_BUF->destipaddr);
我已经通过边界路由器节点进行了 udp-server 和 udp-client 通信。它能够从客户端到服务器进行通信。
我在如何获取数据包信息方面遇到困难,例如...源 IP、边界路由器节点的目标 IP?我可以在服务器节点获取它,但如何在边界路由器节点获取同样的东西?
当路由器接收到数据包时,数据包由函数 tcpip_ipv6_output
路由到文件 tcpip.c
。您可以通过将 DEBUG
宏设置为 DEBUG_PRINT
.
在此函数中,您可以使用UIP_IP_BUF->destipaddr
和UIP_IP_BUF->srcipaddr
获取源地址和目标地址。检查,例如,何时在路由 table :
uip_ds6_route_t *route;
/* Check if we have a route to the destination address. */
route = uip_ds6_route_lookup(&UIP_IP_BUF->destipaddr);