FTP、NFS、Sambaなど、複数のコンピューター間でファイルを転送するのに役立つソフトウェアがたくさんあります。ただし、これらのサービスを誤って構成すると、サーバーが攻撃に対して脆弱になる可能性があります。これが懸念される場合は、Netcatを使用して複数のデバイス間でファイルを安全に転送できます。
「TCP/IPスイスアーミーナイフ」とも呼ばれるNetcatは、ローカルネットワークまたはインターネットを介してファイルを転送できるコマンドラインネットワークツールです。追加のサービスを必要とせずにデータを転送する簡単な方法を提供します。
このガイドでは、Netcatを使用してLinuxでファイルを転送する方法を説明します。
前提条件
- Atlantic.Netクラウドプラットフォーム上のLinuxサーバー
- サーバーで構成されているrootパスワード
このチュートリアルでは、次の設定を使用します。
- 送信者ホストIP :69.87.221.67
- 受信者ホストIP :45.58.46.205
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu、CentOS、またはRocky Linuxを選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
または
dnf update -y
ステップ2–Netcatをインストールする
UbuntuおよびDebianベースのディストリビューションの場合、次のコマンドを使用してNetcatをインストールします。
apt-get install netcat-openbsd pv -y
CentOSおよびRHELベースのディストリビューションの場合、次のコマンドを使用してNetcatをインストールします。
dnf install nmap-ncat pv -y
ステップ3–2台のLinuxマシン間でファイルを転送する
まず、送信者ホストでサンプルfile.txtを作成します。
echo "Transferring file using Netcat" > file.txt
次に、ファイルを受信する受信側ホストでncコマンドを実行する必要があります。
nc -l -p 8585 > file.txt
このコマンドは、ポート 8585で着信要求をリッスンするようにncに指示します。 リクエストを受け取るまで。リクエストを受信すると、 file.txtを受信します ファイル。
次に、送信者ホストに移動し、次のコマンドを実行して file.txtを送信します 受信者ホストへのファイル:
nc -N 45.58.46.205 8585 < /root/file.txt
ステップ4–2台のLinuxマシン間でファイルを転送および圧縮する
このセクションでは、Netcatを使用して大きなファイルを転送および圧縮する方法を示します。
この例では、 ubuntu.isoを転送します あるマシンから別のマシンへのファイル。
ubuntu.isoを転送する送信側のマシン ファイルの場合は、次のコマンドを実行します:
tar -zcf - ubuntu.iso | pv | nc -l -p 8585 -q 25
上記のコマンドでは、tarを使用してファイルを圧縮し、pvコマンドを使用してファイルの進行状況を監視しています。
次に、レシーバーマシンに移動し、次のコマンドを実行してubuntu.isoファイルを受信します。
nc 69.87.221.67 8585 | pv | tar -zxf -
結論
おめでとう! Netcatコマンドを使用して、2台のコンピューター間でファイルを正常に転送しました。これで、Netcatを使用して、安全なネットワークを介してファイルを転送できます。 Atlantic.Netの仮想プライベートサーバーで試してみてください。