Странный IP-адрес клиента из «REMOTE_ADDR» в WebService (ASP.NET) - PullRequest
0 голосов
/ 30 декабря 2011

Я запускаю сервер для моего проекта.Клиенты при запуске запускают функцию проверки обновлений, которая работает как веб-служба.Эти запросы записываются в файл.

Для входа в файл я использую следующую функцию:

Public Sub Log(ByVal Message As String, ByVal Level As LogEntryLevel, ByVal Additional As Boolean)
   Dim base As String = "C:\SERVER\log\"
   Dim fileName As String = Date.Now.ToString("dd-MM-yyyy") & ".log"
   Dim newString As String = ""
   If Not Additional Then
      If System.IO.File.Exists(base + fileName) Then newString &= vbNewLine
      newString &= Date.Now.ToString("[dd/MM/yyyy HH:mm:ss.fff ") & Level.ToString & "] " & Message
   Else
      newString &= Message
   End If
   My.Computer.FileSystem.WriteAllText(base + fileName, newString, True)
End Sub

Для получения IP-адреса клиентов я использую следующую функцию:

Public Function getIP() As String
   Dim ip As String
   ip = Context.Request.ServerVariables("HTTP_X_FORWARDED_FOR")
   If ip = String.Empty Then
      ip = Context.Request.ServerVariables("REMOTE_ADDR")
   End If
   Return ip
End Function

Сообщение журнала построено следующим образом:

Log(String.Format("Client {0} invoked CheckForUpdate with [{1}]", getIP, ver), LogEntryLevel.INFO, False)

Некоторое время назад это было зарегистрировано:

[11-12-2011 22:10:20.730 INFO] Client 10.0.1.4, 127.0.0.1 invoked CheckForUpdate with [0.5]

O_O Как это можно вернуть?Это нормально?Это возможно?Как запрос мог исходить от localhost (127.0.0.1) и одновременно с удаленного IP-адреса?Был ли сервер взломан?Это глюк?Может кто-нибудь объяснить мне это?

  • Это было опубликовано некоторое время назад на XtremeVBTalk.com: http://www.xtremevbtalk.com/showthread.php?t=322915 но никто не ответил, поэтому я спрашиваю это здесь снова.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2011

Я полагаю, что этот вопрос поможет вам: Как получить правильный IP-адрес из HTTP_X_FORWARDED_FOR, если он содержит несколько IP-адресов?

Кажется, что HTTP_X_FORWARDED_FOR может возвращать несколько IP-адресов, разделенных запятыми, вформа: X-Forwarded-For: client1, proxy1, proxy2, ...

Итак, 10.0.1.4 - это компьютер в той же сети, что и локальный, который использовал локальный хост в качестве прокси.Некоторые локальные сети настроены таким образом, чтобы подключаться через определенный компьютер.

192.168.xx и 10.xxx - зарезервированные диапазоны IP-адресов для локальных сетей

Я полагаю, что клиент был вызван наЛокальная сеть вашего сервера.

0 голосов
/ 30 декабря 2011

Скорее всего, это результат использования неанонимного прокси для доступа к вашему серверу.Прокси с высокой анонимностью полностью скрывают тот факт, что прокси используется, и стандартные анонимные прокси не показывают первоначальный IP-адрес пользователя, но отправляют заголовок X-Forwarded-For, поэтому их можно обнаружить таким образом.Однако неанонимные прокси просто добавляют значение заголовка X-Forwarded-For к IP-адресу пользователя, и оно имеет тенденцию выглядеть точно так же, как результат, который вы нашли в своих журналах.Тот факт, что он был переадресован для 127.0.0.1, подразумевает, что они, вероятно, пробовали какую-то форму гнусной активности, вероятно, отправляя воссозданную форму с измененными значениями.

...