8Netcat(nc)コマンド例

Netcat(または略してnc)は、TCP、UDP、またはUNIXドメインソケットに関連するLinuxでの操作を実行するために使用されるシンプルで強力なネットワークコマンドラインツールです。

Netcatは、ポートスキャン、ポートリダイレクト、ポートリスナー(着信接続用)として使用できます。 また、ターゲットサーバーにアクセスするためのバックドアとして使用できます。

この記事では、Netcatの使用コマンドを例とともに説明します。,

LinuxでNetcatをインストールして使用する方法

netcatパッケージをシステムにインストールするには、Linuxディストリビューションのデフォルトのパッケージ

$ yum install nc $ dnf install nc $ sudo apt-get install Netcat 

netcatパッケージがインストールされたら、次の例でnetcatコマンドの使用法を学ぶためにさらに進むことができます。

ポートスキャン

Netcatはポートスキャンに使用できます。 それは開いた港の単一か多数または範囲をスキャンできる。,

例を示します。-zオプションは、実際にデータを送信することなく、単にリスニングデーモンをスキャンするようにncを設定します。 -vオプションは冗長モードを有効にし、-wは確立できない接続のタイムアウトを指定します。,

Linuxで開いているポートのスキャン

Linuxサーバー間でファイルを転送

Netcatでは、二つのLinuxコンピュータまたはサーバー間でファイルを転送することができます。たとえば、ISOイメージファイルをあるコンピューターから別のコンピューターにコピーして転送の進行状況を監視するpvユーティリティーを使用するには、送信者/サーバーコンピューター(ISOファイルが存在する)で次のコマンドを実行します。,

これは、ポート3000でリスニングモード(-lフラグ)でncを実行します。

$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5

受信者/クライアントコンピューターで、次のコマンドを実行してファイルを取得します。

$ nc 192.168.1.4 3000 | pv | tar -zxf -
Linuxシステム間のファイル転送

コマンドラインチャットサーバーを作成

Netcatを使用して簡単なコマンドラインメッセージングサーバーを作成することもできますすぐに。, 前の使用例と同様に、ncはチャットルームに使用される両方のシステムにインストールする必要があります。

あるシステムで、次のコマンドを実行して、ポート5000でリッスンするチャットサーバーを作成します。

$ nc -l -vv -p 5000

他のシステムで、次のコマンドを実行して、メッセージングサーバーが実行されているマシンに対してチャットセッションを起動します。,

$ nc 192.168.56.1 5000
コマンドラインでチャットサーバーを作成します

基本的なWebサーバーを作成します

-lオプション。 これを示すには、次のように.htmlファイルを作成します。

$ vim index.html

ファイルに次のHTML行を追加します。

<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>

ファイルに変更を保存して終了します。,

次に、次のコマンドを実行して上記のファイルをHTTP経由で提供します。

$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
コマンドラインでWebサーバーを作成します

webブラウザを開き、次のアドレスを使用してコンテンツにアクセスできます。,


テストWebサーバー

を押すことでNetcat HTTPサーバーを停止できることに注意してください。

Linuxサーバー接続のトラブルシューティング

Netcatのもう一つの便利な使用法は、サーバー接続の問題のトラブルシューティングです。 ここでは、Netcatを使用して、クライアントが発行したコマンドに応答してサーバーが送信しているデータを確認できます。

次のコマンドは、次のコマンドのホームページを取得しますexample.com—–,

$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80

上記のコマンドの出力には、トラブルシューティングの目的で使用できるwebサーバーから送信されたヘッダーが含まれています。

ポートで実行されているサービスを見つける

Netcatを使用してポートバナーを取得することもできます。 この場合、特定のポートの背後でどのサービスが実行されているかがわかります。 たとえば、特定のサーバーのポート22の背後で実行されているサービスの種類を知るには、次のコマンドを実行します(192.168.56.110をターゲットサーバーのIPアドレス -nフラグは、DNSまたはサービスルックアップを無効にすることを意味します。,

$ nc -v -n 192.168.56.110 80
Find Service Running on Port

Create a Stream Sockets

Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.

$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create Stream Socket in Command Line

Create a Backdoor

You can as well run Netcat as a backdoor., しかし、この通りです。 Netcatがターゲットサーバーにインストールされている場合は、それを使用してバックドアを作成し、リモートコマンドプロンプト

バックドアを動作させるには、Netcatがターゲットサーバー上の選択したポート(例えばポート3001)をリッスンする必要があり、次のようにマシンからこのポートに接

これは、-dオプションがstdinからの読み取りを無効にし、-eターゲットシステムで実行するコマンドを指定するリモートサーバー,

$ nc -L -p 3001 -d -e cmd.exe 

最後に、NetcatはHTTP、SSH、および多くを含むさまざまなサービス/プロトコルのプロキシとして使用できます。 詳細については、manページを参照してください。

$ man nc

この記事では、8つの実用的なNetcatコマンドの使用例について説明しました。 まっている場合その他の実用化の場合には、当社と共有の声を利用する場合に必要となります。 あなたも質問をすることができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ツールバーへスキップ