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

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

伊谢尔伦
リリース: 2017-05-30 15:01:20
オリジナル
10266 人が閲覧しました

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

機能説明: ネットワークツールの中でも「スイスアーミーナイフ」とも呼ばれる強力なネットワークツール<( ̄▽ ̄)>には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 < somepage.html; 完了

例 6: HTTP ヘッダーをシミュレートする
[root@hatest1 ~]# nc www.huanxiangwu.com 80
GET / HTTP/1.1
ホスト: ispconfig.org
リファラー: mypage.com
User-Agent: my-browser
ncコマンドの後に赤い部分の内容を入力し、Enterを2回押して相手からHTTPヘッダーの内容を取得します。

例 7:
Chat
server1 のポート 1234 でリッスンする [root@hatest2 tmp]# nc -lp 1234
server2 のポート 1234 で server1 にメッセージを送信する [root@hatest1 ~]# nc server1 1234
このように、双方が互いに通信できます。通常終了するには、Ctrl+D を使用します。
詳しい使用方法については、マニュアルページを参照してください。

nc example.host port example.host ホスト上のポートへの TCP リンクを開きます。リンクが失敗した場合は、エラー メッセージは表示されず、単に終了します
nc -p 31337 -w。 5 例 .host 42 を例で開きます。ホスト host のポート 42 上の TCP リンク。送信元ポートとして 31337 を使用し、タイムアウト リンク時間は 5 秒です
nc -u example.host 53 プロトコルを udp プロトコルとして指定します

構文: nc [-hlnruz][-g][ -G][-i][-o][-p][-s][-v...] [ -w][ホスト名][通信ポート...]

パラメータ:
-g ルータージャンプ通信ゲートウェイを設定します。最大 8 つまで設定できます。
-G<ディレクター数> ソース ルーティング ディレクターを設定します。その値は 4 の倍数です。
-h オンライン ヘルプ。
-i 情報の送信と通信ポートのスキャンの時間間隔を設定します。
-l 受信データを制御するにはリスニング モードを使用します。
-n ドメインネームサーバーを経由せずに、IP アドレスを直接使用します。
-o ファイル名を指定し、送信されたデータを 16 進数でこのファイルにダンプして保存します。
-p ローカルホストが使用する通信ポートを設定します。
-r - ローカルホストとリモートホストの通信ポートを乱数で指定します。
-s データ パケットを送信するローカル ホストの 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート