summaryrefslogtreecommitdiffstats
path: root/scripts/tcp-proxy.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:38:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:38:04 +0000
commite0847dd62461001851da4c89f279e16b14c3eb4c (patch)
tree87422376dd9a7eee55850f0fce9a8bb4c13e44a2 /scripts/tcp-proxy.sh
parentInitial commit. (diff)
downloadiredis-upstream/1.13.0.tar.xz
iredis-upstream/1.13.0.zip
Adding upstream version 1.13.0.upstream/1.13.0upstream
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"