An open API service indexing awesome lists of open source software.

https://github.com/codeexpress/tcpmirror

Mirror TCP traffic on one port to multiple ports/destinations
https://github.com/codeexpress/tcpmirror

ab-testing golang mirror-tcp-traffic port-mirroring qa streams tcp-proxy

Last synced: about 1 month ago
JSON representation

Mirror TCP traffic on one port to multiple ports/destinations

Awesome Lists containing this project

README

          

# TCP Mirror

`tcpmirror` duplicates TCP traffic received on a port to more than one destination ports.
One of the destination is the primary server (port) which responds
to the incoming TCP traffic. Other streams are duplicate streams and
any response from the respective servers is discarded.

## Why

This is helpful in the following scenarios:

- To test a Dev/QA/secondary server with the same requests, traffic
and load that the primary production server handles.

- To do performance testing of candidate servers against the existing
production server.

- To re-write the server in another language and make sure that the
new server responds the same as existing server for same requests.

## Install

### Download from the releases pages

Download pre-built binary from the release page.

### Use `go get`

If you have `golang` tools installed, you can download and build the source code
locally as follows:
```
$ go get github.com/codeexpress/tcpmirror
```
The `tcpmirror` binary is now available in your `$GOPATH/bin` directory

### Compile from source

```
$ git clone https://github.com/codeexpress/tcpmirror.git
$ cd tcpmirror; go run tcpmirror.go
```

## Sample use case