読み取りと書き込みは、すべてのシステムのデータに適用できる基本的な操作です。 TCPは、伝送制御プロトコルと略され、ネットワーク上のコンピューターがメッセージを送受信しやすくするコネクション型通信プロトコルです。これは、インターネットプロトコル(IP)を使用するネットワークで最も広く使用されているプロトコルです。一緒に使用する場合は、TCP/IPと呼ばれることもあります。 UDPは、ユーザーデータグラムプロトコルと略され、インターネット上のアプリケーション間に低遅延で損失耐性のある接続を構築するために使用される通信プロトコルです。
ここLinuxAPTでは、Ubuntu 20.04(Linux OS)でTCPおよびUDPプロトコルを使用してネットワーク間でディスクの読み取りと書き込みを行うために使用されるコマンド「Netcat」について説明します。
Netcatの詳細?
Netcatは、ITチームにとって便利なツールですが、内部で管理されるネットワークサービスとクラウドコンピューティングの成長により、その特定の環境は自然に適合します。
Netcatユーティリティアプリケーションには、ネットワークを管理し、システム間のデータレベルを監視するためのいくつかの命令が含まれています。 TCPおよびUDPプロトコルは、インターネットなどのコンピュータネットワークの基盤です。これは、ネットワークツールのスイスアーミーナイフと見なされており、ネットワークおよびシステム管理者の武器庫で最も効果的なツールの1つです。 Netcatは、Linux、Windows、Mac OS X、およびBSDで実行されるクロスプラットフォームプログラムです。 Netcatを使用して、接続の問題をデバッグおよび分析したり、開いているポートをスキャンしたり、データを転送したり、プロキシとして機能したりできます。
Netcatを使用してネットワーク全体でデータを読み書きするにはどうすればよいですか?
macOSおよびUbuntuやDebianなどの一般的なLinuxディストリビューションでは、Netcatパッケージがプリインストールされています。 「Netcat」ユーティリティの一部を以下に示します。
- Netcatを介してポートスキャンを実行します。
- Netcatを介したファイルの送信。
- Netcatを介してWebサーバーを作成します。
構文は次のとおりです。
$ nc [options] host port
Ubuntuシステムでは「nc」または「netcat」のいずれかが使用されます。
TCP接続が確立され、デフォルトでNetcatによってホスト/ホストとポート/ポートが提供されます。
UDP接続を作成する場合は、-uオプションを使用します。
$ nc -u host port
1.Netcatを介してポートスキャンを実行します
最も普及しているNetcatアプリケーションの1つは、ポートスキャンです。単一のポートまたはポートの範囲をスキャンするオプションがあります。
a。 TCPの場合、開いているポートをスキャンするには:
Netcatを使用して30〜60の範囲で開いているポートをスキャンするには、以下のコマンドを実行します。
$ nc -z -v 10.0.2.15 30-60
- -zは、開いているポートをスキャンするだけで、データを送信しないようにNCに指示します。
- -vは冗長性に関する情報を示します。
grepコマンドを使用して結果をフィルタリングします:
$ nc -z -v 10.0.2.15 2>&1 | grep succeeded
b。 UDPの場合:
スクリプトに-uパラメータを追加するだけで、以下のコマンドでUDPポートを確認できます。
$ nc -z -v -u 10.0.2.15 30-60
2.Netcatを介してファイルを送信する
基本的なクライアントまたはサーバーモデルを確立することにより、Netcatを使用して1つのホストから別のホストにデータを転送できます。これは、受信ホストで-lオプションを使用して、Netcatが特定のポートでリッスンするように設定し、複数のコンピューターから標準のTCP接続を作成して、ファイルを転送することで実現されます。
受信側で以下のコマンドを実行します。これにより、着信接続用にポート6666が開き、出力結果がファイルに転送されます。
$ nc -l 6666 > linux1.txt
Linux1.txtは書き込み用に開くファイル名であり、要件に応じてファイル名を変更できます。
これで、受信ホストが送信ホストに接続され、ファイルが送信されます。
$ nc google.com 6666 < linux2.txt
3.Netcatを介してWebサーバーを作成する
まず、nanoコマンドを使用して単純なHTML「linux、html」ファイルを作成します。
$ nano linux.html
以下のコンテンツを入力するか、htmlファイルのルールに従って要件に応じてコンテンツを追加できます。
<html>
<head>
<title> Linux<title>
<head>
<html>
「Ctrl+S」で保存し、「Ctrl + X」でファイルを閉じます:
$ printf 'HTTP/1.1 200 OK\n\n%s' "$(cat linux.html)" | netcat -l 8888
これでブラウザで、以下のリンクからファイルにアクセスできます:
http://server-ip:8888