Linuxでは、リモートホストの開いているすべてのポートを取得します。

Linuxでは、リモートホストの開いているすべてのポートを取得します。

リモートホストの特定のポートに接続してみてください。ホストに接続できますが(pingコマンドで確認)、ポートは接続されません。

私のサーバーでこのリモートホストのすべてのアクセス可能なポートを確認する方法はありますか?

注:このサーバーは企業のセキュリティサーバーであり、nmapまたはサードパーティ製のツールは利用できず、インストールできません。

ベストアンサー1

うまく動作する以下のスクリプトを試してみてください。

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

おすすめ記事