在你的本地server上可以做任意的改动。
这种要求只有很少的情况能实现. 如果程序基于TCP, 那么你伪装TCP连接发送了的数据, 服务器端该TCP连接会话的接收序号已经改变, 如果有
交互, 发送序号也会改变, 等真正的客户端再发数据时, 服务器端就会因为序号错误而拒绝, 客户端如果收到数据也是一样. 如果是UDP, 还是有
一些可能的, 这取决于应用程序协议是否是一种可幂的协议, 可幂指的是一个操作可以重复处理, 而不导致状态的改变. 如果应用层实现了一种序号机
制, 或者操作会改变致命数据, 结果和TCP是一样不能实现的.
-------------------------------------
招聘求职信息: http://www.tcpwork.com
ka-bar
--------------------------------------------------
From: "ben" <lizp...@gmail.com>
Sent: Friday, October 23, 2009 8:54 PM
To: "高性能服务器研发与运营邮件列表" <dev4s...@googlegroups.com>
Subject: 需要“窃听”服务器程序的数据,并伪装成客户端与其交互
On 10月25日, 下午9时09分, "ka-bar" <ka-bar_stri...@hotmail.com> wrote:
> 不知道你是不是在Linux上实现,如果是在linux上,可以通过netfilter模块实现,并且这个截获程序可以在本机,也可以在路由器上(linux内-核)。
>
> ka-bar
>
> --------------------------------------------------
> From: "ben" <lizp....@gmail.com>
> Sent: Friday, October 23, 2009 8:54 PM
> To: "高性能服务器研发与运营邮件列表" <dev4s...@googlegroups.com>
> Subject: 需要"窃听"服务器程序的数据,并伪装成客户端与其交互
>
>
>
> > 首先声明是为了工作,不是搞破坏,服务器的协议知道,需要获取服务程序的发出的信息,并且伪装成客户端与其交互(不是真正的建立连接,而是依附到已经存
> > 在的连接上),请问有什么想法没有?
> > 目前我们的想法是买一个一个路由器,让服务程序和外界交互的信息都要经过路由器,然后在路由器上做一些工作,问题是需要做些什么?这方面没有经验,还请
> > 达人给与帮助,哪怕说一下可能的技术亦可,感激不尽!- 隐藏被引用文字 -
>
> - 显示引用的文字 -
1. 窃听网络数据.
2. 模拟交互的一方, 进行发送数据.
On Oct 26, 11:33 am, woooody wang <woooody.w...@gmail.com> wrote:
> *1.* 如果只是想嗅探数据,可以用ARP欺骗,man in middle。server client
> 想嗅探哪个都可以。这样你也不需再要买一个路由器。
> *2.* 如果想修改嗅到的数据,没有别的好办法。既然你知道了协议,就可以根据协议写自己的客端,想怎样改就怎么改。
>
> 2009/10/26 ben <lizp....@gmail.com>
ka-bar
--------------------------------------------------
From: "ben" <lizp...@gmail.com>
Sent: Monday, October 26, 2009 1:10 PM
To: "高性能服务器研发与运营邮件列表" <dev4s...@googlegroups.com>
Subject: Re: 需要“窃听”服务器程序的数据,并伪装成客户端与其交互
On Oct 26, 1:59 pm, "ka-bar" <ka-bar_stri...@hotmail.com> wrote:
> netfilter不是单纯的窃听数据,可对数据进行篡改。如果是单纯的窃听数据,就推荐你用pcap了。
> 使用netfilter时,不需要考虑客户端的工作模式,只要对其使用的TCP层之上的通信协议比较了解就行。修改数据之后,重新计算IP头和TCP头的校验和,如果TCP层上的通信协议也有类似的校验,同样要重新计算。
>
> ka-bar
>
> --------------------------------------------------
> From: "ben" <lizp....@gmail.com>
我觉得楼主应该描述下自己使用的协议的一些细节, 比如基于TCP还是UDP? 是像FTP那样的长连接, 还是HTTP1.0那样的短连接? 协议做
的是什么事, 是否每一个报文都修改了致命数据?
修改致命数据: 例如, 某个指令从数据库表中读取id=1的数据, 对其进行运算并将结果返回, 然后删除该数据. 如果你伪装了这个指令, 那么真
正的客户端进行这个指令时, 就会出错.
> --
> 曾梦想仗剑走天涯,看一看世界的繁华.
On 10月23日, 下午8时54分, ben <lizp....@gmail.com> wrote: