前回も紹介したLinuxでポートの疎通確認を行う際によく用いるncコマンド。
実はこのコマンド、netcatではなくCentOS 7の場合だとnampプロジェクトのncatに置き換えられているのだ。
今後はncもこのncatコマンドに置き換えられている事になるので、このコマンドの使い方についても(あんま変わらんけど)紹介することにした。
なお、検証に使用したコマンドはCentOS 7に入れている"Ncat: Version 6.40 ( http://nmap.org/ncat )"とする。
[root@test-centos7 ~]# nc --version
Ncat: Version 6.40 ( http://nmap.org/ncat )
コマンドが置き換わったため、netcatでは使えていたオプションが無かったりする。
例えば「-z」オプションなんて無いので、レンジ指定で空きポートを確認する手法は使うことが出来ないので注意が必要だ。
なお、前回紹介した手法のうち、以下についてはnetcatコマンドと変わらないため、割愛する。
変わった(できなくなった)のは、ポート範囲を指定してのスキャンだけだ。
- 1.基本的な使い方・クライアントとして動作させる
- 2.基本的な使い方・サーバとして動作させる
- 3.ファイルを転送する
- 4.IPv4、IPv6を指定する
- 5.通信の詳細を取得する
- 6.ソースアドレス・ポートを指定する
- 8.ポートへのアクセス時にコマンド(bash等)が実行されるようにする
1.通信にsslを利用する
ncatの場合、「--ssl」を付与することで通信にSSLを使用することができる。
デフォルトではSHA1で通信が行われる。
nc -vl ポート番号 --ssl # サーバ側
nc -v 対象ホスト(IPアドレス等) ポート番号 --ssl
SSLで通信を行わせる場合は、サーバ・クライアントともに「--ssl」オプションを付与する必要がある点に注意。
SSLを利用できるということで、その他のオプション(鍵ファイルを指定したり等)も付与する事が出来る。
2.SCTPで通信を行う
あまり使うシチュエーションは思いつかないが、「--sctp」を付与することで、SCTPプロトコルでの通信を行う事も出来る。
3.送信・受信専用にする
オプションとして「--send-only」を付与することで送信専用に、「--recv-only」を付与することで受信専用として動作させることができる。
例えば、右側のコンソールをクライアントとして送信専用にすると、左のコンソールで入力した内容は受信されない。
その他、細かいオプション(同時接続数の制限や接続許可ホストの指定、コマンドの実行方法など)もあるが基本的にはnetcatとそう変わらない。