我正在编写一个Java应用程序,我正在运行主服务器和备份服务器(使用VM)。为了使备份服务器作为主服务器(如果主服务器崩溃)接管,同时对客户端完全透明,我需要在主服务器和备份服务器上运行相同的应用程序,并且两者必须具有相同的状态。
为此,我必须将备份与主服务器同步,以便它从客户端接收相同的数据包序列并发送相同的(抑制的)回复。为此,我需要获取备份的初始TCP序列号以匹配主要的初始序列号。
为了实现这一点,我想到拦截进出备份服务器的数据包并修改其TCP头中的序列号,使其与主要数据库的序列号匹配。因此,我需要一个应用程序 -
有没有办法实现这个目标?
答案 0 :(得分:0)
对于任何面临同样问题的人,我终于设法使用ettercap - http://ettercap.github.io/ettercap/
更具体地说,我使用ARP中毒模式来拦截进出服务器的数据包,并使用自定义的ettercap插件来适当地修改它们