MAC und bandwidth ermitteln

Post Reply
Message
Author
centrino

MAC und bandwidth ermitteln

#1 Post by centrino »

Hi,

mit der for Schleife unten kann ich auf die Infos von den Netwerkkarten zugreifen,
aber es sind noch 2 Sachen die ich gern wissen will:

1. die Hardwareadrese
#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */



2. Die bandbreite:

#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */

wie kriege ich dies raus?

for (i = 0; i < numdevs; i++)
{
/* devptr points into an array of ifreq structs. */
devptr = &ifc_conf.ifc_req;

if (devptr->ifr_addr.sa_family != AF_INET)
continue;

if (ioctl(sd,SIOCGIFFLAGS,devptr) < 0)
{
fprintf(stderr,"Error: Unable to get device interface flags.
");
perror("ioctl");
close(sd);
return -1;
}

if ((devptr->ifr_flags & IFF_LOOPBACK) == 0)
{
if ((devptr->ifr_flags & IFF_UP) == !0)
{
printf("Active interface[%d]: %s
", i, devptr->ifr_name );
infs_addr.s_addr = ((struct sockaddr_in*)&devptr->ifr_addr)->sin_addr.s_addr;
//printf("Interface long int addr: %d", infc_addr.s_addr);
//printf("
");
printf("IP addr: %s
", inet_ntoa(infs_addr));
printf("metric: %d
", devptr->ifr_name);
printf("mtu: %d
", devptr->ifr_mtu);
printf("newname: %d
",inet_ntoa(devptr->ifr_hwaddr));
printf("bandwith: %d
", devptr->ifr_bandwidth);
printf("

");
}
}
}

Post Reply