Подтвердить что ты не робот

С# Как обманывать IP-адрес для WebRequest

У меня есть сайт asp.net, и я делаю WebRequest для публикации данных и получения ответа. Веб-сайт имеет IP-фильтрацию. Я хочу подделать IP-адрес отправителя для целей тестирования. Возможно ли это сделать программно или я должен использовать любой инструмент.

public string GetResponse(string request)
{  
    lock (Obj)  
    {  
        request = request + _dataControlInfo.SendEndingWith;  
        Logger.Info(request);  
        var req = (HttpWebRequest)WebRequest.Create(_serviceUrl);  
        req.Headers.Add("SOAPAction", "\"\"");  
        req.ContentType = "text/xml;charset=\"utf-8\"";  
        req.Accept = "text/xml";  
        req.Method = "POST";  
        var stm = req.GetRequestStream();  
        var bytes = UtfEncoding.StringToUtf8ByteArray(request);  
        stm.Write(bytes, 0, bytes.Length);  
        stm.Close();  
        var resp = req.GetResponse();  
        var stmr = new StreamReader(resp.GetResponseStream());  
        var strResponseXml = stmr.ReadToEnd();  
        Logger.Info(strResponseXml);  
        return strResponseXml;  
    }  
}  

Просьба указать любые возможности.

4b9b3361

Ответ 1

Что вы ищете SharpPCap, который является .NET-портом WinPCap.. он позволяет вам делать IP Spoofing, о чем вы говорите. Единственная проблема с вашей идеей в том, что вы не сможете получить ответ. Вы можете отправлять запросы, но если у вас нет надлежащего адреса возврата, запрос будет потерян в interwebs.


Изменить

Чтобы сделать это с помощью библиотеки, вам нужно будет самостоятельно создать необработанные пакеты. На это был дан ответ здесь.

Ответ 2

Если вы ожидаете получить ответ, то нет. Без правильного IP-адреса сервер не отправит ответ правильному адресату.

Если вы все равно настаиваете на том, чтобы видеть эту статью для программной настройки IP-адреса клиента.

Ответ 4

Вы можете попытаться использовать прокси-сервер, как описано здесь. (http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.proxy.aspx).

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

Ответ 5

Некоторые серверы также могут рассматривать заголовки X-Forwarded-For и X-Real-IP. Поэтому, если сервер проверяет эти заголовки, вы можете добавить их в свой веб-запрос. Но это зависит от реализации сервера.

Ответ 6

Используйте класс Spoof, найденный в пространстве имен System.Security...