Mnemosyne

Linux, 機械学習について個人的なメモを綴っていきます

Perlを用いてホストの指定ポートが解放されているかを確認する

f:id:free6464:20180216195401p:plain
CentOSUbuntuではnmapやtelnetがデフォルトで入っていないので、Perlを用いてポートスキャンを行えるようにしました。
今回実行した環境は以下の通りです。

ポートスキャンをするにあたってIO::Socket::INETモジュールを使用しました。
このモジュールはPerl v5.6.0以上からコアモジュールとなっています。


gist6e75c1e3f5c8fa3b4e505b8e032dce57

使い方はperl Confirmation_Port.pl [HOST名] [PORT番号] [tcp または udpと入力]です。

本当は、PROTOにはデフォルトで"tcp"の値が入力されるのですが、
コマンドラインから入力値を持ってきたかったのでコマンドライン引数が3つ無かった場合は
エラーとして処理するようにしました・・・(精進します)

試しに、デフォルトのポート番号から変更済みのsshポートに対してポートスキャンを行った結果、
f:id:free6464:20180216203641p:plain
となりました。

<追記>

うまいことワンライナーで走るPerlプログラムを公開されている方がいましたので
紹介させて頂きます。
atomitech.jp