簡體   English   中英

在Localhost上尋找外部IP地址

[英]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地址。

配置IIS日志記錄

在“ W3C日志記錄字段”對話框中,選擇以下一個或多個選項:

客戶端IP地址(c-ip):發出請求的客戶端的IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM