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

时间:2017-11-25 23:47:48

标签: c networking

当我使用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

1 个答案:

答案 0 :(得分:0)

尝试

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