Web獲取客戶端的IP位址

2021-06-20 09:29:20 字數 1958 閱讀 2268

一、思路(主要用於區域網內)

通過web獲取客戶端的ip位址較簡單,從客戶端向web伺服器傳送的資料報中(request物件)中即可解析出,但實際應用中,還要考慮**伺服器,路由器的**等等。

(1).在客戶端來獲取客戶機的mac位址,所以當請求到達客戶端後,通過客戶端指令碼來獲取客戶端mac位址,然後再傳送給伺服器端。

(2).先獲取客戶端ip位址,然後在區域網中傳送arp請求,通過arp協議和已知的ip位址來解析客戶端的mac位址

public static string getwebclientip()

string userip = "未獲取使用者ip";

//cdn加速後取到的ip

三、通過arp協議由ip位址獲取mac位址

1.兩種方式獲取mac:

1.1.只能獲取本機的mac

using system.management;

public string getmac()

managementclass mc = new managementclass("win32_networkadapterconfiguration");

managementobjectcollection moc2 = mc.getinstances();

foreach (managementobject mo in moc2)

if ((bool)mo["ipenabled"] == true)

return mo["macaddress"].tostring();

mo.dispose();

return "";

獲取客戶端IP位址

title generating test data author wufeng4552 date 2009 09 23 10 34 02 功能 獲客戶 ip位址 if object id getclientip isnot null drop proc getclientip go create ...

客戶端獲取IP位址

string ip request.getheader x forwarded for string regex 2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?if ip null ip.length 0 ip.equalsignorecase locali...

Java獲取客戶端IP位址

參考 像移動閘道器一樣,iisforward這個isapi過濾器也會對request物件進行再包裝,附加一些wls要用的頭資訊。這種情況下,直接用request.getremoteaddr 是無法取到真正的客戶ip的。實際的iisforward附加頭如下 wl proxy client ip 211...