天天看点

简单实现Http代理工具--端口复用与QQ代理

话说上一次做完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

简单实现Http代理工具--端口复用与QQ代理

proxy代理类

program.cs

简单实现Http代理工具--端口复用与QQ代理

main函数入口

ok,打完收下。

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/06/07/1753503.html

<a href="http://files.cnblogs.com/cyq1162/tcpproxy2.rar"></a>

继续阅读