2012-07-27 93 views
4

我不太確定如何確定最終用戶機MAC地址和IP地址(本地和ISP)。我們使用基於ASP.net的系統,使用C#作爲編程語言。確定最終用戶機MAC地址和IP地址(本地和ISP)

有人可以請指導。問候,雅格亞

+0

這個系統的新手。繼續我將解決這個問題 – 2012-07-27 07:06:38

+0

您是否聲明,作爲一個ASP.NET服務器(推測是提供網頁/服務),您想知道Web客戶端的MAC地址,以及它們的公共IP地址和內部網絡IP地址? – 2012-09-09 14:39:44

+0

假設我上面的評論是正確的,沒有在客戶端機器上運行特權代碼,您可以推斷出的唯一信息是他們的ISP的IP地址。更多信息:http://www.codeproject.com/Answers/303661/How-to-get-Mac-Address-of-Client-Machine-in-asp-ne – 2012-09-09 14:59:09

回答

2

你無法通過互聯網獲得PC的MAC地址

3

如果你正在寫一個互聯網的Web應用程序(而不是內部網/ LAN的應用程序),也沒有辦法確定本地地址和客戶端的MAC地址,除非客戶端明確地發送給您。您可以通過Request.UserHostAddress字段獲取外部(公共,互聯網)地址。如果客戶端正在使用代理服務器,則可以選擇Request.ServerVariables["REMOTE_ADDR"]Request.ServerVariables["HTTP_X_FORWARDED_FOR"],因爲它們可能會顯示真實地址。無論哪種方式,這些選項都沒有保證,你應該不是依靠它們。它們可能是一個額外的驗證層,但它們不應該是檢查身份的主要機制。

+0

你好 - 我們有開發銀行系統模塊的要求。我們需要捕獲瀏覽器客戶端的計算機詳細信息並進行跟蹤。 – 2012-09-19 16:22:11

+0

它永遠不會可靠。這是客戶端,而且即使是新手也可以僞造數據,您不能依賴客戶端。 – 2012-09-20 00:20:59

1

當您使用ASP.NET時,用戶機器上運行的唯一東西是HTML和JavaScript。您無法使用JavaScript獲取MAC地址,但是,您可以使用get the IP address並將其發回。

要獲取本地IP地址和MAC地址,您需要讓用戶運行應用程序,例如一個Java應用程序。

+0

+0。在服務器上獲取IP,將其發送給客戶端並按鏈接上的建議發回,效率不高:)。它使用REMOTE_ADDR服務器變量,可以在沒有往返的情況下使用(如(+1)poyrazoğlu所示),並且已經登錄IIS日誌而無需附加代碼。 – 2012-09-15 02:56:03

+0

這只是我用Google搜索的一個例子。我的意思是,沒有運行應用程序,你不能獲得本地IP或MAC地址。 – 2012-09-15 13:16:01

1

獲取MAC地址你需要有一個簽名的ActiveX/jar/.net dll。否則你只能得到IP地址。

爲什麼簽名,因爲大多數客戶端的瀏覽器設置爲阻止任何未簽名的活動組件。

您可以從有效的CA獲取代碼簽名證書。