日期:2014-05-16  浏览次数:20721 次

实现一个穿越防 .火墙的网络程序
就是做一个网络程序,程序运行时,windows自带的防火墙不会有拦.截提示;我查了不少资料,实现的主要手段貌似就是:
1 端口复用;
2 http隧道技术
3 反向链接

我试了下第一种端口复用,网上说复用80端口,是不是就是这样:
SOCKET csock;
sockaddr_in ServerAddr;

 ServerAddr.sin_family=AF_INET;  
 ServerAddr.sin_addr.s_addr= htonl(INADDR_ANY);
 ServerAddr.sin_port=htons(80);      //ServerAddr的端口设为80
 val=TRUE;  
setsockopt(csock,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val));
bind(csock,(struct sockaddr FAR *)&ServerAddr,sizeof(ServerAddr);


不过之后再执行lisen(监听)操作或者把INADDR_ANY用固定的ip来换掉,都会有拦截提示啊;是我复用不正确吗?还是是复用80也不行(网上有说不行的)?那还有其他的办法么,诚心向各位求教了,万分感谢!


------解决方案--------------------
学习一下
------解决方案--------------------
那么你把代码注入到一个不被拦截的程序上,劫持该程序来实现自己的网络功能怎样
------解决方案--------------------
你是在做mm啊。。楼主

你不怀好意啊。

dll注入到IE进程截获数据.

加密处理,构造标准http格式报文传输。

不就实现了你的三点要求。