ホームページ >運用・保守 >Linuxの運用と保守 >Linuxシステムのncコマンドとは何ですか? ncコマンドの使い方を詳しく解説

Linuxシステムのncコマンドとは何ですか? ncコマンドの使い方を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-05-30 15:01:2010268ブラウズ

この記事では、Linux システムにおける nc コマンドの基本的な使用法を主に紹介します。nc コマンドは、ポート スキャンとファイル転送に関する基本的な使用法を簡単に紹介します。

機能説明: ネットワークツールの中でも「スイスアーミーナイフ」とも呼ばれる強力なネットワークツール0a0ab0495c3035f36a29016608ecf616にはWindows版とLinux版があります。短く簡潔で実用的なため、TCP または UDP プロトコルを通じてデータの読み取りおよび書き込みを送信できる、シンプルで信頼性の高いネットワーク ツールとして設計されています。同時に、必要に応じてさまざまな種類のネットワーク接続を作成できるため、ネットワーク アプリケーション デバッグ アナライザーとしても機能します。
nc は次のネットワーク機能を提供できます:
1) 特定のポートをリッスンすると、nc をサーバーとして使用できますが、この方法で nc を使用して生成されたサーバーは単なるエコー サーバーであり、他には何も持たないことがわかりました。より強力な機能
2) 特定のポートに接続します。このとき、nc も同様に、エコーの役割のみを実行できる単純なクライアントになります。
3) 使用できるポートをスキャンします。特定のマシンが特定のポートで有効になっているかどうかを問い合わせる
いくつかの具体的な使用例


例 1:
Linux で特定のポートを開くには、nc を使用します
nc -lp 23 & (つまり、telnet)
netstat - an|grep 23 (ポートが正常に開いているかどうかを確認します)

例 2:
ファイル転送に nc を使用、コマンド
ssh root@www.freetstar.com "( nc -l 10003 > destination 2>/dev/null & )" && cat source | nc www.freetstar.com 10003
&& フロントで、ssh を使用してリモート ホスト www.freetstar.com にログインし、nc コマンドを使用してローカル 10003 ポートを開き、バックグラウンド プロセスになります
&& バックでは、ローカル マシンでソース ファイルを開き、www.freetstar.com ポート 10003 にリダイレクトします。つまり、リモート www.freetstar.com ホスト ポート 10003 でソース ファイルを受信します

例 3:
Linux で特定のポートをスキャンするには nc を使用します
nc -v -z host.example.com 70-80
ポートをスキャンします (70 ~ 80)、範囲を指定できます。 -v は詳細な情報を出力します。

例 4:
ハードディスクまたはパーティションのクローン作成
例 2 と同様に、dd からハードディスクまたはパーティションのデータを取得して転送するだけです。
ハードディスクまたはパーティションのクローン作成操作は、マウントされているシステム上では実行しないでください。したがって、インストール CD を使用してブートし、レスキュー モードに入り (または Knoppix ツール CD を使用して) システムを起動し、server1 で次のコマンドを実行する必要があります。サーバー 1 でリッスンし、取得したファイルを /dev/sda に保存します。
サーバー 2 で実行します。 # dd if=/dev/sda 1234

例 5:
Web ページを保存する
while true; 80 - q 1 8a17ab72673f6702d17fae4f141aee77][ -G][-i][-o][-p][-s][-v...] [ -w][ホスト名][通信ポート...]

パラメータ:
-g73f07b02b8e329271b84a1cdf7f36a79 ルータージャンプ通信ゲートウェイを設定します。最大 8 つまで設定できます。
-Gcd4dac1ca7f8fbb09fc93ea172379ebb ソース ルーティング ディレクターを設定します。その値は 4 の倍数です。
-h オンライン ヘルプ。
-i 情報の送信と通信ポートのスキャンの時間間隔を設定します。
-l 受信データを制御するにはリスニング モードを使用します。
-n ドメインネームサーバーを経由せずに、IP アドレスを直接使用します。
-o ファイル名を指定し、送信されたデータを 16 進数でこのファイルにダンプして保存します。
-p ローカルホストが使用する通信ポートを設定します。
-r - ローカルホストとリモートホストの通信ポートを乱数で指定します。
-sebe9dff2ea243408392d26c2a6895070 データ パケットを送信するローカル ホストの IP アドレスを設定します。
-u UDP トランスポート プロトコルを使用します。
-v は命令の実行プロセスを示します。
-w 接続を待つ時間を設定します。
-z 0 入出力モードを使用し、通信ポートをスキャンする場合にのみ使用します。

その基本的な使用法を見てみましょう:

1. ローカルポートをリッスンします

root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234

tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 1 5543/nc

2.ポートスキャン

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80

(UNKNOWN) [10.1.1.180] 80 (www) open

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000

(UNKNOWN) [10.1.1.180] 22000 (?) open
(UNKNOWN) [10.1.1.180] 80 (www) open

3.ファイル送信

送信元 10.1.1.43 text.txt

送信先 10.1.1.180

root@10:~# nc -l -p 1234 > test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt    
root@10.1.1.43:~# nc  10.1.1.180 1234 < test.txt  #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc


4. ディレクトリ転送

送信元 10.1.1.43 python_program

送信先 10.1.1.1 80

root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf -  python_program | nc 10.1.1.180 1234

python_program/
python_program/1. py
python_program /4.py
python_program/3.py

5. UDP ポートをテストします

root@172.16.211.34:web# netstat -tunlp

アクティブなインターネット接続 (サーバーのみ)
Proto Recv-Q Send-Q Local Address 0 0 0.0 .0.0: 22 0.0。 0.0:* リッスン 1111/SSHD
Udp 0 0.0.0.0:68 0.0.0:* 887/DHClient


root@172.16.211.35:~# nc -vuz  172.16.211.34 68
e

172.16.211.34 68 ポート [UDP/BOOTPC] に成功しました ブリーチ

以上がLinuxシステムのncコマンドとは何ですか? ncコマンドの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。