Получить все открытые порты для удаленного хоста в Linux

В качестве альтернативы ответу Филлипа Моксли , вы можете редактировать файл /etc/default/openvpnи измените строку AUTOSTARTна

AUTOSTART="server"

0
25.03.2020, 06:53
2 ответа

Пробовал со скриптом «Ниже» работал нормально

for i in host1 host2; 
do 
timeout 10 ssh -o 'StrictHostKeyChecking no' $i -A "exit"
if [[ $? == 0 ]]
then 
echo "host $i is sshable"
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
k=`hostname`
netstat -altnp| awk '$0 ~ /LISTEN|ESTABLISHED/'| awk '{print $4}'| awk -F ":" '{print $NF}'| awk '{if(!seen[$1]++)print $0}'| sed "1i below are open ports on the host '$k'"
EOF
else echo "host $i is not sshable"
fi
done
0
28.04.2021, 23:19

Этот скрипт работал для сканирования одного порта

if timeout 5 bash -c '</dev/tcp/kernel.org/443 &>/dev/null'
then
  echo "Port is open"
else
  echo "Port is closed"
fi

Я не уверен, что 1 секунда — это слишком быстро, чтобы поймать открытый порт, но вот полный список портов.

#!/bin/bash
for PORT in {1..65535}; do
timeout 1 bash -c "</dev/tcp/45.62.xxx.xxx/$PORT &>/dev/null" &&  echo "Port $PORT is open"
done
0
28.04.2021, 23:19

Теги

Похожие вопросы