あいしんくいっと

ありきたりだけど、少しだけ役に立つことをありのままに書こうと思う。

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

time 2016/01/21

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

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

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

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

sponsored link

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 コマンド 使い方メモ

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


sponsored link

down

コメントする




*

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

Author

あいしんくいっと

あいしんくいっと

あいしんくいっとの中の人。

ありきたりだけど、自分なりの視点で少しでも人の役に立つ記事をありのままに書くをモットーに。 たまには役立つことが書けると良いかな。

サイトポリシーはこちら

聞きたいことがあれば、気軽にツイートください♪可能な範囲でお答えします。
follow us in feedly

Twitter

オススメ記事

アーカイブ