Nmap は bash でポートが開いていることを確認します。

Nmap は bash でポートが開いていることを確認します。

サーバーでポートが開いていることを確認するスクリプトを作成したいと思います。開かない場合はしばらく滞在してください。開いている場合は続けます。使用される割り込み条件は「終了」ではなく「ホスト動作中」です。接続が良くなったようです。問題は、grepが期待どおりに機能しないことです。

私は以下を試しました:

while true; do
 NMAP=$(nmap -p 1700 router.eu.thethings.network)
 if [[$NMAP | grep "Host is up" -ne ""]] && [[$NMAP | grep "closed" -eq ""]]; then
    echo "connection!!!"
    break
 fi


 echo "waiting for connectiong"
 done

私はRaspberry Pi Jesseシステムで実行しています。

ベストアンサー1

nmap -p 1700 router.eu.thethings.network

ホストネットワークが動作していてポートでリッスンしているものがない場合は、「Host is up」が印刷されます。代わりに使用してくださいnc

if nc -w1 -z router.eu.thethings.network 1700; then
  echo "Port is listening"
else
  echo "Port is not listening"
fi

おすすめ記事