#include <iostream>
#include<sys/types.h>
#include<sys/socket.h>
#include<unistd.h>
#include<string.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<netinet/in.h>
#include<ifaddrs.h>
using namespace std;
//通过枚举网口
void test2()
{
struct ifaddrs *IfAddrStruct= NULL; //存放
void*tmpIfAddrStruct=NULL; //临时存放获取到的ip地址,用于后面转换为点分十进制,例如192.168.1.1这种格式
getifaddrs(&IfAddrStruct); //获取网络信息,参数为传出参数
while(IfAddrStruct !=NULL)//获取到的网络信息不为空
{
//ipv4
if(IfAddrStruct->ifa_addr->sa_family == AF_INET)
{
tmpIfAddrStruct = &((struct sockaddr_in*)IfAddrStruct->ifa_addr)->sin_addr;
char readbuf[INET_ADDRSTRLEN];
char mask[64];
cha