Windows上獲得IP位址的四種方法

2021-04-07 07:31:54 字數 1692 閱讀 9990

最近在看網路程式設計(主要是tcp/ip通訊的)的內容,還研究了下wmi。把獲得ip位址的方法總結如下。

1.      使用ipconfig程式。

在命令列下使用命令ipconfig可以得到本機的每個有效網羅介面的ip網路資訊。如果在**中,可以使用process.start()方法來呼叫ipconfig,然後使用正規表示式來解析結果──當然這樣做太繁了,不實用。但我曾經使用類似的方法在**中

獲得mac位址

。2.      查詢登錄檔。

使用登錄檔的麻煩之處在於各個版本的windows在不同的地方存放網路資訊。

windows98&windows me

登錄檔中的位置為:

hkey_local_machine/system/currentcontrolset/services/class/nettrans

在這下面,每個key對應乙個網路裝置的資訊(ipaddress,defaultgateway,ipmask)。

windows nt

,windows 2000&windows xp

hkey_local_machine/software/microsoft/windows nt/currentversion/networkcards,從中得到servicename值;

3.      使用wmi。

查詢表win32_networkadapterconfiguration即可獲得。

4.      使用dns。

**如下:

using

system;

using

microsoft.win32;

using

system.management;

using

system.net;

namespace

ipaddress

methods

#region

methods

private

const

string

cardkey =@"

software/microsoft/windows nt/currentversion/networkcards";

private

const

string

servicekey =@"

system/currentcontrolset/services/";

public

static

void

getipbyregistry()

",servicename);

registrykey networkcard 

=entry.opensubkey(servicekey

+servicename+"

//parameters//tcpip");

if( networkcard 

!=null)"

,ip);

}networkcard.close();

}entry.close();}}

public

static

void

getipbywmi()

",ip);}}

}public

static

void

getipbydns()

",ip.tostring());}}

#endregion}}

獲得IP位址

在asp 中使用 request.servervariables remote addr 來取得客戶端ip 位址但如果客戶端是使用 伺服器來訪問那取到就是 伺服器ip 位址而不是真正客戶端 ip 位址 要想透過 伺服器取得客戶端真實ip 位址就要使用 request.servervariables ...

獲得ip和mac位址

using system.runtime.interopservices dllimport iphlpapi.dll private static extern intsendarp int32 dest,int32 host,refint64 mac,refint32 length dllimp...

java 獲得真實 ip 位址

在jsp裡,獲取客戶端的ip位址的方法是 request.getremoteaddr 這種方法在大部分情況下都是有效的。但是在通過了apache,squid等反向 軟體就不能獲取到客戶端的真實ip位址了。如果使用了反向 軟體,將 的url反向 為 的url時,用request.getremotead...