Enviar uma mensagem TCP ou UDP pelo terminal do Linux

É possível, apenas pelo terminal do Linux, enviar uma mensagem para qualquer estação na rede, deste modo:

echo "[MENSAGEM]" > /dev/[PROTOCOLO]/[HOST]/[PORTA]

Exemplo UDP

echo "teste" > /dev/udp/192.168.0.10/5478

echo "teste" > /dev/udp/localhost/5478

Exemplo TCP

echo "teste" > /dev/tcp/localhost/5478

Exemplo de teste de porta TCP aberta

(echo >/dev/tcp/192.168.0.10/5478) &>/dev/null && echo "Porta 5478 aberta" || echo "Porta 5478 fechada"

Script para procurar portas abertas

Esse script procura portas abertas em um determinado host, crie um arquivo chamado portscan.sh, por exemplo, copie o código abaixo e dê direito de execução.

#! /bin/bash

echo "Procurando portas abertas em "$1" varrendo portas TCP de "$2" até "$3

for ((p=$2; p<=$3;p++ ))
do
  (echo >/dev/tcp/$1/$p) >/dev/null 2>&1 && echo "Porta TCP $p aberta" 
done

Chame o script, passando como parâmetros o host. a porta inicial e a final, nesta ordem, como no exemplo abaixo:

 

[]’s

Paulo Collares

Servo de Jesus Cristo, Analista de Sistemas, com especialidade em Engenharia de Software Saiba mais sobre mim