在C中打印出来源和目的地以太网地址



当我使用Ether_ntoa时,它会用第一个和源源打印出地址(因为前6个字节用于目标)。如何扭转此订单?这是我打印输出的代码:

 printf("%s",ether_ntoa((struct ether_addr*)packet_data)); //want to print source
 printf(" -> ");
 printf("%s n",ether_ntoa((struct ether_addr*)packet_data)); //want to print destination

尝试

printf("%sn", ether_ntoa((struct ether_addr*) packet_data)); // prints source
printf("%sn", ether_ntoa((struct ether_addr*) ((char*) packet_data) + 6))); // prints destination

最新更新