QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1003|回复: 9

不知道怎么说明,反正是网络编程问题,帮忙看看!

[复制链接]
发表于 2004-2-26 16:00:27 | 显示全部楼层 |阅读模式
我要用一个telnet客户端登陆到一个服务器上,现在问题是服务器发给我telnet客户端的数据格式不是我想要的格式,能不能另做一个单独的程序,在telnet客户端收到数据之前截获数据,并把数据转换成我想要的格式,然后再发给telnet客户端?那个telnet客户端我没有源码,也不能换成其他的客户端。是在windows下的。能不能实现?
发表于 2004-2-26 16:13:10 | 显示全部楼层
应该发到网络编程那边去,那样可能更好解决一点
回复

使用道具 举报

发表于 2004-2-26 16:30:17 | 显示全部楼层

Re: 不知道怎么说明,反正是网络编程问题,帮忙看看!

[quote:eb1ab00c31="mozilla"]我要用一个telnet客户端登陆到一个服务器上,现在问题是服务器发给我telnet客户端的数据格式不是我想要的格式,能不能另做一个单独的程序,在telnet客户端收到数据之前截获数据,并把数据转换成我想要的格式,然后再发给telnet客户端?那个telnet客户端我没有源码,也不能换成其他的客户端。是在windows下的。能不能实现?[/quote]
理论上可以,在内核网络处理部分作一次截获和重发,代码我就不知道怎么写了,这个你可以问一下yufei.
回复

使用道具 举报

 楼主| 发表于 2004-2-26 16:45:22 | 显示全部楼层
是在windows下,不是linux。。。。
回复

使用道具 举报

发表于 2004-2-27 01:39:05 | 显示全部楼层
嗯……在底层拦截呢?比如IP层?运输层?这个要用到原始套接字了~
回复

使用道具 举报

发表于 2004-2-27 10:50:23 | 显示全部楼层
我估计你并不是要改写网络包数据吧,因为telnet只不过是一种tcp上的应用层的协议,已经不涉及网络协议的处理了。

建议你另写一个转换用的服务器程序。telnet客户端连接你的服务器,你的服务器再连接以前的服务器。
回复

使用道具 举报

 楼主| 发表于 2004-2-27 11:40:51 | 显示全部楼层
很少写socket程序
服务器发过来的都是文本内容,文本里,ACSII码0x19和0x1a之间的内容我要把它删除
回复

使用道具 举报

发表于 2004-3-3 01:19:55 | 显示全部楼层
不知道windows中的hook可不可以实现呢?
反正它可以侦听其他程序的消息传递

也可以研究一下sockcap或者eborder的实现机制
回复

使用道具 举报

发表于 2004-3-4 01:30:41 | 显示全部楼层
对了!有个简单的方法:你写一个软件用来处理输入,然后用再创建一个进程执行telnet客户端,用管道把处理完的输入给telnet客户端
回复

使用道具 举报

 楼主| 发表于 2004-3-5 00:42:39 | 显示全部楼层
[quote:7aee0c360e="默难"]对了!有个简单的方法:你写一个软件用来处理输入,然后用再创建一个进程执行telnet客户端,用管道把处理完的输入给telnet客户端[/quote]
        
有没有例子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 20:59 , Processed in 0.043705 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表