diff options
Diffstat (limited to 'scripts/tcp-proxy.sh')
-rwxr-xr-x | scripts/tcp-proxy.sh | 20 |
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" |