C # Comment usurper l'adresse IP pour WebRequest
J'ai asp.net site hébergé et je suis en train de WebRequest pour publier des données et obtenir de réponse. Le site web est d'avoir le filtrage IP. Je veux d'usurper l'identité de l'expéditeur de l'adresse IP à des fins d'essais. Est-il possible de le faire par programme ou je dois utiliser n'importe quel outil.
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;
}
}
Veuillez spécifier toutes les possibilités.
source d'informationauteur Sunny Rajwadi
Vous devez vous connecter pour publier un commentaire.
Ce que vous cherchez est SharpPCap qui est un .NET port de WinPCap.. il vous permet de faire des L'Usurpation d'adresse IPqui est ce que votre train de parler. Le seul problème avec votre idée, c'est que vous ne serez pas en mesure d'obtenir une réponse en retour. Vous pouvez envoyer des demandes, mais si vous n'avez pas une adresse de retour alors que la demande sera perdu dans les interwebs.
Modifier
Pour ce faire yoruself w/out à l'aide d'une bibliothèque, vous aurez besoin de construire les paquets vous-même. Cela a été répondu ici.
Si vous êtes l'espoir d'obtenir une réponse, alors non. Sans la bonne adresse IP, le serveur ne pas envoyer la réponse à la bonne destination.
Si vous insistez sur le fait d'essayer de toute façon, voir cet article de programme définissant l'adresse IP du client.
Ou vous pouvez utiliser Web Tests De Performance et un test de charge avec La Commutation IP activé
Vous pouvez essayer d'utiliser un proxy, comme indiqué ici.
( http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.proxy.aspx ).
La configuration d'un proxy sur un autre ordinateur, puis de la configuration de l'ordinateur en tant que vos demandes de serveur proxy doit en faire la demande comme si elle venait de l'proxy IP, pas le vôtre.
Certains serveurs peuvent également envisager de X-Forwarded-For et X-Réel les en-têtes IP.
Donc si le serveur vérifie la présence de ces en-têtes, vous pouvez les ajouter à votre requête Web.
Mais cela dépend de l'implémentation du serveur.
Utiliser la parodie de classe dans le Système.La sécurité de l'espace de noms...