ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

今年出てきそうなサービス? (3):あやしいサイトのマッシュアップ化

2009-01-03 22:44:43 | Weblog

 今年出てきそうなサービスというか、お話、第3話は、

 あやしいサイトのマッシュアップ化

 なんじゃそりゃ??
 って感じだと思うので、今回は、具体的な例で説明します。




■あぶない情報を検索サイトを利用してマッシュアップ

 たとえば、2月14日に、Aさんが、Bさんにチョコレートをあげるという文章があったとする(この例だと、ぜんぜん問題ないけど、チョコレートのところが、あぶないものだったとする)。

 いまここで、新語、「けみはにはろす」ということばを考えたとする。
 (Googleでこの言葉はひっかからないので、大丈夫だろう)

サイトAには、

けみはにはろす - 2月14日

サイトBには、

けみはにはろす - Aさん あげる

サイトCには

けみはにはろす - Bさん チョコレート

とすると、サイトA、B、C、どれを見ても、さっぱり意味が通じないけど、Googleとかで、「けみはにはろす」とキーワードを入れると、

2月14日、Aさん あげる Bさんチョコレート

となって、意味が通じるというような、検索エンジンにキーワードを入れることで、文章の意味が通じたり、簡易的な掲示板になったりするというようなもの




■マッシュアップすると、あやしい画像が出てくるとか・・・

 日本国内では、もう、みちゃ、いけないような画像があったとする。

 この画像のRGB成分を、

1枚目のマッシュアップ画像は
(1,1)ピクセルは、R、(1,2)ピクセルはG,(1,3)ピクセルはB

2枚目のマッシュアップ画像は
(1,1)ピクセルは、G、(1,2)ピクセルはB,(1,3)ピクセルはR

3枚目のマッシュアップ画像は
(1,1)ピクセルは、B、(1,2)ピクセルはR,(1,3)ピクセルはG

など、てきとーに取っていく。
そーすると、1つ1つのマッシュアップ画像を見ても、何が書いてあるか分からない。
3つのマッシュアップ画像を合成すると、RGBが組み合わさって、みちゃいけないような画像が組み合わさるとする。

1枚目のマッシュアップ画像をサイトA
2枚目のマッシュアップ画像をサイトB
3枚目のマッシュアップ画像をサイトC
これらを合成するアプレットをサイトD

 におき、サイトDにアクセスすると、サイトA、サイトB,サイトCをアクセスして、画像を合成、見ちゃいけない画像を出すというようなしくみ。
 
 この場合、キャッシュに残るのは、マッシュアップ画像で、これをみても何が何だかわからない。ので、取り締まれないと・・・




 こんなようなかたちで、今年あたり、マッシュアップを悪用するようなサイトが、出てくるんじゃないかなあと思ったりしています。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ビット演算を使わないサブネットマスクの妥当性、同一ネットワークチェック。

2009-01-03 13:15:53 | Weblog

 IPV6時代に恐縮だが、IPV4において、たとえば、

  サブネットマスク  255.255.240.0
  IPアドレスその1 192.168.12.126
  IPアドレスその2 192.168.22.126

 この1、2は、同一ネットワークに属しているか否か(ちなみに、答えは違うネットワーク)、そもそも、このサブネットマスクは、妥当か?ということを調べたい時がある。

 Cなら、シフト演算をすればいいだけ。
 ところが、シフト演算機能がない言語においては、めんどっちいことになる。

 で、ビット演算を使わないサブネットマスクの妥当性、同一ネットワークチェックを思いついたので公開(ただし、今思いついただけで、これで本当に正しいかどうかは?。利用する場合は、自分で検証して、自己責任で使ってね!)




■概要

 以下の3つの手順で行う

(1)そもそも、与えられた3つのIPアドレス(サブネットマスク、IPアドレス1、IPアドレス2)は、IPV4のアドレスとして、妥当か?

(2)サブネットマスクは、妥当か?

(3)同一ネットワーク??

以下順にみていく




■IPアドレスとして、妥当?

これは、2つの条件

 ・4つのパートが . で区切られている(つまり、.が3つある)
 ・各パートは、0から255までの整数

つまり、splitなりで、.で切って要素が4つになり、その要素を整数にして、その値が0から255の間なら良い。このとき、以下のチェックのため、4つのパートは配列などにいれておいたほうがいい。




■サブネットマスクは、妥当?

今回の例だと、

  サブネットマスク  255.255.240.0

は妥当か?ということになる。

上記の操作(.で分けて配列に入れ、値範囲チェック)により

 配列[0]=255
 配列[1]=255
 配列[2]=240
 配列[3]=0

という値が入っているはずである。そのあと、以下のチェックを行う


●各パートの数字チェック
  サブネットマスクの各パートの数字は、以下の数字しかありえない。

0、128、192、224、240、248、252、254、255

 なので、各パートの数字がこれら以外だったら、まず、エラーになる。


●パート間の数字チェック

 各パートの数字を、3種類に分けられる

(あ)255
(い)0より大きく、255より小さい
(う)0

上記例で言うと、

 配列[0]=あ(255だから)
 配列[1]=あ(255だから)
 配列[2]=い(240は0より大きく255より小さい)
 配列[3]=う(0だから)

となる。このとき、

自分の配列と次の配列(配列1と配列2など)において、

(いち )自分が(あ)なら、次の配列は、あ,い,う、どれでもよい
(にい )自分が(い)なら、次の配列は、う(かならず0)
(すあん)自分が(う)なら、次の配列は、う(かならず0)


上記例だと
 配列0が(あ)のとき、つぎの配列1が(あ):法則(いち)
 配列1が(あ)のとき、つぎの配列2が(い):法則(いち)
 配列2が(い)のとき、つぎの配列3が(う):法則(にい)
で、OK

上記のチェックで、サブネットマスクのチェックはできる。




■同一ネットワーク?

 上記サブネットワークのチェックで、各パートが(あ),(い),(う)どれに属するか決まった。

 このとき、IPアドレス1、IPアドレス2の間の各パートに以下の関係があれば、同一IPアドレス。

・4つの各パートにおいて、

●サブネットマスクが(あ)=255のパートは、
 そのパートのIPアドレスが、同じ数字でないといけない。



  サブネットマスク  255.255.240.0
   種類        あ   あ   い  う
  IPアドレスその1 192.168.12.126
  IPアドレスその2 192.168.22.126

初めのパートは(あ)なので、192でないといけない
次のパートも(あ)なので、168でないといけない。ここまではOK

●サブネットマスクが(う)=0のパートは、

なんでもよい

上記の例だと、最後のパートが(う)で、例はたまたま126だが、126だろうが、なんだろうが、ここは決め手にはならない。

●サブネットマスクが(い)(0より大きく255のパート)は、

結論からいってしまうと、

   256-サブネットマスクのそのパートの数=X

より、Xを求め、

 IPアドレスのそのパート÷X=商・・・あまり

をもとめる。この2つの商が一致していれば、同じネットワーク

例:

  サブネットマスク  255.255.240.0
   種類        あ   あ   い  う
  IPアドレスその1 192.168.12.126
  IPアドレスその2 192.168.22.126

(い)のパートは、12と22、

256-240=16

12÷16=0あまり12
22÷16=1あまり6

商は0と1で、違うので、違うネットワーク

※理由:

サブネットワークマスクでできるサブネットに番号を降る。
たとえば、192でできるサブネットワークは、4個(説明めんどっちいんで、少なくした)

 0~63   サブネット0
64~127  サブネット1
128~191 サブネット2
192~255 サブネット3

このうち、できるサブネットをIPアドレスの小さいほうから、(上記のように)サブネット0、サブネット1・・・とサブネット番号をつけると、上記の商は、サブネット番号になる。

 同じサブネット番号=同じネットワーク。




 たぶん、これで、大丈夫だと思う。

 上記のあまりに着目すると、ネットワークIP、ブロードキャストIPもわかる。
 けど、クラスB、クラスAとの兼ね合いがあり、それまで説明すると長いので(上記のパート(あ)(い)(う)と、(い)のパートのあまりから、わかる)今回はこの辺で(必要な人は、自分でかんがえてみてね。気が向いたら、書くかも・・・)




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする