局域网代理上网的oicq相互发消息的原理是什么(100分)

  • 主题发起人 主题发起人 dffycb
  • 开始时间 开始时间
D

dffycb

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网代理上网的oicq相互发消息的原理是什么,局域网上所有机器的外部ip是一样的,拨号上网的机器收到消息后
如何知道这消息是那台机器上的qq的,局域网上的机器如何知道当前拨号上网的机器(代理主机)的ip.(我是指用编程实现)
 
我发现当你在局域网内,服务器向你发送了大量的ICMP路径没有找到的数据包,服
务器具体是如何找到机器的,一定是经过服务器中转的。QQ据说是基于sock5的。
我手头上没有相关的资料。所知的就这么多。
 
IP 包报头由代理服务器从重封装后转发,这就是著明的 IP伪装技术!
 
肯定是通过服务器中转,就是说一定要能够先控制服务器,至少是编程实现监视服务器的
数据包!

就知道这么多,GZ其它的!
 
就没有高手能给出例题吗
 
IP 包报头里被代理服务器装入了客户端机器的信息,这个信息会被oicq的服务器转发回来。
另外oicq是基于udp的
 
我也想知道答案,请各位高手快快回答
 
这个问题已经讨论过很多次了,其实很简单,当你的UDP数据包通过代理出去的时候,代理
会为你建立一个对应的端口连接,比如你现在程序里定的端口是8000,代理为你定的是9000
QQ上网的时候会把相关信息记录在去服务器上,在往回发的时候,QQ就往9000的端口发,而不
是你原来定的8000,这样就行了,明白了吧,给分吧!
想要程序,呵呵,再说!
 
to chiefz318
可以详细一点吗,给一段程序好吗.我在给你100分.倾我所有.
chenbin0843@sina.com
 
就是通过代理服务器中转~~~~~~~~~~~~~~`
 
看看这个
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1078770
 
这个问题前段时间已经讨论过了,就是楼上贴的那个帖子,你要试的话也很简单。
用UDP控件做两个通讯端小程序,其机制是:当你要向局域网内通过网关上互联网的机子发
数据包时,局域网内的机子应该先向你的通讯端程序发一个数据包,以便你得到代理服务器
为其建立的端口号,然后你想向这个局域网内的机子发数据包的话,就按照这个端口号发就
行了!
 
to dffycb
chiefz318过得不容易,你就随便给点分他吧!
 
试着自己做一个SOCKS5代理服务器,就什么都明白了(具体协议看RFC)
 
谁有例题,我把分都给他.
 
to dffycb
你想做试验的话,很简单啊,就是按我上面的做法,就几句语句嘛,平时我们做两端用
UDP协议通讯试验的小程序时remoteport一般都是绑死的,这样和局域网内的机子通讯时,发
数据包给局域网内的机子肯定是收不到的,现在知道这个原理以后,你就不要绑死remoteport
了,而是根据局域网内自己发送数据包给你时recive函数所带的port来动态改变你将要发送的
remoteport,这样就行了,我和chiefz318都试过了!
 
to justcool
我笨,能劳你大驾.给我段源代码吗?
立即加分.谢了!!
 
我的个人见解
发都是一样的
收的时候:服务器收到7000端口的数据转发到1号机
收到7001端口的数据转发到2号机
就是这样吧
 
to dffucb
真的很简单的啊,你为什么不自己试试看呢!
我没时间,不然的话,就写个给你了,我刚辞职,要找工作,要吃饭啊
 
就是重新设置你的发送IP和发送PROT就OK了
 
后退
顶部