Skip to content

Instantly share code, notes, and snippets.

@H2NCH2COOH
Last active July 30, 2019 08:22
Show Gist options
  • Save H2NCH2COOH/7d5972e4b2be0f86f287c8ff733063c5 to your computer and use it in GitHub Desktop.
Save H2NCH2COOH/7d5972e4b2be0f86f287c8ff733063c5 to your computer and use it in GitHub Desktop.
#!/bin/sh
while [ $# -gt 0 ]; do
case $1 in
-u|--user)
SSH_USER=$2
shift
;;
-s|--ssh)
SSH_ADDR=$2
shift
;;
-sp|--ssh-port)
SSH_PORT=$2
shift
;;
-lp|--local-port)
LOCAL_PORT=$2
shift
;;
-t|--target)
TARGET_ADDR=$2
shift
;;
-tp|--target-port)
TARGET_PORT=$2
shift
;;
esac
shift
done
if [ -z "$SSH_ADDR" -o -z "$TARGET_ADDR" -o -z "$TARGET_PORT" ]; then
echo "Usage: $0 [-u USER] [-lp LOCAL_PORT] -s SSH_ADDR [-sp SSH_PORT] -t TARGET_ADDR -tp TARGET_PORT"
echo " -u|--user USER Username for SSH"
echo " -s|--ssh SSH_ADDR Address for SSH"
echo " -sp|--ssh-port SSH_PORT Port for SSH (default 22)"
echo " -lp|--local-port LOCAL_PORT Local port to listen (default TARGET_PORT)"
echo " -t|--target TARGET_ADDR Address for proxy"
echo " -tp|--target-port TARGET_PORT Port for proxy"
exit 1
fi
PIPE_FILE=/tmp/jmp-pipe-$$
mkfifo $PIPE_FILE
nc -kl ${LOCAL_PORT:-$TARGET_PORT} < $PIPE_FILE | \
ssh -p ${SSH_PORT:-22} ${SSH_USER:-$USER}@$SSH_ADDR "nc $TARGET_ADDR $TARGET_PORT" > $PIPE_FILE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment