Vikram Singh Rathaur Ответов: 1

Как получить ip-адрес клиентской машины, если она подключена к VPN за пределами домена компании


Я хочу найти IP-адрес компьютера пользователя или любой другой параметр, который может помочь мне определить, подключена ли система в домене компании или вне домена компании(подключена с помощью VPN)

Что я уже пробовал:

private string GetPublicIpAddress()
  {
      var request = (HttpWebRequest)WebRequest.Create("http://ifconfig.me");

      request.UserAgent = "curl"; // this simulate curl linux command

      string publicIPAddress;

      request.Method = "GET";
      using (WebResponse response = request.GetResponse())
      {
          using (var reader = new StreamReader(response.GetResponseStream()))
          {
              publicIPAddress = reader.ReadToEnd();
          }
      }

      return publicIPAddress.Replace("\n", "");
  }

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Как правило, сеть VPN - это другая подсеть. Итак, вы должны выяснить, что это за подсеть.

Как только вы это узнаете, при обработке вашего запроса вы можете посмотреть значение в ServerVariables["HTTP_X_FORWARDED_FOR"] для IP-адреса клиента. Если это возвращает пустую строку en, посмотрите вместо этого в ServerVariables ["REMOTE_ADDR"] и сравните с известной подсетью VPN.