[英]Looking for External IP Address on Localhost
嗨,我正在學校的安全網站上進行登錄,但這都是基於localhost的。
我正在尋找捕獲任何訪問我網站的人。 我實際上想捕獲該人正在使用的任何計算機的外部IP地址。 例如,當我運行我的網站並單擊一個按鈕時,它立即捕獲了我的外部IP地址。
坦率地說,我在IP地址領域知識不多,但是我對網絡,客戶端,服務器,IP地址,端口號等內容有足夠的了解。
要提供更多信息,當您訪問網站以檢查IP地址或任何其他IP網站時,您將獲得外部IP地址。 我實際上想捕獲此IP地址並將其保存到我的數據庫中。
我確實對stackoverflow,codeproject進行了研究,但我可以從中尋求幫助,但是它總是返回:: 1,我按此返回的默認本地主機地址是127.0.0.1?
我在下面嘗試了所有這些方法,以實驗它們產生的東西。
protected void getIP_Click(object sender, EventArgs e)
{
String hostName = System.Net.Dns.GetHostName();
String clientIpAddressHostName = System.Net.Dns.GetHostAddresses(hostName).GetValue(0).ToString();
IP1.Text = clientIpAddressHostName;
String clientIpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_HOST"].ToString();
IP2.Text = clientIpAddress;
String ip = null;
if (String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]))
{
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
IP3.Text = ip;
String ipNext = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
IP4.Text = ipNext;
String ipNextNext = HttpContext.Current.Request.UserHostAddress;
IP5.Text = ipNextNext;
String last = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.GetValue(0).ToString();
IP6.Text = last;
}
我也在網上閱讀,實際上我可以根據以下Stackoverflow上的此答案從網站的外部來源獲取我的外部IP地址
但是我還沒有嘗試過,因為我認為這不是一種安全的方法? 如果我錯了,請糾正我。
搜索高低后仍然無法獲得即時消息。
誰能幫忙嗎? 將不勝感激!
看起來您正在讀取服務器IP地址。
客戶端IP地址可以通過以下方式讀取: Http請求。用戶主機地址
您在服務器中收到的IP地址將是客戶端的“公共”地址。 即,如果用戶在代理后面,則將獲得代理地址。
如果使用IIS托管網站,則可以配置它以記錄客戶端IP地址。 在這種情況下,您無需編寫任何代碼即可記錄IP地址。
在“ W3C日志記錄字段”對話框中,選擇以下一個或多個選項:
客戶端IP地址(c-ip):發出請求的客戶端的IP地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.