summaryrefslogtreecommitdiffstats
path: root/scripts/tcp-proxy.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2020-03-21 10:28:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-02-07 11:16:53 +0000
commit06cba6ccd165ca8b224797e37fccb9e63f026d77 (patch)
treee82f1bc439997ae296f2e74f8a64d84c5d95f140 /scripts/tcp-proxy.sh
parentInitial commit. (diff)
downloadiredis-06cba6ccd165ca8b224797e37fccb9e63f026d77.tar.xz
iredis-06cba6ccd165ca8b224797e37fccb9e63f026d77.zip
Adding upstream version 1.9.1.upstream/1.9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/tcp-proxy.sh')
-rwxr-xr-xscripts/tcp-proxy.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/tcp-proxy.sh b/scripts/tcp-proxy.sh
new file mode 100755
index 0000000..ff0ce53
--- /dev/null
+++ b/scripts/tcp-proxy.sh
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+# Display TCP packets
+# code from:
+# https://notes.tweakblogs.net/blog/7955/using-netcat-to-build-a-simple-tcp-proxy-in-linux.html
+
+if [ $# != 3 ]
+then
+ echo "usage: $0 <src-port> <dst-host> <dst-port>"
+ exit 0
+fi
+
+TMP=`mktemp -d`
+BACK=$TMP/pipe.back
+SENT=$TMP/pipe.sent
+RCVD=$TMP/pipe.rcvd
+trap 'rm -rf "$TMP"' EXIT
+mkfifo -m 0600 "$BACK" "$SENT" "$RCVD"
+sed 's/^/ => /' <"$SENT" &
+sed 's/^/<= /' <"$RCVD" &
+nc -l 127.0.0.1 "$1" <"$BACK" | tee "$SENT" | nc "$2" "$3" | tee "$RCVD" >"$BACK"