Как получить IP-адрес удаленного хоста при исходящем соединении с помощью C#/ASP.NET?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить IP-адрес удаленного хоста при исходящем соединении с помощью C#/ASP.NET?

Сообщение Anonymous »

У меня есть система, которая действует как прокси-сервер между клиентами и несколькими удаленными серверами. Теперь мне нужно регистрировать запросы от клиентов к серверам, включая IP-адреса обоих (в то время как клиенты отправляют запросы только на имя хоста).
Пример:
  • Клиент Алиса (ip 1.2.3.4) отправляет запрос на myproxy.com/query/example?q=...
  • Мой прокси-сервер проверяет, имеет ли Алиса на это право, отправляет запрос на example.com?q=... и отправляет ответ от example.com обратно Алисе.
  • Теперь я хочу написать запись в журнале с (среди прочего) IP-адресом Алисы 1.2.3.4, именем хоста example.com и IP-адресом, на который был перенаправлен запрос. (т. е. IP-адрес example.com).
Как мне получить этот адрес безопасным и эффективным способом?
Конечно, я мог бы отправить запрос, а затем выполнить еще один DNS-поиск для example.com, но это кажется неэффективным (еще один обход к DNS-серверу), и, что более важно, example.com может иметь несколько DNS-записей, и я хочу записать, на какой фактический IP-адрес был отправлен запрос, а не на какой-либо альтернативный IP-адрес.
Мне действительно не важно, в какой точке потока запросов IP-адрес будет получен (может быть перед пересылкой запроса, после получения ответа или после пересылки ответа Алисе). И просто для ясности: у меня уже есть IP-адрес Алисы, и меня не волнует мой собственный IP (я видел несколько подобных вопросов, направленных на это).

Подробнее здесь: https://stackoverflow.com/questions/797 ... -c-asp-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»