话说上一次做完http代理工具后,没有测试QQ代理,回家试了一下,做了一下简单补充,并测试通过。
上次的文章提到,所有公司的服务器端口都封了,只剩下几个通讯的已经正在便用的。
于是,在本地XP下试了一下端口劫持,也称端口复用。抢占80端口。
关键代码就一句:tcplistener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
在本地实现抢占80端口后,所有的http请求本地iis的,就出现访问不了的情况,所以我又实现了给IIS中转请求
即收到消息后,分析是否IIS请求,如果是,则转发请求到IIS,其它的就转发给相应其它的网站。
由于转发给本机的IIS请求速度过快,这时候需要适当延时,不然问题又出来了。
端口复用在win2003下是不支持的,我也没办法。
但是可通过不同IP监听同一端口如:192.168.1.48 8000 和192.168.1.49 8000(此时需要为主机分配多个IP)
接下来继续上代码,并提供代码下载:
Proxy.cs
Proxy代理类
Program.cs
Main函数入口
OK,打完收下。
点击此处下载代码
版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:
http://www.cnblogs.com/cyq1162/archive/2010/06/07/1753503.html