|
![]() | 作者: ziling219 [ziling219]
![]() |
登录 |
大家好,我正在做毕业设计,遇到一个大问题。 我的课题是编写代理服务器,通常的方法是利用win socket中的进程通信来实现。那样的话,不同的程序(http,ftp,stmp……)均要编写不同的代码,尽管很简单。 可是现在导师提出利用底层技术编写,意思是要代理服务器监听客户机的ip数据包,并重新构造,并将客户机的进程端口与构造的ip数据包在代理服务器上一一对应。这样话,就不必针对不同的应用程序编写不同的代码。也就是说利用技术在ip层实现简单的数据转发,而不必考虑上层不用应用的细节。 我查找资料,看到用raw socket可以实现ip数据包的监听,可是上述方式能够实现代理服务器的编写吗? 希望大家帮帮我 [此贴被 ziling219(ziling219) 在 04月16日22时28分 编辑过] |
地主 发表时间: 04/16 22:47 |
![]() | 回复: ziling219 [ziling219] ![]() |
登录 |
如题 |
B1层 发表时间: 04/18 11:08 |
![]() | 回复: 286 [unique] ![]() |
登录 |
你现在作到哪一步了? 这种方法的实现难点: 1,对接收的包修改IP后的检查和修改. 2,只是简单的转发也不行,部分转发需要智能化.比如,三次握手时第三次握手还需要对方的ACK值.如果你只是把你SNIFFER的ACK值复制过去,仍然无法成立. 3,如果有些端口代理没有用,而你已用怎么办?或代理有,你没有用.怎么办? 4,外界明明是跟被代理的机器建立连接,你如果拦截? |
B2层 发表时间: 04/18 11:53 |
![]() | 回复: ziling219 [ziling219] ![]() |
登录 |
首先谢谢你的帮助。 我现在做到的仅仅是能够对接收的ip包进行伪装,就进行不下去了。因为我知识太浅,所以根本不敢肯定这种方法是不是行得通。真的谢谢你给我指了一个方向。我会按你说的几点努力的,如果遇到不懂的地方,还只有麻烦你和大家了,谢谢! |
B3层 发表时间: 04/18 16:55 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号