外部プログラムなしでbash言語のみを使用してリモートホストでポートスキャンを実行できますか?
bashの組み込み機能を見た後、私は次のように答えました。いいえ。ただし、bashの組み込み機能にはありませんが、実行できるいくつかの回避策やその他の可能なコマンドがある可能性があります。
答え1
BashのTCP接続サポートを使用して、開いているポートを確認できます。
if 2>/dev/null >"/dev/tcp/${IP}/${PORT}"; then echo open; fi
${PORT}
親ポートに接続が開いていることを確認してください${IP}
。
テスト自体はリダイレクトを試みることによって行われます。標準エラーを()にリダイレクトすると、/dev/tcp/${IP}/${PORT}
宛先ポートにアクセスできないときに/dev/null
結果のエラーメッセージが非表示になります。2>/dev/null
これは、ループ内のすべてのポートを検索するために使用できます。