携帯からPCをリモートコントロール(電源ON編)

携帯からPCをリモートコントロール(本編)はこちら


概要

  cell4winでPCの操作はできていたのですが、都合によりPCの電源を入れる必要が出てきたので
  簡単なスクリプトを作成しました。

  通信は、UDPプロトコルのブロードキャストを使います。



実行に必要なプログラムなど

wolcgi.lzh (2k)  Update 2005/02/19



インストール・操作手順など

解凍後、ホームページの適当なフォルダにFTPでアップロードします。
アップロード後、実行権限を変更します。

  wol.cgi (755, rwxr-xr-x)

index.htmlを開いて、電源を入れたいPCのMACアドレスとルータのGlobal-IPを入力して
「送信」をクリックするだけです。
(PCのMACアドレスは、コマンドプロンプトで  ipconfig  /all  と入力すれば出てきます。)

これだけなら簡単なのですが(例によって)ルータの設定変更が必要です。

NAT(ipマスカレード)とフィルタだけで簡単に済ませるなら
まず、UDPのポート1024をローカルアドレス192.168.n.255にマスカレードして
UDPのポート1024を通すようにフィルタを追加するのですが、
ルータ機種毎に設定方法が変わりますので、詳しくはお使いのルータマニュアルをご覧下さい。
機種によっては、WOL(MagicPacket)を安全にかつ簡単に設定できるものもあります。

ポート番号は、wol.cgiを編集すれば簡単に変えられます。

もう少し詳しく...
このソフトウェアをご利用になる場合は、一般的にはルーター(もしくはそれに準じるサーバー)が必要になります。
Bフレッツなどのブロードバンド環境であれば、ルータを使われる方が多いと思いますが
ADSLモデムや,ISDN-TAなどをお使いの場合は、別途ルータ(常時電源ONのネットワーク機器)
が必要になる場合が多いのでご注意下さい。

最近では、SwitchやARPと言った言葉が一般的になってきたので、もう少し詳しい解説を加えます。

Switchとルータの区別は不明確になってきていますが、これらはネットワーク中継の中心を為すものです。
原始的意味合いの機能差はなく、商品価格体系としての別のため分かれることがほとんどだと思います。
(Switchって付く方が高い?)
本ソフトウェアでは、WAN-LAN変換の「NAT機能」だけ実装されていれば、
電源ONが可能なので、どちらでも良いです。

ARPとは、IPアドレスとMACアドレスのペアのことで、
ネットワーク機器はこのARPペアテーブルを使って、要求IPアドレスから物理MACアドレスを割り出し、
通信を行います。(OSI 2層/データリンク層)

全ての通信機器が、全ての「IPアドレス←→MACアドレス変換表」をメモリに保持していれば何も困りませんが、
メモリ限度がありますので、古い情報を次々と消していく必要があります。
送り側通信機器は、ARPテーブルに送信先IPが存在しなければ、配下の全通信機器(同一セグメント内)に対して
ブロードキャストを送り、存在確認を行います。(結果をARPテーブルに追加します)

さて、ここで問題です。
電源の入っていない機器(PC含む)に対して存在確認は可能でしょうか?
   →否!(応答しない機器の確認は無理ですよね。)
   →逆に、電源の入っている通信機器の確認はいつでも可能です。

ならば、特定のPCの電源をONするためにはどうしたら良いのでしょう?
   →ARPと同じようにマジックパケットを配下の全通信機器(同一セグメント内)に対して送れば良いのです。

世界中のPCにマジックパケットを送れるでしょうか?
   →否!(途方もない通信が発生します。)

同様に、自分を含むプロバイダに接続する全PCにマジックパケットを送れるでしょうか?
   →否!(途方もない通信が発生します。)

インターネットを経由して、マジックパケットを送れるのは、特定環境下(不特定多数ではなく、特定のIPアドレスに対して)です。

例えば、ADSL+ルーターを使った場合は、
  インターネット → ADSLモデム → ルーター
      この間はブロードキャストではなく1対1のUDP通信(マジックパケットを送る)。
  ルーター → PC
      この間をブロードキャスト(マジックパケットを送る)。

  という方法を取らなければなりません。

ルーターでは、特定のIP(WAN)宛の通信を、LAN内ブロードキャストに変換することができます。
具体的には、

 WAN-IPが100.1.2.3、
 LANアドレスが192.168.1、
 お使いのPCのIPが192.168.1.10だとすると

  (1)インターネットからは、100.1.2.3のUDPポート1024にマジックパケットを送る。
  (2)ルータで「100.1.2.3のUDPポート1024」を「192.168.1.255」にNAT/IPマスカレードする。

 という事になります。




その他

・ このソフトウェア(wol.cgi)の著作権はHundredsoftにありますが、改変・配布は自由に行って構いません。

・ このソフトウェアを利用するには、外部からの通信を受け付けなければなりません。
  第3者がPCにアクセスしたり、PCに損害を与える可能性があります。
  十分にご注意下さい。

・ お問い合わせを頂いても、本ソフトウェアの性格上、
  お使いの環境などを詳しくお尋ねしなければわからない場合がございます。
  お問い合わせの際には、個人情報に該当しない範囲で、できる限り詳しくお伝え下さい。
  よろしくお願いいたします。




※本書の内容の一部、または全部を無断で転載することを禁止します。
※本書の内容については、将来予告なしに変更することがあります。
※WindowsおよびMicrosoftは米国Microsoft Corporationの登録商標です。
  その他の商品名は各社の商標または登録商標です。


ご意見ご要望は、info@hundredsoft.jp  まで

Copyright (C) 2004-2012 HUNDREDSOFT CORPORATION All Rights Reserved.