xxdによるバイナリファイルのメモ帳コピー

未分類

サーバ上のバイナリファイルをクライアントに複写したいときに、xxdコマンドとメモ帳でファイルを複写することができます。

やりたいこと

サーバ上のバイナリファイルをクライアントにコピーしたい。
例)
ncコマンドやwgetが使えない環境のサーバ上にあるファイル [gomi.bin]をクライアントにダウンロードしたい。

やり方

xxd コマンドでファイルの内容をダンプ表示して、アスキー文字列としてメモ帳に複写。
メモ帳からダンプデータのテキストファイルを生成し、xxd -rコマンドで復元します。

サーバ側

# サーバ(linux系OS)
# ファイルのダンプデータを表示させる
$ > xxd gomi.bin
00000000: ffd8 ffe0 0010 4a46 4946 0001 0101 0060  ......JFIF.....`
00000010: 0060 0000 ffdb 0043 0002 0101 0201 0102  .`.....C........
00000020: 0202 0202 0202 0203 0503 0303 0303 0604  ................
00000030: 0403 0507 0607 0707 0607 0708 090b 0908  ................
00000040: 080a 0807 070a 0d0a 0a0b 0c0c 0c0c 0709  ................
00000050: 0e0f 0d0c 0e0b 0c0c 0cff db00 4301 0202  ............C...
00000060: 0203 0303 0603 0306 0c08 0708 0c0c 0c0c  ................
00000070: 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c  ................
00000080: 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c  ................
00000090: 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c ffc0  ................
000000a0: 0011 0800 1600 2503 0122 0002 1101 0311  ......%.."......
000000b0: 01ff c400 1f00 0001 0501 0101 0101 0100  ................
000000c0: 0000 0000 0000 0001 0203 0405 0607 0809  ................
000000d0: 0a0b ffc4 00b5 1000 0201 0303 0204 0305  ................
000000e0: 0504 0400 0001 7d01 0203 0004 1105 1221  ......}........!
000000f0: 3141 0613 5161 0722 7114 3281 91a1 0823  1A..Qa."q.2....#
00000100: 42b1 c115 52d1 f024 3362 7282 090a 1617  B...R..$3br.....
00000110: 1819 1a25 2627 2829 2a34 3536 3738 393a  ...%&'()*456789:
00000120: 4344 4546 4748 494a 5354 5556 5758 595a  CDEFGHIJSTUVWXYZ
00000130: 6364 6566 6768 696a 7374 7576 7778 797a  cdefghijstuvwxyz
00000140: 8384 8586 8788 898a 9293 9495 9697 9899  ................
00000150: 9aa2 a3a4 a5a6 a7a8 a9aa b2b3 b4b5 b6b7  ................
00000160: b8b9 bac2 c3c4 c5c6 c7c8 c9ca d2d3 d4d5  ................
00000170: d6d7 d8d9 dae1 e2e3 e4e5 e6e7 e8e9 eaf1  ................
00000180: f2f3 f4f5 f6f7 f8f9 faff c400 1f01 0003  ................
00000190: 0101 0101 0101 0101 0100 0000 0000 0001  ................
000001a0: 0203 0405 0607 0809 0a0b ffc4 00b5 1100  ................
000001b0: 0201 0204 0403 0407 0504 0400 0102 7700  ..............w.
000001c0: 0102 0311 0405 2131 0612 4151 0761 7113  ......!1..AQ.aq.
000001d0: 2232 8108 1442 91a1 b1c1 0923 3352 f015  "2...B.....#3R..
000001e0: 6272 d10a 1624 34e1 25f1 1718 191a 2627  br...$4.%.....&'
000001f0: 2829 2a35 3637 3839 3a43 4445 4647 4849  ()*56789:CDEFGHI
00000200: 4a53 5455 5657 5859 5a63 6465 6667 6869  JSTUVWXYZcdefghi
00000210: 6a73 7475 7677 7879 7a82 8384 8586 8788  jstuvwxyz.......
00000220: 898a 9293 9495 9697 9899 9aa2 a3a4 a5a6  ................
00000230: a7a8 a9aa b2b3 b4b5 b6b7 b8b9 bac2 c3c4  ................
00000240: c5c6 c7c8 c9ca d2d3 d4d5 d6d7 d8d9 dae2  ................
00000250: e3e4 e5e6 e7e8 e9ea f2f3 f4f5 f6f7 f8f9  ................
00000260: faff da00 0c03 0100 0211 0311 003f 00fd  .............?..
00000270: ccf8 d7fb 42f8 07f6 6bf0 adbe bbf1 1bc7  ....B...k.......
00000280: 1e0f f006 8977 76b6 106a 1e24 d66d b4ab  .....wv..j.$.m..
00000290: 59ae 191d d615 9677 4469 0a47 2304 0724  Y......wDi.G#..$
000002a0: 46c7 1853 47c6 bf8d 7a57 c0bf 0adb ea5a  F..SG...zW.....Z
000002b0: 9dbe a179 2ea3 76ba 6699 6968 88ad a8df  ...y..v.f.ih....
000002c0: c88e 6d6c fcf9 9a3b 5b79 2e65 55b7 85ee  ..ml...;[y.eU...
000002d0: a686 17b8 9ede 1f30 4934 6ad9 ff00 b51f  .......0I4j.....
000002e0: ed21 a17e c89f 0275 df88 de29 b3f1 05df  .!.~...u...)....
000002f0: 863c 31f6 79b5 77d1 b4d9 351b 9d3e cdee  .<1.y.w...5..>..
00000300: 228a 7be7 863c c8d6 f6b1 c8d7 13b2 0664  ".{..<.........d
00000310: 8209 9c2b 950a 4ff8 64ef 859f f0a2 7fe1  ...+..O.d.......
00000320: 56ff 00c2 b4f8 7fff 000a cbfe 851f f847  V..............G
00000330: acff 00b0 bfe3 e3ed 5ff1 e5e5 f91f f1f1  ........_.......
00000340: fbef b9fe b3e7 fbdc d006 7f84 ff00 69d8  ..............i.
00000350: fe25 fecc 1a67 c4cf 0878 2fc6 1e2a 9753  .%...g...x/..*.S
00000360: b48a 61e1 3b56 d3ad 35fb 4b8f 3443 7561  ..a.;V..5.K.4Cua
00000370: 70b7 7770 dac1 7967 289a 3b98 64b8 5314  p.wp..yg(.;.d.S.
00000380: 96b3 c7f3 48a1 0e7f ecf5 fb5b 4bf1 c7e2  ....H......[K...
00000390: 9f8b 7c15 abfc 35f8 81f0 cfc4 fe0f d2b4  ..|...5.........
000003a0: bd6e e2cb c4f2 e8f3 fdae cf51 9b50 86de  .n.........Q.P..
000003b0: 5864 d36f ef23 ff00 59a6 5d2b 2bb2 30c2  Xd.o.#..Y.]++.0.
000003c0: 1c10 d9af 50f0 cf84 f4af 05e9 d259 e8da  ....P........Y..
000003d0: 669f a4da 4d77 737f 2416 56e9 046f 7173  f...Mws.$.V..oqs
000003e0: 3c97 1713 1540 0192 59e5 9657 7eae f23b  <....@..Y..W~..;
000003f0: 312c c49f c71f 167f c158 3e3b 78eb e317  1,.......X>;x...
00000400: 8cfe 2f7c 1cf8 2fe1 fbff 00f8 4a34 af84  ../|../.....J4..
00000410: 5a68 d20f c46d 3ffb 76c7 47d4 7c4f aecb  Zh...m?.v.G.|O..
00000420: a52d f40f 6925 adad c6af 697b 0c4f 08b8  .-..i%....i{.O..
00000430: 792c 23d5 acee 03c9 fbd3 6e01 fb3d 4579  y,#.......n..=Ey
00000440: ff00 ecb9 f113 c77f 15fe 04e8 5aff 00c4  ............Z...
00000450: bf87 5ff0 a9bc 6d7f f68f ed2f 0a7f 6fdb  .._...m..../..o.
00000460: ebdf d95b 2e25 8e2f f4cb 7558 a5f3 2158  ...[.%./..uX..!X
00000470: e5f9 40db e6ec 3ca9 a280 3d02 b8ff 0082  ..@...<...=.....
00000480: 9fb3 d780 7f66 bf0a dc68 5f0e 7c0f e0ff  .....f...h_.|...
00000490: 0000 6897 776d 7f3e 9fe1 bd1a db4a b59a  ..h.wm.>.....J..
000004a0: e191 11a6 68a0 4446 90a4 71a9 7232 446a  ....h.DF..q.r2Dj
000004b0: 3385 1451 401d 8578 ff00 ece9 fb05 7c27  3..Q@..x......|'
000004c0: fd95 7e16 4fe0 af06 f853 cbf0 c5c6 ab63  ..~.O....S.....c
000004d0: adb5 96b3 a9de 6bfb 6f2c 61b2 86c6 5492  ......k.o,a...T.
000004e0: fe59 e44f b347 a6d8 2c0a ac16 1fb2 4263  .Y.O.G..,.....Bc
000004f0: 0a54 1a28 a00f 60a2 8a28 03ff d9         .T.(..`..(...
# マーカー部分をマウス等で選択してコピーします

クライアント側(ファイル受信側)

# クライアント側(ファイルを受信)
# windows
メモ帳に張り付けて、[gomi.bin.txt]で保存する。
ファイルをLinux系クライアントに送る
 (xxdコマンドがないので、一度Linux系OSをかませる必要がある。vimを使えば可能らしいが、私はvimアレルギーなので入れません)

# linux
nano等のエディタを開いて、[gomi.bin.txt]で保存する。
$ > xxd -r gomi.bin.txt gomi.bin

これでメモ帳等のエディタを使ってファイルの複写をすることができます。
今回表示したダンプデータを復元すると、「ゴミ」と書かれたJPGが復元できます。