この記事では、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
-G<ディレクター数> ソース ルーティング ディレクターを設定します。その値は 4 の倍数です。
-h オンライン ヘルプ。
-i 情報の送信と通信ポートのスキャンの時間間隔を設定します。
-l 受信データを制御するにはリスニング モードを使用します。
-n ドメインネームサーバーを経由せずに、IP アドレスを直接使用します。
-o ファイル名を指定し、送信されたデータを 16 進数でこのファイルにダンプして保存します。
-p ローカルホストが使用する通信ポートを設定します。
-r - ローカルホストとリモートホストの通信ポートを乱数で指定します。
-s
その基本的な使用法を見てみましょう:
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
以上がLinuxシステムのncコマンドとは何ですか? ncコマンドの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。