Archive: 2015/04/03

CDレコとMagical~

切り札と目論んだRockDiskNext導入でも進展が見られなかった、CDレコの「CDレコアプリ」からNASが見つからない件。

LANDISK AVことHVL1-G1.5Tのサポートページを見てみたところ、どうも「MagicalFinderの対象製品に含まれている」ようなのでWindows版 MagicalFinderを動かしてみたところ、期待通りに認識出来た。

改めてパケットモニタリングしてみたところ、Windows版 MagicalFinderはUDP/51065に加えてUDP/65にも同じメッセージを出力して、LANDISK AVはUDP/65に反応しているようだ。しかも、よく見るとWindows版 MagicalFinderの送信元にP2P応答している訳では無く、ペイロードに「ネットワーク情報」と「ホスト名」を載せたUDPメッセージをブロードキャストしているだけなので、

CDレコ
CDレコより
yano@GT110b:~$ cat ~/MagicalFinder/mf_landisk_av.py
# -*- coding: utf-8 -*-

import socket

dest = '255.255.255.255'
#dest = '127.0.0.1'
port = 51065
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

payload = bytearray([0x07,0x4c,0x5f,0x11,0x67,0x00])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([192,168,199,20]) # NAS ip address
payload.extend([255,255,255,0]) # subnetmask
payload.extend([192,168,199,254]) # gateway
payload.extend([0x00, 0x50]) # length ?
payload.extend([0x00,0xa0,0xb0,0xa7,0x26,0x03]) # mac address
payload.extend("LANDISK@WORKGROUP")
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend([0,0,0,0,0,0,0,0])
payload.extend("IO-DATA")
payload.extend([0,0,0,0,0,0,0,0,0,0])

sock.sendto(payload, (dest, port))

yano@GT110b:~$ while true;do python ~/MagicalFinder/mf_landisk_av.py;sleep 1;done
yano@GT110b:~$

…な感じで、LANDISKの代わりにGT110bからブロードキャストしてみたところ、見事「CDレコアプリ」に認識させる事に成功。「ネットワーク情報」と「ホスト名」がわかれば、あとはSMBでアクセスしているようで、書き込み先をguestアクセスで書込みできる場所に設定して難無く完了。