Last active
July 30, 2019 08:22
-
-
Save H2NCH2COOH/7d5972e4b2be0f86f287c8ff733063c5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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