Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # program to knock (telnet or netcat)
- prog="telnet"
- # must be equal to time period on knocking server
- time_period=100
- # period between knocking sequence and ssh connect
- sleep_period=2
- # ssh user
- username=$1
- # destination ip
- ip=$2
- if [ $# -ne 2 ]; then
- echo "usage: ./clientname username ip_address"
- exit
- fi
- read -p "enter base port of knocking: " -s port0
- echo
- read -p "enter knocking password: " -s pass
- echo
- # calculate secure sequence of ports
- time=`date +%s`
- time_stamp=$(($time/$time_period))
- sum=`echo $pass$time_stamp | md5sum`
- i=0
- ports=""
- while [ $i -lt 16 ]
- do
- j=${sum:$i*2:2}
- port=$(($port0+0x$j*16+$i))
- ports="$ports $port"
- i=$((i+1))
- done
- # start knocking
- (
- for port in $ports
- do
- $prog $ip $port &
- done
- pkill $prog
- ) >/dev/null 2>&1
- echo "knocking done"
- sleep $sleep_period
- echo "trying to ssh ..."
- ssh -l $username $ip
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement