Поддельный IP-адрес для веб-запроса HTTP? - PullRequest
2 голосов
/ 12 апреля 2011

У меня есть веб-сервис на сервере в моей компании, доступ к которому у нас ограничен со всех серверов в нашей сети, кроме одного.

Однако мне нужно сделать вызовы с другой машины. Есть ли способ, которым я могу подделать IP-адрес других серверов, чтобы отправить HTTP-запрос в веб-службу? Мне нужно только отправить информацию, мне не нужны возвращенные данные. Он предназначен для регистрации обращений с другого сервера на нашем главном сервере.

Я использую это

IPEndPoint endpointAddress = new IPEndPoint(IPAddress.Parse(ipAddress), 80);
using (Socket socket = new Socket(endpointAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp))
{
    socket.SendTimeout = 500;
    socket.Connect(endpointAddress);
    socket.Send(byteGetString, byteGetString.Length, 0);
}

но получите исключение

Попытка подключения не удалась, потому что подключенная сторона не правильно ответить через некоторое время или не удалось установить соединение, потому что подключенный хост не смог ответить 23.202.147.163:80

Ответы [ 2 ]

6 голосов
/ 12 апреля 2011

Как правило, невозможно установить TCP-соединение с сервером без возможности принимать и обрабатывать некоторые ответные пакеты с этого сервера. HTTP основан на TCP, а TCP начинает связь с «трехсторонним рукопожатием», которое позволяет клиенту и серверу взаимодействовать.

Начало HTTP-запроса - это не один пакет.

0 голосов
/ 12 апреля 2011

Вы можете использовать прокси для отклонения ваших запросов с IP-адреса, который имеет доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...