あいしんくいっとオススメ商品レビュー

Linuxでポート指定してファイル転送するなら「nc」を使え!

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

ども。あいしんくいっと(@ithinkitnet)です。

FTPはもちろん、SSH(SCP)といったポートが片っ端から閉じられていてファイル転送が出来ない。HTTPなら開いてるんだけどなー。」
WEBDAVなんてないし、どうしよう。さぁ、困った、困った。」

そんな時はncというコマンドを使うことで、好きなポートを指定してファイル転送を行うことが出来ます。
Unix系のサーバ(※)であれば標準で入ってます。

※ ncはUnix系サーバ間でのファイル転送にしか使えません

ncについて

では、適当なデータを作成してncを試してみたいと思います。

データ作成

ddコマンドを使ってテスト用データを作成します。


# dd if=/dev/zero of=hoge.dat bs=1024 count=10000
10000+0 レコード入力
10000+0 レコード出力
10240000 バイト (10 MB) コピーされました、 0.28163 秒、 36.4 MB/秒

送信側サーバで実施

送信側のサーバで任意のポート番号を指定して下記のコマンドを発行します。

# nc -l <任意のポート> < <任意のファイル名>

受信側サーバで実施

受信側となるサーバで送信側で設定したポート番号を指定して下記コマンドを発行します。

# nc <送信側サーバIP or FQDN> <送信側で設定したポート番号> > <任意のファイル名>

ncを使ったファイル転送

では、例として80番ポートを使ったファイル転送を試してみたいと思います。

送信側サーバで実施


# nc -l 80 &lt; hoge.dat

受信側サーバで実施


# nc xxx.xxx.xxx.xxx 80 &gt; hoge.dat
※xxx.xxx.xxx.xxxは送信側サーバのIPもしくはFQDN

転送後は必ずファイル比較

注意点としてはファイル転送の終了がパッと見分からないのと、
ファイル整合性のチェックは念のためにしておいたほうが良いと思います。
送信側サーバ、受信側サーバでファイルの整合性をそれぞれチェックします。


・送信側サーバ
# md5sum hoge.dat
596c35b949baf46b721744a13f76a258 hoge.dat
・受信側サーバ
# md5sum hoge.dat
596c35b949baf46b721744a13f76a258 hoge.dat

一致してれば問題なし、的な。

ncコマンドは昔からあるコマンドですが、意外に知られてなかったりするので覚えておくと大変便利なコマンドです。
コマンドオプションも豊富で、今回紹介した以外にも便利な使い方が出来るので興味がある方は調べてみてください。

参考  nc コマンド 使い方メモ

以上、あいしんくいっとでした^^

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)