C++ 获取主机的主Mac地址和IP-c++;

C++ 获取主机的主Mac地址和IP-c++;,c++,network-programming,C++,Network Programming,目前,我已经得到了所有mac地址和ip地址的列表,acn可以在我的主机上找到。这些信息还包括虚拟机的网络信息。我正在使用中的第三个选项。但是,它会返回看到的mac地址和ip地址的完整列表。有没有办法让我只使用ip地址?示例场景是ping服务器时使用的IP地址和mac地址。我唯一能想到的方法是跟踪路线,但我不知道如何在C++中完成。任何帮助都可以。谢谢 实际上,任何返回的接口都可能是您可以使用的接口。 所以,您将使用一个接口发送到特定的目标地址,对于其他目标地址,您将使用另一个接口 然后,您需要读

目前,我已经得到了所有mac地址和ip地址的列表,acn可以在我的主机上找到。这些信息还包括虚拟机的网络信息。我正在使用中的第三个选项。但是,它会返回看到的mac地址和ip地址的完整列表。有没有办法让我只使用ip地址?示例场景是ping服务器时使用的IP地址和mac地址。我唯一能想到的方法是跟踪路线,但我不知道如何在C++中完成。任何帮助都可以。谢谢

实际上,任何返回的接口都可能是您可以使用的接口。 所以,您将使用一个接口发送到特定的目标地址,对于其他目标地址,您将使用另一个接口

然后,您需要读取路由表,根据目标地址确定实际发送数据报的接口

要做到这一点,我将遵循以下方向之一:

  • 从iptables获取路由:据说没有编程API,但可以使用shell命令
  • 使用获取路由表

    int sockfd=套接字(AF_路由,SOCK_原始,0)

  • 使用获取路由表

获得路由表后,您需要解释路由,并找出传出数据报将用于Internet或其他IP地址的接口