title: Split TCP network traffic
body: <p>I have a system S of IP addresses that generate and receive data via JMS queues and topics. At the time being this system S is configured to connect to a broker with IP <code>x.x.x.x</code>.</p>
  
  <p>I would like to use the same system S against two different brokers: in other terms I would like to use a sort of "network splitter" that receive the traffic from S and forward it to <code>x.x.x.x</code> AND also to another address <code>y.y.y.y</code> (a second JMS broker). The system S must be completely unaware of the <em>splitting operation</em>. The requirement is <em>not to use</em> networks of jms brokers, jms broker proxies or to play with brokers topology in general. The reason for that is to be general enough to manage protocols other than JMS as possible next steps. JMS connections uses TCP+TLS with mutual authentication.</p>
  
  <p>The system S is made of both Linux and Windows servers.</p>
  
  <p>I would like to do this at software level in order to cope with virtualization of both networks and servers.</p>
  
  <p><strong>What is the best strategy to achieve this? Is there specific software/library that you would recommend, preferably in java?</strong> </p>
  
  <p>Thanks!</p>