是这样的,我们这里有个以前别人写好的内部通信
服务端运行服务器上客户端在下面,客户端登陆验证的窗口使用一个端口800,当登陆成功后端口是900了!我想在中间加个中转,让客户端登陆到我的写的程序上,然后我想过滤一些东西!
现在客户端登陆到我的中转,中转中间设置过滤信息,然后由我的中转把客户端数据传到服务器上,服务器再把回应传到我的中转上,在由我的中转发送到客户端上!我现在就是不知道用什么方法在上面加中转,拦截?还是...?由于经验不足,想请教大家用什么方法?如果有好的方法,希望能详细的介绍清楚!谢谢!
服务端运行服务器上客户端在下面,客户端登陆验证的窗口使用一个端口800,当登陆成功后端口是900了!我想在中间加个中转,让客户端登陆到我的写的程序上,然后我想过滤一些东西!
现在客户端登陆到我的中转,中转中间设置过滤信息,然后由我的中转把客户端数据传到服务器上,服务器再把回应传到我的中转上,在由我的中转发送到客户端上!我现在就是不知道用什么方法在上面加中转,拦截?还是...?由于经验不足,想请教大家用什么方法?如果有好的方法,希望能详细的介绍清楚!谢谢!
那就把c的ip指到你的程序(tcp转发程序)的电脑的ip
程序不是我写的!
C指定到我的程序上,但是验证后的端口和IP 又怎么转呀?他这个写的比较高级!服务器上一个验证800端口,一个是登陆900端口! 而且还可以分机器放!比如验证放一个服务器,登陆可以放另一个服务器!客户端输入账号密码后,首先连接的是验证,一旦验证通过就转到了登陆的服务器上!也可以放一台机器上!我现在要写个中间件主要过滤一些信息作用,他的客户端就一个IP一个登陆验证的端口800!我现在烦的就是这个,客户端登陆到我的中间件,怎么才能做他们的传递员,没遇到过这样的,就不知道从哪里下手!
登录服务器s2(ip2:900)
客户端c中间人z(ip3:800,900)正常的过程:
c-->ip1:800
ip1:800-->c
什么样的信息导致
c-->ip2:900
...中间人攻击:
c-->z ip3:800
z-->s1
s1-->z
z-->c
什么样的信息导致
c-->z ip3:900
z-->s2
s2-->z
z-->c
...
把登陆端口由 800改成880
再做个端口转发工具,开启880端口,将收到的数据转发向800端口。
中间的转发过程你就可以去做你要做的过滤工作。如果C的代码不能改。在没加密的情况下,你可以去改他的二进制代码,把800改成别的端口。如果是加密的。那你就要用HOOK去拦截,直接拦截服务端800收包的CALL,跳进你的HOOK回调处理再进入正常的处理。
或是HOOK客户端,将800的封包改向其他端口,由转发器过滤处理。
我也是你这样的想法,主要是经验不是很足,就是不知道怎么写,不知道哪里有简单的例子,不知道从程序哪里找到 那个800 然后去跳到我的HOOK里处理