Knockd (bate, bate, bate na porta do céu)
Knockd é um servidor port-knock. Ele escuta todo o tráfego em uma interface Ethernet (ou PPP), procurando por "batidas" sequências de requisições. Um cliente faz requisições para o servidor enviando um pacote TCP (ou UDP) para uma porta no servidor.
[ Hits: 9.973 ]
Por: Bruno Viana em 08/05/2017 | Blog: https://myshell.blog
function printUsage() { echo "" echo "$(basename "$0") -s Server_Knockd -p PORTA1 PORTA2 PORTA2 -P Pora_ssh_diferente" echo "$(basename "$0") -s 192.168.0.222 -p 7000 8000 9000 -P 2222" echo "" echo "-s ou --host: Especifica o servidor alvo" echo "-p ou --port: Especifica as portas para batida (knock)" echo "-P ou --port-ssh: Especifica as porta padrão, se nada for passado sera usado as padrão (22)" echo "" exit } if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ] || [ -z "$6" ];then printUsage fi
while true ;do case "$1" in -s | --host) ip="$2"; shift 2 ;; -p | --port) porta0="$2" porta1="$3" porta2="$4" shift 4 ;; -P | --port-ssh) portaSSH="$2"; shift 2 ;; -h | --help) printUsage ; exit ;; *) break ;; esac done
function verificaPorta() { for port in "$porta0" "$porta1" "$porta2"; do if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ];then echo "A porta deve ser um numero entre 1 e 65535" printUsage fi done }
function testaSSH() { timeout 1 bash -c "echo > /dev/tcp/$ip/$1" }
function openClose() { for i in "$porta0" "$porta1" "$porta2"; do echo > /dev/tcp/"$ip"/"$i" sleep 2 done }
function main() { verificaPorta openClose test -z "$portaSSH" && testaSSH 22 test -n "$portaSSH" && testaSSH "$portaSSH" }
#! /bin/bash # Knock Open Close 0.1 # @Author: Bruno Viana function printUsage() { echo "" echo "$(basename "$0") -s Server_Knockd -p PORTA1 PORTA2 PORTA2 -P Pora_ssh_diferente" echo "$(basename "$0") -s 192.168.0.222 -p 7000 8000 9000 -P 2222" echo "" echo "-s ou --host: Especifica o servidor alvo" echo "-p ou --port: Especifica as portas para batida (knock)" echo "-P ou --port-ssh: Especifica as porta padrao, se nada for passado sera usado as padrao (22)" echo "" exit } if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ] || [ -z "$6" ];then printUsage fi function openClose() { for i in "$porta0" "$porta1" "$porta2"; do echo > /dev/tcp/"$ip"/"$i" sleep 2 done } function testaSSH() { timeout 1 bash -c "echo > /dev/tcp/$ip/$1" } function verificaPorta() { for port in "$porta0" "$porta1" "$porta2"; do if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ];then echo "A porta deve ser um numero entre 1 e 65535" printUsage exit fi done } while true ;do case "$1" in -s | --host) ip="$2"; shift 2 ;; -p | --port) porta0="$2" porta1="$3" porta2="$4" shift 4 ;; -P | --port-ssh) portaSSH="$2"; shift 2 ;; -h | --help) printUsage ; exit ;; *) break ;; esac done function main() { verificaPorta openClose test -z "$portaSSH" && testaSSH 22 test -n "$portaSSH" && testaSSH "$portaSSH" } main # End of scrpit
Bom escudo não teme espada: o módulo pam_cracklib
Certificados e OpenSSL - A Sopa de Letras
SSH Connection With non-NIST Russian Cipher and Distro for Military Use
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)