hirax.net::Keywords::「Java」のブログ



1998-12-23[n年前へ]

流れている電子メールを解読してみる 

目的のためには手段は正当化されるか?



 今月のC MagazineのNetWatch Cool&Hotはセキュリティ特集だった。その中でEthernetに流れているパケットの中からMailに関するデータを表示するソフトの紹介があった。もちろん、自分宛てのものだけでなく、他人宛ての物も全て表示するソフトである。
 こういったソフトの正しい使われ方というものがあるとは思えないのだが、技術的には興味がある。ネットワークに関する勉強もしてみたかったので、同じようなことをしてみたい。

 言うまでもないが、今回の実験は家庭内のLAN内ですべて行っている。ただし、メールサーバーは外部のものを使用してはいる。

 自分宛てでないパケットを見る(sniffing)にはイーサーネットのインターフェースをプロミスカス・モードで動かしてやれば良いという。UNIXであればtcpdumpを始めとしていくつもフリーのソフトがある。Windows上で動かすことを考えても、いくつかのフリーソフトがあった。また、OpenDesighnNo.10にプログラミングの例があった。OpenDesighnはソース配布がディスクでしか行っていないのが残念だ。

 今回はWindows上でプロミスカス・モードでパケットをダンプしてくれるソフトを用いた。普通に探せば、すぐに見つかると思う。

 それでは、流れているパケットを見てみる。パケットのダンプ画面には部分的に伏せ字を入れた。また、ユーザー名やパスワードはオリジナルとは違う文字に入れ替えてある。

 LANに繋がっているLibretto50でメールサーバーに対してメールチェックを行った際に流れたパケットを同じネットワークに繋がっているPortege320で読み取ったものの一部が下のものである。

Packet No.: XX00000005Time: 0361530480 msec Length: XX
Ethernet Dest: XX.00.F4.5F.2D.F8 Src: XX.00.24.30.08.ACType: 0x0800
000000: XX XX XX 5F 2D F8 XX XX : 24 30 08 AC 08 XX XX XX..._-...$0....E.
000010: XX 34 58 05 40 XX XX 06 : B3 C2 AC 12 XX 02 D2 E6.4X.@. ..... ...
000020: B0 01 04 XX XX 6E XX 2C : 14 F7 XX AE 43 03 XX 18...f.n.,....C.P.
000030: 22 0B 98 18 XX XX XX XX : XX XX XX XX XX XX XX XX".....USER john
000040: XX XX:................

Packet No.: XX00000006Time: 0361530540 msec Length: 88
Ethernet Dest: XX.00.24.30.08.AC Src: XX.00.F4.5F.2D.F8Type: 0x0800
000000: XX XX 24 30 08 AC XX XX : XX 5F 2D F8 08 XX XX XX..$0....._-...E.
000010: XX 4A E0 27 40 XX EE 06 : 5D 89 D2 E6 B0 01 AC 12.J.'@...].......
000020: XX 02 XX 6E 04 XX XX AE : 43 03 XX 2C 15 03 XX 18..n.f..C..,..P.
000030: 22 XX 24 26 XX XX 2B 4F : 4B XX XX XX XX XX XX XX"8$&..+OK Passwo
000040: XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XXrd required for
000050: XX XX XX XX XX XX XX XX :john...........

Packet No.: XX00000007Time: 0361530550 msec Length: XX
Ethernet Dest: XX.00.F4.5F.2D.F8 Src: XX.00.24.30.08.ACType: 0x0800
000000: XX XX XX 5F 2D F8 XX XX : 24 30 08 AC 08 XX XX XX..._-...$0....E.
000010: XX 37 59 05 40 XX XX 06 : B2 BF AC 12 XX 02 D2 E6.7Y.@. ..... ...
000020: B0 01 04 XX XX 6E XX 2C : 15 03 XX AE 43 25 XX 18...f.n.,....C%P.
000030: XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX!./...PASS 12345
000040: XX XX XX XX XX:678.............

 このダンプ画面を眺めると、次のような

 Libretto:私はjohnですがメールチェックをさせて下さいな。
 サーバー:じゃぁ、johnさんのパスワードを言って下さい。
 Libretto:12345678です。
過程がよくわかる。パスワードの認証を「通常のテキストそのまま」で行っているため、パスワードが丸見えである。

 もう少し、各パケットの内部がどうなっているかを考えてみる。
ネットワーク・プロトコルとは何か(TCP/IP を例として) (http://www.kobe-u.ac.jp/~ipc/mage/mage24/terashima/terashima.html)

IPパケットの構造について(http://www.dtinet.or.jp/~torao/program/)

Hey!Java Programming! (http://www.dtinet.or.jp/~torao/program/protocol/pop3.html)

を参考に考えてみた。 例えば、先のイーサーネットに流れているメールに関するパケットの中からメールの内容を見るにはどうしたら良いだろうか。

 ひとまず、先頭54Byteと末尾2Byteを捨ててやればTCPの部分だけを取り出せて、良いように思える。また、TCPのポート番号のみでフィルターをかけてやれば、任意のプロトコルのみを取り出すことが出来るだろう。多分。ここでは、47,48Byte目か?

 そのようなフィルターを作成し、取得したパケットにかけてみたのが以下である。

. RETR 1 +OK 771 octets Received: from xxxx (xxxx.xxxx.ne.jp[xxxx.xxxx.251.14])
by xxxx.xxxx.ne.jp (xxxx.xxxx.1/3.7W) with SMTP id xxxx
for <xxxx@xxxx.ne.jp>; Wed, 23 Dec 1998 11:20:54 +0900(JST)
Message-ID: <xxxx@xxxxxxxx>
From: "xxxx" <xxxx@xxxx.xxxx.xxxx.xxxx>
To: <xxxx@xxxx.ne.jp>
Subject: test 試験
Date: Wed, 23 Dec 1998 11:43:38 +0900
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Content-Type: text/plain;
charset="iso-2022-jp"
X-UIDL: 57c82a0ae2ea513ae1221c507123f459

This is a test.
これは日本語です。
さて、読めるでしょうか。

. DELE 1 +OK Message 1 has been deleted. QUIT +OK +OK Popserver at xxxx signing off. +OK

 見事にメールの内容が見えてしまう。
 今回はWindows上で全て行った。難しい所はあまりなかった。ネットワークのことなんかほとんど知らない私でも1から始めて半日で出来たのだから、きっと誰でも出来てしまうだろう。それにUNIX上であればツールは全て揃っているようだ。

 他人のメールの内容を見るのは私的利用であれ、公的利用であれ、許されるとは思えない。また、例えネットワーク管理者が行うにしても、「メールを盗み見する」という予告・了解なしに行って良いとは思えない。先のメールの内容を盗み見するソフトにどんな正当な使い方があるのだろうか?

1999-03-18[n年前へ]

「踊る大捜査線」風のアプレットをつくる 

おどるでく

 「踊る大捜査線」にはまった人は多いはずだ。何度となく映画館へ行ったり、ビデオを観たりしている人も結構いる。それだけでなく、無駄な会議中に馬鹿な上司達に「事件は会議室で起きてるんじゃない!現場で起きてるんだ!」と叫んだ人もいると人づてではあるが聞いている。あるいは、ポジティブに「俺は現場で頑張る!」と言った人もいるという。少なくとも、そう思ったことのある人はいるだろう。かくいう私も「踊る大捜査線」にはまったそのような一人である。TVシリーズの最終回に青島と室井が2人で話す警視庁(のロケ場所)は私の勤務先でもあり、色々重ねて観てしまうのである。

 私も「踊る大捜査線」が大好きではあるが、世の中には尋常ならざる「刑事物マニア」なども生息しているようであり、これ以上深くは立ち入らないことにしておく。なにしろ、「夜の大捜査線」や「太陽にほえろ」以来のファンがいるらしい。

 というわけで、技術的なことをしようということで、「踊る大捜査線」っぽいJAVAアプレットをつくってみたい。
 まずは、文字がタイプライターで打ったようにタイトルが1文字づつ表示されるアプレットである。ルパン三世風と言う方がわかりやすいかもしれない。ただし、このページはjavaアプレットを三つも動かしているので非常に重いと思う。したがって、速くないコンピューターではスムーズに再生されないかもしれないが、アプレットを一つだけにしてしまえばそんなことはないと思う。



「ルパン三世風」classファイル

 次は、文字がどんどん描かれるタイプである。エバンゲリオン風といった方がわかりやすいか。「ロゴ大暴れ」である。縦に細長いフォントにしたかったのだが、今回は面倒だったので、やめた。


 一応、「踊る大捜査線」っぽい文字でも動かしてみる。


 時間ができたら、写真の重ねあわせにも対応してみたい。ただし、画像を含めてしまうと、Javaアプレットの「ファイルが小さい」というメリットが減少してしまうのが困る所だ。


「ロゴ大暴れ」classファイル

縦書きの文字も重ねるタイプのclassファイルを以下に置いておく。拡張子はclassに戻せば使えるはずだ。動作自体は少し重くなる。

縦書きの文字も重ねるタイプのclassファイル

 このような文字アプレットは漢字だからこそ有効なのだろう。英語などでは単語の区切りが良く分からないし、一文字見ただけでは、意味が頭に入ってこない。表意文字の漢字だからこそ、わかるのであると思う。文字が躍り出すのが実感できるのである。室井光広の「おどるでく」などが思い起こされる。ふと思ったが、「踊るデカ」と「おどるでく」は良く似ている。が、深い意味はない。念のため。今回は、「踊るアホウに見るアホウ、同じアホなら、踊らにゃ損々」という名文句で締めくくりたい。

1999-05-03[n年前へ]

「私と好みが似てる人」 その2 

ログ解析の6ヶ月点検

 本サイトが公に公開されるようになってから6ヶ月経った。新車でも購入してから半年経てば、6ヶ月点検があるのだから、本サイトについても6ヶ月点検を行ってみたい。

 まずは、週別のアクセス量変動を挙げてみる。

1998/12/13-1999/4/24の週別アクセス量
Overall Accesses

 アクセス数は割に順調に伸びているようである。1999/02下旬辺りにネットワーク不調とログ解析失敗などによるデータ欠損が見られるが、それ以外ではほぼ線形に増加している。1999/4上旬に増加の傾きが変化しているのはinfoseekにページを登録したことによるものと考えられる。

 次に、時間別アクセス量である。以下に示すのは、1999/4/18-24の時間別アクセス量である。
 これを見ると、深夜3時位にアクセス数がぐんと減ることがわかる。深夜3時位に眠りにつく人が多いのだろうか。
 そして、早朝5時過ぎからアクセス数が増えていくことがわかる。5時過ぎくらいから活動を始める人も多いようだ。そして、昼の12時辺りにひとつピークがある。これは、企業の昼休み時間にアクセスしている人達によるものだろう。次に15時位に大きなピークがある。これは、何だろうか?まさか、おやつの時間ではあるまい。企業ユーザーが一服しているのだろうか?小さい18時辺りのピークも、企業ユーザーの就業時間の終わりを示すものと思われる。
 そもそも、こういった昼間の時間別アクセス数から見えてくるユーザーというものは、時間に縛られる企業ユーザーになってしまうのだろう。

1999/4/18-24の時間別アクセス量

 さて、次はアクセス数のサイトランキングである。ただし、ここでのサイト=IPアドレスであり、ドメイン解析は行っていない。したがって、同じドメインからアクセスがあっても、IPアドレスが異なれば違うサイトとして計算している。そのため、proxyを使っているような所が、ランクインしやすいということになる。もちろん、proxyを使っていれば、実際よりアクセス数は少なくなるわけだが、今回の比較においては、明らかに同じサイトと判断される分有利なのである。
 それでは、最近4週間分のトップ10を示してみる。

1999/3/28-4/24のアクセス量における週別サイトランキング
Rank4/18-244/11-174/4-103/28-4/3
1KyotoPneTMeshNet厚木阪大レーザー核融合研KyotoPneT
2東大情報システム工学研キヤノン裾野Hewlett Packerdキヤノン裾野
3セイコーインスツルメンツオーイーシーキヤノン裾野千葉大情報数理
4Fermi-lab岡山理科大 電子工学ホンダエンジニアリングPSINet
5OCN北大 電子科学研究所ベッコアメ福岡シチズン
6アスキーNTT PC-Com 諏訪鹿児島大 情報工学東北大加齢医学研
7明治大学総合情報ネットワークワコーデジタルアーツ生協インターネット大阪
8RICOHIIJ4U藤沢インターネット九州大学医 耳鼻咽喉科
9WEB静岡龍谷大情報NetworkSystem通商産業省InfoPepper府中
10KansaiMultimediaServiceOCN千葉館山アレスネットDTI熊本

 トップ1に4回中2回も位置しているのはKyotoPneTである。このサイトは京都周りのネットワーク総合体のようだ。色々集まっている分、アクセス数が多いのだろう。
 それでは、週別にコメントをつけてみたい。
3/28-4/3 医学関係が2つランクインしている。おや、九州大学医学部耳鼻咽喉科と言えば、私の一番大好きな「今日の必ずトクする一言」で有名な「バーチャル耳鼻咽喉科」と同じサブドメインである。
4/4-10 通商産業省は公益機関のランクインが少ない中でなかなか健闘している。阪大レーザー核融合研究所はこの2週後のFermi研究所と関係あるのだろうか?
4/11-17 MeshNetの厚木からアクセスされている方が一位である。個人のアクセスというのは非常に嬉しい。この週は個人の方が多い。喜ばしいことだ。
4/18-24 常連だったキヤノン裾野が消え、RICOHがランクインしている。このあと、WEBページは会社の顔色- WEBページのカラーを考える 2 - (1999.04.26) でRICOHのWEBのデザインに苦言を呈しただけに、反応が気にかかるところである。おやおや、ASCIIもランクインしている。

 それでは、3ヶ月前に「私と好みが似てる人」 - analog Windows版用のサブドメイン解析ソフトを作る- (1999.01.24) の時に調べたドメインランキングとの比較をしてみる(こちらは、ドメインランキングであって、今回のサイトランキングとは異なる。今回の場合、同じ人がアクセスしても、IPアドレスが異なれば、違う人としてカウントしていることになる)。

1: canon.co.jp (キヤノン)
2: sony.co.jp (SONY)
3: atr.co.jp (株式会社国際電気通信基礎技術研究所)
4: infocom.co.jp (日商岩井)
5: waco.co.jp (ワコービジネス)
6: odn.ad.jp (オープンデータネットワーク)
7: nttpc.ne.jp (ISP事業者向けネットワーク提供サービス)
8: att.ne.jp (日本AT&T株式会社)
9: saitama-u.ac.jp (埼玉大学)
10: kokushikan.ac.jp (国士舘大学)

 今回と共通してトップ10入りしているのはキヤノンとワコーである。前回も今回も技術系のサイトばかりである。私が技術マニアであるからしょうがないか。それこそ、「私と好みが似てる人」達なのだろう。

次は「できるかな」内の人気ランキングである。こうしてみると、

など、面白いものである。/dekirukana/java/を読んでいるのは「踊る大捜査線」をキーワードにして辿りついた方だろう。/dekirukana/snif/が人気があるのは、セキュリティー意識が高いせいか、あるいは好奇心が高いせいか、どちらだろうか?。
#reqs: %bytes:      last date: file-----: ------: --------------: ---- 4185: 18.07%: 99/05/15 07:49: /   13:  0.04%: 99/05/12 13:51:   /? 1855:  2.18%: 99/05/15 02:33: /dekirukana/java/ 1093:  1.24%: 99/05/15 07:38: /dekirukana/server/  839:  1.74%: 99/05/15 07:08: /dekirukana/snif/  789:  0.68%: 99/05/15 04:01: /dekirukana/dorae/  762:  0.58%: 99/05/15 02:36: /dekirukana/screensave/  633:  0.83%: 99/05/15 05:32: /dekirukana/photoshop/  623:  1.20%: 99/05/15 07:20: /dekirukana/whois/  577:  0.99%: 99/05/15 04:20: /dekirukana/1999/  543:  0.64%: 99/05/14 22:53: /dekirukana/tire/  501:  0.80%: 99/05/15 01:55: /dekirukana/digicame/  435:  0.52%: 99/05/15 00:51: /dekirukana/e55/  435:  1.22%: 99/05/15 02:23: /dekirukana/ufo/  427:  0.37%: 99/05/15 04:15: /dekirukana/ocilo/  392:  0.43%: 99/05/15 06:53: /dekirukana/screensave2/  373:  0.50%: 99/05/15 05:23: /dekirukana/fem2/  321:  0.63%: 99/05/15 02:49: /dekirukana/wavelet/  320:  0.56%: 99/05/15 05:28: /dekirukana/ekisyo2/  279:  0.32%: 99/05/14 22:30: /dekirukana/hamaphoto/  267:  0.37%: 99/05/14 23:25: /dekirukana/real97/  264:  0.36%: 99/05/15 02:28: /dekirukana/karaoke/  263:  0.16%: 99/05/15 02:25: /dekirukana/ocilo2/  260:  0.41%: 99/05/15 01:15: /dekirukana/moire3/  256:  0.81%: 99/05/14 21:07: /dekirukana/onkai2/  256:  0.44%: 99/05/15 01:48: /dekirukana/sacchan/  252:  0.29%: 99/05/15 05:52: /dekirukana/toolplus/  247:  0.24%: 99/05/15 03:02: /dekirukana/server2/  243:  0.63%: 99/05/15 00:17: /dekirukana/bunsukai/  216:  0.42%: 99/05/15 06:52: /dekirukana/haidi/  195:  0.06%: 99/05/15 00:24: /dekirukana/1999_2/  194:  0.41%: 99/05/15 04:05: /dekirukana/kamogawa/  186:  0.38%: 99/05/15 01:02: /dekirukana/bunpu/  185:  0.39%: 99/05/15 04:21: /dekirukana/ufo2/  185:  0.28%: 99/05/15 05:30: /dekirukana/ekisyo/  180:  0.38%: 99/05/15 07:42: /dekirukana/moire2/  171:  0.33%: 99/05/15 02:48: /dekirukana/wavelet2/  169:  0.17%: 99/05/14 20:48: /dekirukana/rocket/  164:  0.16%: 99/05/15 04:04: /dekirukana/dorae2/  160:  0.31%: 99/05/14 15:03: /dekirukana/probe/  155:  0.14%: 99/05/15 07:08: /dekirukana/tamago/  144:  0.20%: 99/05/14 21:53: /dekirukana/onkai/  141:  0.23%: 99/05/13 20:15: /dekirukana/  126:  0.26%: 99/05/15 01:34: /dekirukana/harddisk/  124:  0.18%: 99/05/15 02:03: /dekirukana/watari/  122:  0.29%: 99/05/14 20:49: /dekirukana/webcolor2/  121:  0.59%: 99/05/15 01:29: /dekirukana/moire/  118:  0.10%: 99/05/14 14:08: /dekirukana/hori/  118:  0.18%: 99/05/14 09:21: /dekirukana/bunsukai2/  116:  0.10%: 99/05/14 21:05: /daily/9904.html  105:  0.19%: 99/05/15 07:34: /dekirukana/favicon/  105:  0.24%: 99/05/15 06:29: /dekirukana/log9905/   99:  0.20%: 99/05/14 20:49: /dekirukana/webcolor/   98:  0.05%: 99/05/15 07:08: /dekirukana/photoshop2/   79:  0.38%: 99/05/14 09:58: /index_e.html   61:  0.01%: 99/05/13 18:27: /dekirukana/fem2/math/   46:  0.01%: 99/05/12 19:50: /dekirukana/fem2/math/indexlnk1.html   42:  0.07%: 99/05/12 19:53: /dekirukana/fem2/math/indexlnk4.html   37:  0.03%: 99/05/12 19:51: /dekirukana/fem2/math/indexlnk2.html   33:  0.08%: 99/05/13 18:28: /dekirukana/fem2/math/indexlnk3.html   32:  0.02%: 99/05/14 14:22: /dekirukana/toolplus/readme/readme.html   31:  0.05%: 99/05/12 19:54: /dekirukana/fem2/math/indexlnk5.html   25:  0.06%: 99/05/15 00:22: /dekirukana/harddisk/math/   21:  0.03%: 99/05/12 19:49: /dekirukana/onkai/math/ 4070: 55.84%: 99/05/15 05:52: [not listed: 34 files]
 こうしてみると、興味が発散している作者であることがよくわかる。
 次にログ解析をするのは、おそらく半年先だろう。 その時、健やかに育っているのだろうか?

1999-05-09[n年前へ]

fvion.icoの正体? 

不思議なログファイル

 週間ASCIIを読んでいると、InternetExplorerにユーザーのプライバシーを侵害するような機能があることが新たにわかった、という記事が載っていた。その記事中ではfavicon.icoというファイルがカギであるらしい。favicon.icoというファイル名を見てびっくりした。

 本WEBサイトが立ち上がった当初から、ログファイル中に「favicon.icoという謎のファイルを探したが見つからない」というエラーが出ていた。例えば、最近のLogで示してみると、

Top 10 of 25 Documents Not Found

RankURLAccesses%
1/dekirukana/screensave/Image.lzh3930.23
2/dekirukana/toolplus/toolp.gif2015.50
3/robots.txt1612.40
4/favicon.ico1410.85
5/~sgsc793/index.htm64.65
6/dekirukana/java/index_e.html53.88
7/dekirukana/probe/index_e.html53.88
8/dekirukana/server/favicon.ico21.55
9/dekirukana/java/JypewriterBeanInfo.class21.55
10/dekirukana/onkai2/www.natinst.com21.55

となる(それは別にしてメンテしないといけないファイルがある...)。

そんなファイルは使用してもいないし、リンクしてもいない。不思議だったので、Infoseekなどでfavicon.icoを検索してみると、他のWEBサイトのログファイル中でも同様のエラーログが生じていることはわかった。しかし、その時はそこまでしか考えなかった。その時は、favicon-> Famiconかな?というような安易な発想しかしていなかったのだ。その時に、favicon-> favorite iconと気づくべきであった。そうすれば、何が起きているかもう少し把握することができたはずだ。あるいは、納得するまで止めるべきではなかった。

 こんな反省はおいておいて、とりあえず、週間ASCII中に紹介されてた詳しい記事のリンクを追ってみることにした。

 まずは、
http://www.hotwired.co.jp/news/news/technology/story/2322.html
で概要がわかる。さらに、
http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp
でMicrosoftのもう少し詳しい技術紹介がされている。以下のような内容である。

 ユーザーが「お気に入り(favorites)」にあなたのサイトを登録した場合に、ユーザーが使っているブラウザーの「あなたのサイトへのリンク」の横にロゴを表示させたいと思うなら、favicon.icoという名前のファイルをあなたのドメインのrootディレクトリにおけば良い。InternetExplorerは自動的にこのファイルを探して、全てのお気に入りとクイックリンクの横にアイコンを表示させる。
 もしも、rootディレクトリにfavicon.icoを置くことができないのならば、次のようなタグをページ中に加えることで、他の場所に置くことができる。

<LINK REL="SHORTCUT ICON" href="/path/foo.ico">

また、次のようなスクリプトを使うことで、InternetExplorerのユーザーにあなたのサイトを自動的に「お気に入り」に登録するように促すリンクをつけることができる。

<SCRIPT>
<!--
if ((navigator.appVersion.indexOf("MSIE") > 0)
&& (parseInt(navigator.appVersion) >= 4)) {
document.write("<U>
<SPAN STYLE='color:blue;cursor:hand;'
onclick='window.external.
AddFavorite(location.href, document.title);'>
Add this page to your favorites</SPAN>
</U>");
}
//-->
</SCRIPT>

 そこで、実験してみることにした。まずは、favicon.icoを作成し、サーバーに置く。また、本ページのトップに
<LINK REL="SHORTCUT ICON" href="/dekirukana/favicon/favicon.ico">
を記述しておく。そして以下に「お気に入りに追加するためのリンク」を貼り付けておく。ただしMicrosoftInternetExplorerのバージョン4.0以降でないとこのスクリプトは見ることができない。
 さて、このリンクをクリックし、お気に入りに追加する実験を行ってみた。しかし、何故かアイコンは表示されなかった。これは手動で「お気に入りに追加」してみても同じである。何故か報道されているようにはならない。私がどこか間違えているのかもしれない。もう少し調べてみる必要があるだろう。

念のために書いておくが、今回のこのページ(http://www.hirax.net/dekirukana/favicon/index.html)はお気に入りには追加しないで欲しい。変なアイコンが出る、と言われても困る。ただし、文句でなくてアドバイスであれば大歓迎である。

ところで、このサイトを気に入る方がいらっしゃれば、TopPage(http://www.hirax.net/)で登録して欲しい。このTopページならば安心である。

 と、書いたがTopのページにアイコンを置いて見ることにした(1999.08.31)。前は、バーチャルドメインの設定のせいなのか、上手く動作しなかったが、現在は専用のサーバーを使用しているせいかうまく動いている。IE5以降のユーザーにしか影響は無いから特に害はないだろう。

1999-08-20[n年前へ]

色空間の世界へ  (色弱と色空間 その3) 

Someday

 今回は、
色を伝える時に、考え忘れていたこと(色弱と色空間 その1) - We can work it out! - (1999.08.09)
で行った計算を少し改良し、なおかつ色空間の世界を自由自在に動かしてみたいと思う。今回のメインは「立体グリグリ」のテストである。

まずは、前回と今回の計算の違いは、

  • 前回はL,M,Sの各錐体の波長感度特性はRed,Green,Blueの単波長であるという仮定の元の計算
  • 今回はL,M,Sの各錐体の波長感度特性はRed,Green,Blueの単波長とは異なるという条件での計算
ということである。計算式は、前回の
  • X= 0.412391R + 0.357584G + 0.180481B
  • Y= 0.212639R + 0.715169G + 0.072192B
  • Z= 0.019331R + 0.119195G + 0.950532B
  • l = 0.16*X + 0.54*Y - 0.033*Z
  • m = -0.16*X + 0.46*Y+0.033*Z
  • s = Z
を組み合わせている(何か堂堂巡りのような感じもする?...)。計算としてはおかしいところもあるが、とりあえず、今回は色空間をグリグリ動かして実感することが目的なので、(計算がチャチなのは)勘弁して欲しい。

 それでは、通常のRGB色空間と第1色盲(赤色盲)のRGB色空間を以下に示してみる。今回はMathematicaの出力をJavaAppletで動かすことができるLiveGraphics3Dを使用している。そのため、RGB色空間をグリグリ動かすことができる。それどころか、ステレオ画像にしてグリグリ動かすこともできる。ステレオ画像の見方は交差法である。ぜひ、試してもらいたい。

 下のグラフの操作方法は

  • 操作 = 作用
  • マウス左ボタンドラッグ = 回転
  • シフトキー + 垂直ドラッグ = ズームイン・アウト
  • シフトキー + 水平ドラッグ = 垂直軸についての回転
  • コントロールキー + 垂直ドラッグ = 焦点距離の変更
  • マウス右ボタン垂直ドラッグ = 部品除去
  • "s"キー = ステレオ画像作成
である。詳しくは
PageLiveGraphics3D
( http://www.nikonet.or.jp/spring/sanae/LiveGraphic3D/LiveGraphic3D.htm)
を参考にして欲しい。それでは、RGB色空間(ハリボテバージョン)を自由自在に動かしてみよう。
通常のRGB色空間





第1色盲(赤色盲)のRGB色空間




 どうだろうか? RGB色空間を自由自在に動かせただろうか? 立体グリグリはできただろうか? 「ハリボテでつまらない」なんていう文句がある人もいるかもしれないが、気が向けば立方体の全面について描画を行うよう変更するつもりである。

 こういった、Javaなどを使用した立体表現は表現力が非常に高い。しかし、読み手によっては必ず見れるとは限らないところが難しいところである。読み手を限定してしまう可能性が有る。それは、まさに色覚異常に関する問題と同じである。

 TVが白黒放送からカラー放送に移行する当時は、カラー放送においても白黒TVでもきちんと識別できる色を考慮しながら放送しようとしていた、と聞く。白黒TVで観ている人が困らないようにである。しかし、現在はどうだろうか? 白黒TVで観ている人のことを考慮したTVなどほとんど無いのではないのではないか? 

 TV放送に限らずWEB、プレゼンテーションなどにおいて、最新の可能性と広い互換性を両立させていくためには、他の人を配慮する力が必要だと思う。そういう点においても非常に優れ、私がとても好きなWEBサイトが今日から一時停止してしまった。非常にさみしい。

 それでは、今回の色空間自由自在はこんな所で終わりにしたい。



■Powered by yagm.net