20 lines
511 B
Bash
Executable file
20 lines
511 B
Bash
Executable file
#!/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"
|