$ git clone https://github.com/skeeto/endlessh $ cd endlessh/ $ docker build -t endlessh . [...] Successfully built 6fc5221548db Successfully tagged endlessh:latest $ docker run -it endlessh 2020-11-09T15:38:03.585Z Port 2222 2020-11-09T15:38:03.586Z Delay 10000 2020-11-09T15:38:03.586Z MaxLineLength 32 2020-11-09T15:38:03.586Z MaxClients 4096 2020-11-09T15:38:03.586Z BindFamily IPv4 Mapped IPv6 $ docker run -d --name endlessh -p 2222:2222 endlessh $ nc -v localhost 2222 Connection to localhost 2222 port [tcp/*] succeeded! vc"06m6rKE"S40rSE2l &Noq1>p&DurlvJh84S bHzlY mTj-(!EP_Ta|B]CJu;s'1^:m7/PrYF LA%jF#vxZnN3Ai $ iptables -A INPUT -p tcp -m tcp --dport 22 -j TARPIT $ apt install openssh-server The following NEW packages will be installed ncurses-term openssh-server openssh-sftp-server ssh-import-id $ iptables -A OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 10 $ iptables -A OUTPUT -t mangle -p tcp --dport 22 -j MARK --set-mark 10 wlp1s0: mtu 1500 state UP group default qlen 1000 $ tc qdisc add dev wlp1s0 root handle 1: htb $ tc class add dev wlp1s0 parent 1: classid 1:0 htb rate 8000Mbit $ tc class add dev wlp1s0 parent 1: classid 1:5 htb rate 80bit prio 1 $ tc filter add dev wlp1s0 parent 1: prio 1 protocol ip handle 10 fw flowid 5 $ watch -n1 tc -s -g class show dev wlp1s0 $ tc qdisc show dev wlp1s0 $ tc class show dev wlp1s0 $ tc filter show dev wlp1s0 $ ip a | grep wlp1s0 | grep inet inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp1s0 $ ssh 192.168.0.16 $ find / -name chrisbinnie $ tc qdisc del dev wlp1s0 root