在windows中獲取網路介面卡相關資訊是很方便的,可以通過getadaptersinfo函式獲取並儲存在ip_adapter_info結構體中,再對結構休進行解析得到介面卡資訊。有關函式和結構體的詳細說明可以參考msdn,這裡就不再複述。下面直接給出具體示例程式。
//引入標頭檔案
#include #include #include #pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
int main()
else
}ip_addr_string *paddrstring = &(padapterinfo->ipaddresslist);
while(paddrstring)
paddrstring = &(padapterinfo->gatewaylist);
while(paddrstring)
padapterinfo = padapterinfo->next;
} }//未能正確獲取介面卡資訊時的返回值,列印的內容是對應的錯誤資訊描述
else if(error_buffer_overflow == dwres)
else if(error_invalid_data == dwres)
else if(error_no_data == dwres)
else if(error_not_supported == dwres)
else
return 0;
}
結構體中還有其他介面卡資訊在上述程式中沒有解析,但是都可以根據需要做相應解析。
網絡卡裝置資訊獲取
網絡卡工作在osi七層協議中的鏈路層,是主機與網路對接的重要介面,它完成了網路連線的物理和電訊號之間的轉換,同時還對網路資料報幀進行傳送 接收 校驗等,是上層網路應用的基石。在計算機架構中,通常是cpu通過內部匯流排 ahb bus 或者 pci bus 與mac控制單元通訊,然後由mac控制單元通...
linux 獲取網絡卡資訊
sar n dev 2 10 41 37 am iface rxpck s txpck s rxkb s txkb s rxcmp s txcmp s rxmcst s 10 41 39 am eth0 1.50 1648.00 0.15 117.54 0.00 0.00 1.00 10 41 39...
Linux下如何獲取網絡卡資訊
有時候,寫程式的時候需要獲取計算機的網路資訊,比如ip位址 電腦名稱 dns等資訊。ip位址和電腦名稱是比較容易獲取到的,而要想獲取位址掩碼 dns 閘道器等資訊就有些麻煩了。在windows下我們一般都是通過從登錄檔讀取這些資訊。在linux怎麼做呢?其實,linux下更加容易一些。因為我們可以拿...