006
11.12.2003, 13:45 Uhr
~centrino
Gast
|
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
C++: |
#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
|
2. Die bandbreite:
C++: |
#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[i]; if (devptr->ifr_addr.sa_family != AF_INET) continue; if (ioctl(sd,SIOCGIFFLAGS,devptr) < 0) { fprintf(stderr,"Error: Unable to get device interface flags.\n"); 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 \n", 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("\n"); printf("IP addr: %s\n", inet_ntoa(infs_addr)); printf("metric: %d \n", devptr->ifr_name); printf("mtu: %d \n", devptr->ifr_mtu); printf("newname: %d \n",inet_ntoa(devptr->ifr_hwaddr)); printf("bandwith: %d \n", devptr->ifr_bandwidth); printf("\n \n"); } } }
|
Bearbeitung von Pablo: |
ICH MACH JA KEINE WITZE: BITTE CPP TAGS SELBER BENUTZEN
|
Dieser Post wurde am 11.12.2003 um 14:31 Uhr von Pablo Yanez Trujillo editiert. |