Pojie1999.0909 发表于 2019-9-20 18:46

C#访问webservice如何伪造调用者的ip

本帖最后由 Pojie1999.0909 于 2019-9-20 22:01 编辑

表达能力欠佳,不知道是不是讲的明白,就是我要调用一个webservice,但是这个webservice有验证,用我计算机调用这个webservice的时候提示我ip非法,我知道一个不非法的ip是多少,但由于某些特殊原因我不能修改我计算机的ip,我该如何用我这个c#程序访问他的webservice的时候伪造我的ip呢?

十三月的风 发表于 2019-9-20 19:17

除非利用代{过}{滤}理,否则没有可能,简单伪造头可以修改ip,但这样你就得不到返回值。

Pojie1999.0909 发表于 2019-9-20 19:23

china0sen 发表于 2019-9-20 19:17
除非利用代{过}{滤}理,否则没有可能,简单伪造头可以修改ip,但这样你就得不到返回值。

是这样的,webservice放到了A服务器,B计算机和C计算机都能ping通A服务器,只不过B的ip没有备案,调用webservice的时候提示ip非法,C的ip备案了可以正常调用。我写了个winform程序放到了B上,想把请求伪造成C的ip。这样就可以调用了。只不过不知道怎样用代码伪造呢?
请问,这样可不可以吗?

JemmyloveJenny 发表于 2019-9-20 19:27

不知道对方是如何判断IP地址的……,你加一个X-Forwarded-For和X-Real-IP这两个HTTP头试试能否绕过。
如果还是无法绕过,那就没有办法了,IP无法伪造。

Pojie1999.0909 发表于 2019-9-20 19:30

JemmyloveJenny 发表于 2019-9-20 19:27
不知道对方是如何判断IP地址的……,你加一个X-Forwarded-For和X-Real-IP这两个HTTP头试试能否绕过。
如果 ...

谢谢回复

十三月的风 发表于 2019-9-20 19:51

Pojie1999.0909 发表于 2019-9-20 19:23
是这样的,webservice放到了A服务器,B计算机和C计算机都能ping通A服务器,只不过B的ip没有备案,调用web ...

在c上面搭建代{过}{滤}理服务器,然后b利用c的代{过}{滤}理去访问a

Pojie1999.0909 发表于 2019-9-20 20:19

china0sen 发表于 2019-9-20 19:51
在c上面搭建代{过}{滤}理服务器,然后b利用c的代{过}{滤}理去访问a

谢谢,不知怎样在C上搭建代{过}{滤}理服务器呢?
我的C# winform程序应该使用WebProxy?例如:
this.accessService = new TmriJaxRpcOutNewAccessService()//这是通过wsdl生成的我要引用的webservice的类
{
    Url = this._serviceAddress//这是webservice的地址,例如:http://192.168.100.100:8090/services/
};
string proxyip = Properties.Settings.Default.proxyip;//代{过}{滤}理ip
int proxyport = Properties.Settings.Default.proxyport;//代{过}{滤}理端口
if (Properties.Settings.Default.proxyip != "")
{
    System.Net.WebProxy owebProxy = new System.Net.WebProxy(proxyip.Trim(), proxyport);//创建代{过}{滤}理
    owebProxy.UseDefaultCredentials = true;
    this.accessService.Proxy = owebProxy;
}

1sina 发表于 2019-9-20 20:27

学习学习 入门小白

bookaccount 发表于 2019-9-20 20:51

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.Proxy = new WebProxy(proxyUrl, true); //如:http://123.123.123.123:80

Pojie1999.0909 发表于 2019-9-20 21:57

bookaccount 发表于 2019-9-20 20:51
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.Proxy = new WebProxy(pro ...

感谢回帖,我用的不是这个,已解决,谢谢。
页: [1] 2
查看完整版本: C#访问webservice如何伪造调用者的ip