No Description

Matt Clark 7d99f987ab Remove sleep before establishing flow. 1 year ago
src 7d99f987ab Remove sleep before establishing flow. 1 year ago
.gitignore 1a8f2cf42a First commit of TCTapes. 1 year ago
.project 1a8f2cf42a First commit of TCTapes. 1 year ago
README.md acc4d60eed Changes to README and mode selection. 1 year ago
pom.xml 86b06f33ce Output package is built with maven. 1 year ago

README.md

TCTapes

TCTapes is a TCP Proxy service capable of recording and replaying all traffic through a socket connection.

Building

Managed with Apache Maven, building the runable application is as simple as running a single maven command:

$mvn install

Once the build has completed, the runnable service will be found in the target directory.

Modes of Operation

The service has three modes of operation; one for recording data passed through the proxy from application to application, and two other modes which will allow for playback of the recorded data in either direction.

Stream Socket to Socket

When run in a mode to stream from one socket to another, the service will first establish a port bind on the desired port. On connection from a client, the service will attempt to establish a client connection to the selected server.

The service will continue to proxy all messages between the hosts while recording a replayable log file.

java -jar tctapes.jar --listen 1234 --connect 192.168.1.2:1234

Stream File to Socket Server

When run in a mode to stream from a file to a server socket, the service will first try to establish a client socket connection to the specified server; if the connection is successful, the log file will begin to be streamed.

java -jar tctapes.jar --tape /path/to/tape --connect 192.168.1.2:1234

Stream File to Socket Client

When run in a mode to stream from a file to a socket client, we must first establish a port bind on the requested port. When the service detects an incoming client connection it will accept the connection and stream the proper log file to the client.

java -jar tctapes.jar --tape /path/to/tape --listen 1234

About

TCTapes was built to allow for simple network based hardware testing where the hardware might not always be readily available. With the ability to record and replay specific events, the user has the ability to use actual hardware to record a specific secquence of input events - which can then be replayed multiple times to observe different behaviors in the target system of test.