Linux下列舉系統中網絡卡的資訊

2021-05-24 08:55:44 字數 1501 閱讀 4225

現在需要在linux下編寫乙個千兆網相機的動態庫,需要些linux網路程式設計方面的知識,在網上查到乙個列舉多網絡卡資訊的例項,

摘抄下來.

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#ifdef solaris

#include

#endif

#define maxinte***ces   16

intmain (int argc,char **argv)

} else

/*jugde whether the net card status is up       */

if (buf[int***ce].ifr_flags & iff_up)

else

/*get ip of the net card */

if (!(ioctl (fd, siocgifaddr, (char *) &buf[int***ce])))

else

/* this section can't get hardware address,i don't know whether the reason is module driver*/

//          ((struct sockaddr_in*)&arp.arp_pa)->;sin_addr=((struct sockaddr_in*)(&buf[int***ce].ifr_addr))->sin_addr;

#ifdef solaris

arp.arp_pa.sa_family = af_inet;

arp.arp_ha.sa_family = af_inet;

((struct sockaddr_in*)&arp.arp_pa)->sin_addr.s_addr=((struct sockaddr_in*)(&buf[int***ce].ifr_addr))->sin_addr.s_addr;

if (!(ioctl (fd, siocgarp, (char *) &arp)))

#else

#if 0

/*get hw address of the net card */

if (!(ioctl (fd,  siocgenaddr, (char *) &buf[int***ce])))

#endif

if (!(ioctl (fd, siocgifhwaddr, (char *) &buf[int***ce])))

#endif

else

}} else

perror ("cpm: ioctl");

} else

perror ("cpm: socket");

close(fd);

return retn;

}

linux系統中網絡卡配置詳解

檔案 etc sysconfig network scripts ifcfg eth0 以下各值常見於所有的基本配置檔案中 device name,這裡name是物理裝置的名字 動態分配的ppp裝置應當除外,它的名字是 邏輯名 ipaddr addr,這裡addr是ip位址。netmask mask...

詳解Linux系統中網絡卡MAC位址轉殖方法

怎麼臨時性地改變 mac 位址?你可以在 linux 執行的時候改變 mac 位址。需要注意的是當 程式設計客棧mac 位址轉換的那一會時間,你的網路會掉線。當電腦重啟時 mac 位址又會變回原來的。下面介紹幾種方法來改變你的 mac 位址。方法一 iproute2 sudo ip link set...

Intel千兆網絡卡驅動Linux系統下安裝方法

適用機型 所有xseries 205 所有xseries 206 所有xseries 225 所有xseries 226 所有xseries 235 所有xseries 236 所有xseries 255 所有xseries 305 所有xseries 306 所有xseries 330 所有xse...