2006ǯ04·î

¤¹¤Ç¤Ë狼¤¬ÀäÂФ˽ñ¤¤¤Æ¤¤¤ë¤Ï¤º¤È¤Ï»×¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ õ¤¹¤è¤ê¤â½ñ¤¤¤¿Êý¤¬Á᤽¤¦¤À¤Ã¤¿¤Î¤Ç¡¢ livedoor ¥Ö¥í¥°¤ÎÀ¸¥í¥°¤ò¼èÆÀ¤¹¤ë perl ¥¹¥¯¥ê¥×¥È¤ò ½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£ ¤Ä¤¤¤Ç¤Ë¡¢¥Ç¥¶¥¤¥ó¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤È¤­¤Î¡¢ ¥¹¥¿¥¤¥ë¥·¡¼¥È¡ÊCSS¡Ë¤äHTML¤Î¥Æ¥ó¥×¥ì¡¼¥È¤â¼èÆÀ¤Ç¤­¤Þ¤¹¡£ Î㤨¤Ð¡¢

livedoor.pl gcd raw_log 10 log.csv

¤Ê¤É¤È¼Â¹Ô¤¹¤ì¤Ð¡¢10 ¥Ú¡¼¥¸Ê¬ (200¹Ô) ¤ÎÀ¸¥í¥°¤ò¡¢ CSV ·Á¼°¤Ç¥Õ¥¡¥¤¥ë¡Ölog.csv¡×¤ËÊݸ¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢

livedoor.pl gcd index_tmpl index.html

¤Ê¤É¤È¼Â¹Ô¤¹¤ì¤Ð¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ú¡¼¥¸¤ÎHTML¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢ ¥Õ¥¡¥¤¥ë¡Öindex.html¡×¤ËÊݸ¤Ç¤­¤Þ¤¹¡£ Âè°ì°ú¿ô¡Ögcd¡×¤ÎÉôʬ¤Ë¤Ï¡¢ ¥Ö¥í¥°¤Î¥¢¥«¥¦¥ó¥È̾ (¥¹¥¯¥ê¥×¥È¤ÎÀèÆ¬Éôʬ¤ÇÄêµÁ¤·¤Æ¤¤¤Þ¤¹) ¤ò »ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ »ä¤Î¾ì¹ç¡¢ ¡ÖGCD Æüµ­¡×¤È ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ­¡×¤Î Æó¤Ä¤Î¥Ö¥í¥°¥¢¥«¥¦¥ó¥È¤¬¤¢¤ë¤Î¤Ç¡¢ ¤½¤ì¤¾¤ì¡Ögcd¡×¤È¡Öklab¡×¤È¤¤¤¦Ì¾Á°¤ÇÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£

;Ã̤Ǥ¹¤¬¡¢Æó¤Ä¤Î¥Ö¥í¥°¤ò½ñ¤¤¤Æ¤¤¤ë¤Î¤Ï¡¢ ¸Ä¿ÍÍѤȲñ¼ÒÍѤȤò¶èÊ̤·¤è¤¦¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤È¤â¤È»ä¤Î¤Ê¤«¤Ç¤Ï¼ñÌ£¤È»Å»ö¤Î¶­³¦Àþ¤¬Û£Ëæ¤Ê¤Î¤Ç¡¢ ¸Ä¿Í¤È²ñ¼Ò¤Ç¥Ö¥í¥°¤ò¶èÊ̤·¤è¤¦¤È¤·¤Æ¤âº®¤¶¤Ã¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¤«¤é¡¢ ¶èÊ̤¹¤ë¤³¤È¤Ë°ÕÌ£¤¬¤¢¤ë¤È¤Ï»×¤¨¤Þ¤»¤ó¡£ ¤¸¤ã¡¢¤Ê¤¼Æó¤Ä¤Î¥Ö¥í¥°¤Ê¤Î¤«¤È¸À¤¨¤Ð¡¢ ¡ÖGCD Æüµ­¡×¤Î¤Û¤¦¤¬ ¤è¤ê¥á¥âŪ¤Ç¥Í¥¿¤òÃߤ¨¤Æ¤ª¤­¡¢¤¢¤ëÄøÅٹͤ¨¤¬¤Þ¤È¤Þ¤Ã¤¿¤â¤Î¤ò ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ­¡×¤Ø ½ñ¤³¤¦¡¢¤È¤¤¤¦¤Î¤¬ ¤½¤â¤½¤â¤Î°Õ¿Þ¤Ç¤·¤¿¡£

¤ä¤Ã¤Ä¤±»Å»ö¤Ê¤Î¤Ç¡¢ÆÍ¤Ã¹þ¤ß¤É¤³¤íËþºÜ(^^;) ¤Î¥¹¥¯¥ê¥×¥È¤À¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢ livedoor¥Ö¥í¥°¤ò¤ª»È¤¤¤ÎÊý¤Ï¤´ÍøÍÑ失¤ì¤Ð¹¬¤¤¤Ç¤¹¡£ ¤â¤Á¤í¤ó¡¢¤´ÍøÍѤκݤÏÀèÆ¬Éôʬ¤Î¥æ¡¼¥¶ID & ¥Ñ¥¹¥ï¡¼¥ÉÅù¤ò Ŭµ¹½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¥¹¥¯¥ê¥×¥ÈÃæ¤ÇÆüËܸì¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï EUC-JP ¤ÇÊݸ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

livedoor.pl (livedoor blog À¸¥í¥° & CSS/¥Æ¥ó¥×¥ì¡¼¥È ¼èÆÀ¥¹¥¯¥ê¥×¥È)

#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
use CGI qw/unescapeHTML/;

%blogs = (
    "gcd" => { 
	"User"   => "hiroaki_sengoku",
	"Pass"   => "xxxxxxxx",
	"BlogID" => 1600549,
	"ID"     => 11111,
	"PageID" => 22222,
    },
    "klab" => {
	"User"   => "klab_sengoku",
	"Pass"   => "yyyyyyyy",
	"BlogID" => 1631449,
	"ID"     => 33333,
	"PageID" => 44444,
    },
);

&help unless $_ = shift;
if (my $blog = $blogs{$_}) {
    $User =   $$blog{"User"};
    $Pass =   $$blog{"Pass"};
    $BlogID = $$blog{"BlogID"};
    $ID =     $$blog{"ID"};
    $PageID = $$blog{"PageID"};
} else {
    &help;
}

$ua = new LWP::UserAgent;
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ja)");
$ua->env_proxy();
$ua->cookie_jar( {} );
my $res = $ua->request(POST "http://member.livedoor.com/login/index",
		       [ "livedoor_id" => $User, "PASSWORD" => $Pass,
			 ".next" => "", ".sv" => "" ]);
while (my $type = shift) {
    if ($type eq "css" || $type eq "index_tmpl" || $type eq "article_tmpl" ||
	$type eq "category_tmpl" || $type eq "monthly_tmpl") {
	my $file = shift;
	open(OUT, ">$file") || die;
	my $url = "http://cms.blog.livedoor.com/cms/design/edit"
	    . "?tmpl=$type&blog_id=$BlogID&id=$ID";
	my $req = new HTTP::Request GET => $url;
	my $res = $ua->request($req);
	if ($res->content =~
	    /\<textarea .*name=\"content\" [^\>]*\>([^\<]+)\<\/textarea\>/) {
	    my $content = unescapeHTML($1);
	    $content =~ s/\r\n/\n/g;
	    print OUT $content, "\n";
	}
	close(OUT);
    } elsif ($type eq "raw_log") {
	my $npage = shift;
	($npage =~ m/^\d+$/ && $npage >= 1) || &help;
	my $file = shift;
	open(OUT, ">$file") || die;
	my $url = "http://analyzer.livedoor.com/log/raw?page_id=$PageID";
	my $prepat = '\<td\b[^\>]*\>\<strong\>\<small\>';
	my $postpat = '\<\/small\>\<\/strong\>\<\/td\b[^\>]*\>';
	for (my $i=1; $i <= $npage; $i++) {
	    my $req = new HTTP::Request GET => "$url&p=$i";
	    my $res = $ua->request($req);
	    my $datepat = '\d\d\d\d\-\d\d\-\d\d \d\d\:\d\d\:\d\d';
	    my $date;
	    for (split(/(\<small\>$datepat\<\/small\>)/, $res->content)) {
		if (/^\<small\>($datepat)\<\/small\>$/) {
		    $date = $1;
		} elsif (/^\<\/th\>\s*\<\/tr\>\s*/) {
		    my @record;
		    for (split(/\<\/tr\>\s*/, $')) {
			my $column;
			if (/$prepat(.*)$postpat/o) {
			    if ($1 eq 'URL') {
				$column = 0;
			    } elsif ($1 eq '¥ê¥Õ¥¡¥é') {
				$column = 1;
			    } elsif ($1 eq '¥Ö¥é¥¦¥¶') {
				$column = 2;
			    } elsif ($1 eq '¥ê¥â¡¼¥È¥Û¥¹¥È') {
				$column = 3;
			    } else {
				die "Unknown column: $_\n";
			    }
			}
			if (/\<td\b[^\>]*\>\<small\>(.*)\<\/small\>\<\/td\b[^\>]*\>/){
			    $_ = $1;
			    s/\<\/?a\b[^\>]*\>//g;
			    if (/,/) {
				s/\"/\"\"/g;
				$_ = "\"$_\"";
			    }
			    $record[$column] = $_;
			} elsif (/^\<\/table\>/) {
			    last;
			} elsif (! /^\<tr\>\s*\<th\b[^\>]*\>/) {
			    die "Unknown format: $_\n";
			}
		    }
		    print OUT $date, ",", join(',', @record), "\r\n";
		}
	    }
	}
	close(OUT);
    } else {
	&help;
    }
}
exit 0;

sub help {
    print "Usage livedoor <blog> <opt>...\nblog: ",
    join("\n      ", keys %blogs), "\n",
    'opt:  css <file>
      index_tmpl <file>
      article_tmpl <file>
      category_tmpl <file>
      monthly_tmpl <file>
      raw_log <n> <file>
';
    exit 1;
}

ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¡£ º£¤Þ¤Ç¤ªÏä·¤·¤Æ¤­¤¿¤³¤È¤ò¤¤¤Ã¤¿¤ó¤Þ¤È¤á¤Æ¤ß¤Þ¤¹¡£

(1) ¹â¤¤µ»½ÑÎϤäÆÎ㤨¤Ð¤É¤ó¤Ê¤³¤È¤Ç¤¹¤«¡©
»Ö˾ưµ¡¤¬¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤Î¤Ë¡¢ ´Î¿´¤Î¤½¤Îµ»½Ñ¤¬¤É¤¦¤¤¤¦¤â¤Î¤«¥¤¥á¡¼¥¸¤Ç¤­¤Æ¤¤¤Ê¤¤¡¢ ¸À¤¤´¹¤¨¤ì¤Ð¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤Î¤«¼Â¤Ïʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¡¢ ¤³¤ì¤Ï¤«¤Ê¤êÌäÂê¤Ç¤¹¤è¤Í¡©
(2) ²¿¤«¼ÁÌä¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡©
ÌÌÀܤò¼õ¤±¤ËÍè¤Æ¡¢¤Ê¤Ë¤â¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¿Í¤¬¤¤¤Þ¤¹¡£ ʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ëʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢ ¤³¤ì¤Ïµ»½Ñ¼Ô¤Ë¤È¤Ã¤ÆÃ×̿Ū¤Ê¤³¤È¤Ç¤¹¡£ ¤É¤³¤Þ¤Ç¤â¼«Ê¬¤¬Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼«³Ð¤·¡¢ õµá¤·Â³¤±¤ë½¬´·¤¬Ìµ¤±¤ì¤Ð¡¢¥¹¥­¥ë¥¢¥Ã¥×¤Ï³Ð«¤Ê¤¤¤Ç¤·¤ç¤¦¡£
(3) Á°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤Þ¤·¤¿¤«¡©
Á°¿¦µë¤Ë´ð¤Å¤¤¤ÆµëÍ¿¤ò·è¤á¤ë¤¿¤á¡¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥¹¥à¡¼¥º¤Ë°Ü¹Ô¤Ç¤­¤ë¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£

º£²ó¤Î¼ÁÌä¤Ï¡¢

À¸³è¤¹¤ë¤¿¤á¤ËƯ¤«¤Í¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤¬²¾¤Ë¤Ê¤«¤Ã¤¿¤È¤·¤¿¤é¡¢
²¾¤Ë¡¢°ì½µ´Ö²¿¤ò¤·¤Æ¤â¤¤¤¤¡¢¤È¸À¤ï¤ì¤¿¤é¡¢²¿¤ò¤·¤Þ¤¹¤«¡©

¤Ê¤¼¤³¤ó¤Ê¼ÁÌä¤ò¤¹¤ë¤«¤È¸À¤¨¤Ð¡¢¼«Ê¬¤ÏËÜÅö¤Ï²¿¤ò¤·¤¿¤¤¤Î¤« ¹Í¤¨¤Æ¤â¤é¤¤¤¿¤¤¤«¤é¤Ç¤¹¡£

¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤«¡© ¤½¤ó¤Ê¤³¤È¤Ïʬ¤«¤Ã¤Æ¤¤¤ë¤Ë·è¤Þ¤Ã¤Æ¤¤¤ë¤¸¤ã¤Ê¤¤¤«¡¢ ¤ª¶â¤Ëº¤¤é¤Ê¤¤¤Ê¤é¹¥¤­¤Ê¤³¤È¤ò¤¹¤ë¤µ¡¢¤È¿¤¯¤Î¿Í¤Ï¸À¤¦¤Ç¤·¤ç¤¦¡£

¤¸¤ã¡¢¹¥¤­¤Ê¤³¤È¤Ã¤Æ²¿¤Ç¤¹¤«¡©

»Å»ö¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Î¤Ê¤é¡¢¤¢¤ì¤â¤·¤¿¤¤¡¢¤³¤ì¤â¤·¤¿¤¤¡¢...

¤½¤ÎÃæ¤Ç°ìÈÖ¤ä¤ê¤¿¤¤¤Î¤Ï²¿¤Ç¤¹¤«¡©

°ìÆüÃæ¡¢¿²Â³¤±¤¿¤¤¡£
Íá¤Ó¤ë¤Û¤É¼ò¤ò°û¤ß¤¿¤¤¡£
²¿¤â¹Í¤¨¤º¤Ë¤Ü¡¼¤Ã¤È¤·¤Æ¤¤¤¿¤¤¡£
...

¤Þ¤¢¹¥¤­¤Ë¤ä¤Ã¤Æ¤Æ¤¯¤À¤µ¤¤¡£(^^;)
¤â¤Á¤í¤óµ¤Ê¬Å¾´¹¤ÏɬÍפʤΤǡ¢ »þ¤Ë¤Ï¥Ï¥á¤ò³°¤¹¤³¤È¤âɬÍפǤ·¤ç¤¦¡£ ¤Ç¤â¡¢²¿¤«¤ò¤ä¤Ã¤Æ¤¤¤ë¤«¤é¤³¤½¤Îµ¤Ê¬Å¾´¹¤Ç¤¹¤è¤Í¡£ ǯ¤¬¤éÇ¯Ãæ¡¢µ¤Ê¬Å¾´¹¤·Â³¤±¤ë¤ï¤±¤Ë¤Ï¤¤¤­¤Þ¤»¤ó¤è¤Í¡£

¤À¤«¤é¡Á¡¢ÉáÃʤϷù¤Ê»Å»ö¤ò¤ä¤Ã¤Æ¤Æ¡¢ ¤ª¤Þ¤±¤Ë»Ä¶È³¤­¤ÇË»¤·¤¯¤ÆË»¤·¤¯¤Æ¡¢ ¤¿¤Þ¤ËµÙÆü¤¬¤¢¤Ã¤Æ¤âÈè¤ì¤Æ¤¤¤ë¤«¤é²¿¤â¤¹¤ëµ¤¤¬µ¯¤­¤º¡¢ ¤¢¡Á »Å»ö¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Ê¤é¹¥¤­¤Ê¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ë¡Á

¤¤¤¨¡¢¤À¤«¤é¤½¤Î¡Ö¹¥¤­¤Ê¤³¤È¡×¤Ã¤Æ¤Ê¤ó¤Ç¤·¤ç¤¦¡©
¤È¤¤¤¦¤Î¤¬¼ÁÌä¤Ê¤Î¤Ç¤¹¤¬... (-_-;)

°ìÀ¸¤Î»þ´Ö¤Î¤¦¤Á¤Î¤«¤Ê¤ê¤Î»þ´Ö¤ò»Å»ö¤ËÈñ¤ä¤¹¤Î¤Ç¤¹¤«¤é¡¢ °ìÀ¸¤«¤±¤Æ¼è¤êÁȤߤ¿¤¤¤È»×¤¦¤è¤¦¤Ê¤³¤È¤ò¤¹¤Ù¤­¤À¤È»×¤¦¤Î¤Ç¤¹¡£ ¹¥¤­¤Ê¤³¤È¤ò¤ä¤Ã¤Æ¤Æ¤ª¶â¤¬¤â¤é¤¨¤ì¤Ð¶ìÏ«¤Ï¤·¤Ê¤¤¡¢¤È¿¤¯¤Î¿Í¤Ï¸À¤¦¤Ç¤·¤ç¤¦¡£ ¤Ç¤â¡¢ËÜÅö¤Ë°ìÀ¸¤«¤±¤Æ¤â¤ä¤ê¤¿¤¤¤Û¤É¹¥¤­¤Ê¤³¤È¤Ã¤Æ¤¢¤ê¤Þ¤¹¤«¡©

¤â¤·¤¢¤ë¤Ê¤é¡¢¤½¤Î¡Ö¹¥¤­¤Ê¤³¤È¡×¤ò¤ä¤Ã¤Æ¤Æ¤âÀ¸³è¤Ç¤­¤Ê¤¤ ¤ÈȽÃǤ¹¤ë¤Î¤Ï¤Ê¤¼¤Ç¤·¤ç¤¦¡© °ìÀ¸¤«¤±¤ë³Ð¸ç¤¬¤¢¤ë¤Ê¤é¡¢ÂçÄñ¤Î¤³¤È¤ÏÀ®¤·¿ë¤²¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ ·ù¡¹»Å»ö¤ò¤·¤¿¤Ã¤Æ¡¢¹¥¤­¤Ç¤ä¤Ã¤Æ¤ë¿Í¤Ë¾¡¤Æ¤ë¤Ï¤º¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ·Ü¸ý¤È¤Ê¤ë¤âµí¸å¤È¤Ê¤ë¤Ê¤«¤ì¡¢ ¹¥¤­¤Ê¤³¤È¤ò¤·¤è¤¦¡£

¤â¤·¤½¤ì¤Û¤É¡Ö¹¥¤­¤Ê¤³¤È¡×¤¬¤Ê¤¤¤Î¤Ê¤é¡¢¤Ê¤¼Ãµ¤µ¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¡©
°ìÀ¸¤«¤±¤Æ·ù¡¹»Å»ö¤ò¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£²¿¤Î¤¿¤á¤Ë¡©
À¸³è¤Î¤¿¤á¡¢¤È¤¤¤¦¤Î¤Ï¼«Ê¬¼«¿È¤Ø¤Î ¤¤¤¤¤ï¤± ¤Ê¤Î¤Ç¤Ï¡©

- o -

º£Æü¤«¤é¸Þ·îÏ¢µÙ¤Ç¤¹¤Í¡£ ²ñ¼Ò¤Ë¤è¤Ã¤Æ¤Ï 9 Ï¢µÙ¤Î¤È¤³¤í¤â¤¢¤ë¤È¤«¡£
¤¢¤Ê¤¿¤Ï²¿¤ò¤·¤Þ¤¹¤«¡©

³¤­¤òÆÉ¤à
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î28Æü

ÃÙ¤ì¤Ð¤»¤Ê¤¬¤é Haskell ¤ÇÍ·¤ó¤Ç¤¤¤Þ¤¹¡£ KLab ¤Îµ»½Ñ¼Ô¤ÎÃæ¤Ë¤â¡¢¼ê³¤­·¿¸À¸ì¤ÎÀ¤³¦¤Ë ¤É¤Ã¤×¤ê¤Ä¤«¤Ã¤Æ¤¤¤ÆÂ¾¤ÎÀ¤³¦¤òÃΤé¤Ê¤¤¿Í¤Ï ¤¤¤ë¤Î¤Ç¡¢ tech ML (µ»½Ñ¼Ô¸þ¤Î KLab ¼ÒÆâ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È) ¤Ç Haskell ¤Î¾Ò²ð¤ò¤·¤Æ¤ß¤Þ¤·¤¿¡£

¡Á¡Á tech ML ¤ËÅꤲ¤¿¥á¡¼¥ë¤³¤³¤«¤é ¡Á¡Á
Subject: [tech:8480] Haskell

ÀçÀФǤ¹¡£

ÅâÆÍ¤Ç¤¹¤¬¡¢Haskell ¤Ã¤ÆÃΤäƤޤ¹¤«¡©

»ä¤ÏÌÌÀܤ·¤¿¿Í¤Ë¶µ¤¨¤Æ¤â¤é¤Ã¤¿ ;) ¤Î¤Ç¤¹¤¬¡¢ºÇ¶áή¹Ô¤ê¤Î´Ø¿ô·¿¸À¸ì¤Ç¤¹¡£
¥Ö¥í¥°¤ò¸«¤Æ¤ë¤È¡¢¤¢¤Á¤³¤Á¤ÇÏÃÂê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Í¡£
ÆþÌçÍѤΥڡ¼¥¸:

  ¤ä¤µ¤·¤¤ Haskell ÆþÌç (¥Ð¡¼¥¸¥ç¥ó98)
  http://www.sampou.org/haskell/tutorial-j/index.html

¡Ö¤ä¤µ¤·¤¤¡×¤È½ñ¤¤¤Æ¤Þ¤¹¤¬¡¢´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ü¤¦¤È¤¹¤ë¿Í¤Ë¤ÏÉߵ郎 
¹â¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£¤Þ¤º¤Ï´Êñ¤Ê Haskell ¥×¥í¥°¥é¥à¤ò¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£

------------------------------------------------------------------------
guusuu x
  | x `mod` 2 == 0  =  True
  | otherwise       =  False
------------------------------------------------------------------------

¤³¤ì¤Ï guusuu(x) ¤È¤¤¤¦´Ø¿ô¤ÎÄêµÁ¤Ç¤¹¡£

  x ¤ò 2 ¤Ç³ä¤Ã¤¿Í¾¤ê¤¬ 0 ¤Ê¤é¤Ð¡¢guusuu(x) = True
  ¤½¤ì°Ê³°¤Ê¤é¤Ð¡¢                guusuu(x) = False

¤ÈÆÉ¤ß¤Þ¤¹¡£´Êñ¤Ç¤¹¤Í¡© ;)
Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¾åµ­¥×¥í¥°¥é¥à¤ò test.hs ¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ÇÊݸ¤·¤Æ¤ª¤¤¤Æ¡¢
Haskell ½èÍý·Ï¤Ç¤¢¤ë ghci ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£

------------------------------------------------------------------------
senri:/home/sengoku/tmp % ghci
   ___         ___ _
  / _ \ /\  /\/ __(_)
 / /_\// /_/ / /  | |      GHC Interactive, version 6.4.2, for Haskell 98.
/ /_\\/ __  / /___| |      http://www.haskell.org/ghc/
\____/\/ /_/\____/|_|      Type :? for help.

Loading package base-1.0 ... linking ... done.
Prelude> :load test.hs
Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Main.
*Main> guusuu 2
True
*Main> guusuu 7
False
*Main> 
------------------------------------------------------------------------

¡Ö:load test.hs¡×¤È¤¤¤¦¤Î¤¬¡Ötest.hs¡×¤òÆÉ¤ß¹þ¤à¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£
¡Öguusuu 2¡×¤ò¼Â¹Ô¤¹¤ë¤È¡¢guusuu(2) ¤ÎÃͤǤ¢¤ë True ¤¬½ÐÎϤµ¤ì¤Æ¤¤¤Þ¤¹¤Í¡£
¤³¤ì¤À¤±¤À¤È¡¢¤¢¤Þ¤êǽ¤¬¤Ê¤¤¤Î¤Ç¡¢¶ö¿ôÎó¤òɽ¼¨¤µ¤»¤Æ¤ß¤Þ¤·¤ç¤¦¤«¡£

------------------------------------------------------------------------
*Main> take 10 [1,2..]
[1,2,3,4,5,6,7,8,9,10]
*Main> take 10 [x|x <- [1,2..], guusuu x]
[2,4,6,8,10,12,14,16,18,20]
------------------------------------------------------------------------

¡Ötake 10¡×¤È¤¤¤¦¤Î¤Ï¤½¤Î¸å¤í¤Î¥ê¥¹¥È¤ÎÀèÆ¬ 10 ¸Ä¤ÎÍ×ÁǤò¼è¤ê½Ð¤¹´Ø¿ô¤Ç
¤¹¡£¡Ö[1,2..]¡×¤È¤¤¤¦¤Î¤Ï¼«Á³¿ôÎó¤Î¥ê¥¹¥È¤Ç¤¹¤Í¡£take ¤ò»È¤ï¤º¤Ë [1,2..] 
¤òɽ¼¨¤µ¤»¤è¤¦¤È¤¹¤ë¤È¡¢Ìµ¸Â¤Ë¼«Á³¿ôÎó¤òɽ¼¨¤·¤Þ¤¹¡£

------------------------------------------------------------------------
*Main> [1,2..]
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, ...̵¸Â¤Ë³¤¯...
------------------------------------------------------------------------

ÅÓÃæ¤Ç»ß¤á¤ë¤Ë¤Ï control-C ¤ò²¡¤·¤Þ¤¹¡£
¤µ¤Æ¡¢

  [x|x <- [1,2..], guusuu x]

¤È¤¤¤¦½ñ¤­Êý¤Ï¡¢¥°¥é¥ÕÍýÏÀ¤ÎÎØ¹Ö¤Ë»²²Ã¤·¤Æ¤¤¤ë¿Í¤ä¡¢½Ò¸ìÏÀÍý¤ò³Ø¤ó¤À¤³¤È
¤Î¤¢¤ë¿Í¤Ë¤Ï¤ª¤Ê¤¸¤ß¤Î½ñ¤­Êý¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£¼«Á³¿ôÎó¤ÎÃæ¤Ç¡¢
½Ò¸ì guusuu(x) ¤¬ True ¤Ç¤¢¤ë¤è¤¦¤Ê x ¤Î¤ß¼è¤ê½Ð¤·¤¿¥ê¥¹¥È¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£

¤¸¤ã¡¢¤³¤Î¥×¥í¥°¥é¥à¤Ï¤É¤¦¤Ç¤·¤ç¤¦¡©

------------------------------------------------------------------------
hurui [] = []
hurui (top:rest) = top:(hurui [x|x <- rest, x `mod` top /= 0])
------------------------------------------------------------------------

´Ø¿ô hurui ¤Ï°ú¿ô¤È¤·¤Æ¥ê¥¹¥È¤ò¤È¤ê¤Þ¤¹¡£¡Ö[]¡×¤Ï¶õ¥ê¥¹¥È¤Ç¤¹¡£¤Ä¤Þ¤êÍ×
ÁǤ¬²¿¤â¤Ê¤¤¥ê¥¹¥È¤Ç¤¹¤Í¡£°ú¿ô¤¬¶õ¥ê¥¹¥È¤Ê¤é¤Ð hurui [] ¤ÎÃͤâ [] ¤Ç¤¹¡£

°ú¿ô¤¬ [] ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢°ú¿ô¤Î¥ê¥¹¥È¤ò¡¢ÀèÆ¬ top ¤È»Ä¤ê rest ¤Ëʬ²ò¤·¤Þ¤¹¡£
Î㤨¤Ð hurui [3,5,9,11,13] ¤Î¾ì¹ç¡¢top ¤¬ 3 ¤Ç rest ¤¬ [5,9,11,13] ¤Ç¤¹¡£

# ¤³¤Î¤¢¤¿¤ê¡¢lisp ¤òÃΤäƤ¤¤ë¿Í¤Ë¤Ï¤ª¤Ê¤¸¤ß¤Î³µÇ°¤Ç¤¹¤Í

¼¡¤Ë top ¤È (hurui [x|x <- rest, x `mod` top /= 0]) ¤ò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤ò¡¢ 
hurui ¤ÎÃͤȤ·¤ÆÊÖ¤·¤Þ¤¹¡£¡Ö:¡×¤¬¥ê¥¹¥È¤òºî¤ë¤¿¤á¤Î±é»»»Ò¤Ç¤¹¡£

# lisp ¤Ç¸À¤¦¤È¤³¤í¤Î cons ¤È¸À¤¨¤Ð lisp ¤òÃΤäƤ¤¤ë¿Í¤Ë¤Ï´Êñ¤Ç¤¹¤Í

¤Ç¤Ï (hurui [x|x <- rest, x `mod` top /= 0]) ¤È¤Ï²¿¤Ç¤·¤ç¤¦¡©

¡Ö/=¡×¤È¤¤¤¦¤Î¤ÏÅù¤·¤¯¤Ê¤¤¡¢¤È¤¤¤¦±é»»»Ò¤Ç¤¹¡£C ¤Ç¸À¤¦¤È¤³¤í¤Î¡Ö!=¡×¤Ç¤¹
¤Í¡£¤Ä¤Þ¤ê¡¢rest ¤ÎÃæ¤Ç¡Öx `mod` top /= 0¡×¤¬ True ¤Ë¤Ê¤ë¤â¤Î¤ò¼è¤ê½Ð¤·
¤¿¥ê¥¹¥È¤òµá¤á¡¢¤³¤ì¤ò°ú¿ô¤È¤·¤Æ hurui ¤òºÆµ¢¸Æ½Ð¤·¤·¤Æµá¤á¤¿¥ê¥¹¥È¡¢¤È
¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

top ¤¬ 3 ¤Ç rest ¤¬ [5,9,11,13] ¤Ç¤·¤¿¤«¤é¡¢3 ¤Ç³ä¤Ã¤ÆÍ¾¤ê¤¬ 0 ¤Ç¤Ê¤¤ 
(¤Ä¤Þ¤ê 3 ¤Ç³ä¤êÀÚ¤ì¤Ê¤¤) ¤â¤Î¤Î¥ê¥¹¥È¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£9 °Ê³°¤Ï 3 
¤Ç³ä¤êÀÚ¤ì¤Ê¤¤¤Î¤Ç [5,11,13] ¤Ç¤¹¤Í¡£¤³¤ì¤ò°ú¿ô¤È¤·¤Æ hurui ¤ËÍ¿¤¨¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢3 (top ¤ÎÃÍ) ¤È hurui [5,11,13] ¤ÎÃͤò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤¬Åú¤Ë¤Ê¤ê¤Þ
¤¹¡£

ƱÍÍ¤Ë hurui [5,11,13] ¤ÎÃͤϡ¢5 ¤È hurui [11,13] (11 ¤â 13 ¤â 5 ¤Ç¤Ï³ä
¤êÀÚ¤ì¤Ê¤¤¤«¤é) ¤ÎÃͤò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤Ç¤¹¤Í¡£¤È¤¤¤¦¤Î¤ò¤É¤ó¤É¤óºÆµ¢Åª¤Ë·«
¤êÊÖ¤¹¤È¡¢hurui [3,5,9,11,13] ¤ÎÃÍ¤Ï [3,5,11,13] ¤Ë¤Ê¤ê¤Þ¤¹¡£¼ÂºÝ¤Ë»î¤·
¤Æ¤ß¤Þ¤·¤ç¤¦:

------------------------------------------------------------------------
*Main> hurui [3,5,9,11,13]
[3,5,11,13]
------------------------------------------------------------------------

¥¹¥ë¥É¥¤¿Í¤Ï¤¹¤Ç¤Ëʬ¤«¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢
¤³¤Î´Ø¿ô¤Ï¡Ö¥¨¥é¥È¥¹¥Æ¥Í¥¹¤ÎäÁ¡×¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢

------------------------------------------------------------------------
*Main> take 20 (2:hurui [3,5..])
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71]
------------------------------------------------------------------------

¤Ê¤É¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢20¸Ä¤ÎÁÇ¿ô¤òÎóµó¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£

¤É¤¦¤Ç¤¹¡© ÌÌÇò¤¤¤Ç¤·¤ç¤¦¡©

´Ø¿ô·¿¸À¸ì¤òÃΤäƤ¤¤ë¿Í¤Ï¡¢¤¿¤Ö¤ó Haskell ¤â¤¹¤°»È¤¤¤³¤Ê¤¹¤³¤È¤¬¤Ç¤­¤ë
¤È»×¤¤¤Þ¤¹¤·¡¢´Ø¿ô·¿¸À¸ì¤òÃΤé¤Ê¤¤¿Í¤Ï¡¢¤¼¤Ò¤³¤Îµ¡²ñ¤ËÃΤ뤳¤È¤ò¥ª¥¹¥¹¥á
¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é´Ø¿ô·¿¸À¸ì¤òÃΤé¤Ê¤¤¥×¥í¥°¥é¥Þ¤Ã¤Æ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÎÀ¤
³¦¤ÎȾʬ¤·¤«ÃΤé¤Ê¤¤¤ï¤±¤Ç¡¢Haskell ¤ò³Ø¤Ö¤³¤È¤Ë¤è¤êÀ¤³¦¤¬Â礭¤¯¹­¤¬¤ë¤È
»×¤¦¤«¤é¤Ç¤¹¡£

´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ö¿Í¤Ï¡¢¤Þ¤º¤Ï

  ÆþÌçHaskell¡½¤Ï¤¸¤á¤Æ³Ø¤Ö´Ø¿ô·¿¸À¸ì
  ¸þ°æ ½ß (Ãø) 

¤¢¤¿¤ê¤òÆÉ¤à¤Î¤¬¤¤¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£»ä¤Î´ù¤Î¾å¤ËÃÖ¤¤¤Æ¤ª¤¯¤Î¤Ç¡¢¶½Ì£¤¢¤ë
¤«¤¿¤Ï¤É¡¼¤¾ (ÀèÃå°ì̾Í͸ÂÄê)¡£

¤³¤ÎËܤϡ¢ÉûÂê¤Ë¤â¤¢¤ë¤è¤¦¤Ë´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ö¿Í¸þ¤±¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î
¤Ç¡¢¥¤¥Þ¥¤¥ÁËܼÁ¤ò³°¤·¤Æ¤¤¤ë¤ó¤Ç¤¹¤è¤Í¤§... ¤À¤«¤éËܲ»¤Ç¤Ï¥ª¥¹¥¹¥á¤ÊËܤÇ
¤Ï¤Ê¤¤ ;-) ¤Î¤Ç¤¹¤¬¡¢´Ø¿ô·¿¸À¸ì¤Ø¤Î¤È¤Ã¤«¤«¤ê¤È¤·¤Æ¤Ï¤è¤¤¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£

#13425                                                          ÀçÀÐ ¹ÀÌÀ
http://www.gcd.org/sengoku/             Hiroaki Sengoku <sengoku@gcd.org>
¡Á¡Á tech ML ¤ËÅꤲ¤¿¥á¡¼¥ë¤³¤³¤Þ¤Ç ¡Á¡Á

¤³¤Î¥á¡¼¥ë¤Ë°ìÈÖÁ᤯ȿ±þ¤·¤¿¤Î¤Ï¡¢KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë ¶¨Îϲñ¼Ò H ¼Ò¤Î CTO ¤Î T ¤µ¤ó¤Ç¤·¤¿¡£ T ¤µ¤ó¤È¤Ï¤´Ìµº»ÂÁ¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ Èà¤â»ä¤ÈƱÍÍ¤Ë Haskell ¤ÇÍ·¤ó¤Ç¤¤¤¿¤³¤È¤¬Ê¬¤«¤Ã¤Æ¡¢ ¤µ¤¹¤¬¤È»×¤Ã¤¿¼¡Âè¡£

# ¶¨Îϲñ¼Ò¤µ¤ó¤ËÉ餱¤º¤Ë´èÄ¥¤Ã¤Æ¤Í ¡ä KLab ¼Ò°÷

¡Á¡Á T ¤µ¤ó¤Î¥á¡¼¥ë(°ìÉôÈ´¿è)¤³¤³¤«¤é ¡Á¡Á
¤´Ìµº»ÂÁ¤·¤Æ¤ª¤ê¤Þ¤¹¡£
H ¼Ò¤Î T ¤Ç¤¹¡£

Hiroaki Sengoku wrote:
> ÅâÆÍ¤Ç¤¹¤¬¡¢Haskell ¤Ã¤ÆÃΤäƤޤ¹¤«¡©

¤Ê¤¼¤«»ä¤â¡¢º£·î¤ÎƬ¤°¤é¤¤¤Ë¤È¤¢¤ë¥Ö¥í¥°¤ÇÃΤäơÊYAPC::Asia 2006¤ÎPugs´ØÏ¢
¤Î¥¨¥ó¥È¥ê¤À¤Ã¤¿¤è¤¦¤Ê¡Ä¡Ë

>   ÆþÌçHaskell¡½¤Ï¤¸¤á¤Æ³Ø¤Ö´Ø¿ô·¿¸À¸ì
>   ¸þ°æ ½ß (Ãø)

¤ò¹ØÆþ¤·¤Æ¡¢¤Ò¤½¤ä¤«¤Ë³Ú¤·¤ó¤Ç¤ª¤ê¤Þ¤·¤¿¡£
¤½¤·¤Æ¡¢¤¤¤ä¤¢¡¢¤³¤ì¤Ï¡¢¼«Ê¬¤À¤±³Ú¤·¤ó¤Ç¤¤¤ë¤Ë¤Ï;¤ê¤Ë¤â¤â¤Ã¤¿¤¤¤Ê¤¤¤Î¤Ç¡¢
¡ÊH¼ÒÆâ¤Î¡ËÊÙ¶¯²ñ¤Î¥Í¥¿¤Ë¤·¤è¤¦¤ÈÀë¸À¤·¤Æ¤¤¤¿ÌðÀè¤Ë¡¢Åê¹Æ¤òÇÒ¸«¤·¤Þ¤·¤Æ¡¢
¤Ä¤¤È¿±þ¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
¡Á¡Á T ¤µ¤ó¤Î¥á¡¼¥ë(°ìÉôÈ´¿è)¤³¤³¤Þ¤Ç ¡Á¡Á

KLab ¤Ç¤â Haskell ÊÙ¶¯²ñ¤ä¤ê¤Þ¤·¤ç¤¦!


ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¤Î»°²óÌÜ¡£

¿¤¯¤Î´ë¶ÈƱÍÍ¡¢KLab ¤ÎÌÌÀܤǤâ¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤¿¤«¡×¤Ï ÅöÁ³¤Î¤è¤¦¤Ë¼ÁÌ䤷¤Þ¤¹¡£ ¤¬¡¢¤½¤ì¤ÏÁ°¿¦µë¤Ë´ð¤Å¤¤¤ÆµëÍ¿¤ò·è¤á¤ë¤¿¤á¡¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥¹¥à¡¼¥º¤Ë°Ü¹Ô¤Ç¤­¤ë¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£

À¤´Ö°ìÈÌŪ¤Ë¤Ï¡¢¤Þ¤À¤Þ¤Àǯ¸ù½øÎó¤ÎµëÍ¿ÂηϤΤ褦¤Ç¡¢ ǯÎ𤬹⤯¤Ê¤ë¤È¤É¤¦¤·¤Æ¤âµëÎÁ¤¬¹â¤¯¤Ê¤ë·¹¸þ¤Ë¤¢¤ê¤Þ¤¹¡£ Î㤨¤ÐÀèÆüÌÌÀܤ·¤¿¿Í¤Ï¡¢ 5ǯÁ°¤«¤éÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¼õ¤±¤é¤ì¤Þ¤·¤¿¡£ 5ǯ´Ö¤µ¤·¤¿¤ë¿ÊÊâ¤â¤Ê¤¤¤Î¤Ë¡¢ µëÎÁ¤Î¤ß¤¬¾å¤¬¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡¢ ¤¤¤Þ¤µ¤é 5ǯÁ°¤ÎµëÎÁ¤Ç¸Û¤¦¤Î¤â̵Íý¤ÊÏäǤ¹¤·¡¢ 5ǯ´ÖÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤¿¿Í¤¬Å¾¿¦¤ÇÆÍÁ³¿­¤Ó»Ï¤á¤ë²ÄǽÀ­¤Ï Ä㤤¤ÈȽÃǤ»¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿¤Î¤Ç ÉÔºÎÍѤȤʤê¤Þ¤·¤¿¡£

¤â¤Á¤í¤ó¡ÖÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤¿¡×¤È¤¤¤¦¤Î¤Ï»ä¤«¤é¸«¤¿¼ç´Ñ¤Ç¤¢¤Ã¤Æ¡¢ Åö¿Í¤«¤é¤¹¤ì¤Ð 5ǯ´Ö¤Î´Ö¤Ë¤¤¤í¤¤¤í·Ð¸³¤òÀѤó¤Ç¤­¤¿¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ ¼ÂºÝ¡¢¿¦Ì³·ÐÎò½ñ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥×¥í¥¸¥§¥¯¥È¤¬Îóµó¤·¤Æ¤¢¤ê¤Þ¤·¤¿¡£ ¤·¤«¤·¡¢¤É¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤âÊÌÃʻפ¤Æþ¤ì¤¬¤¢¤Ã¤¿¤ï¤±¤Ç¤â¤Ê¤¤¤è¤¦¤Ç¡¢ ¡Ö°õ¾Ý¿¼¤«¤Ã¤¿¥×¥í¥¸¥§¥¯¥È¤ò¡¢°ì¤Ä¤À¤±¤Ç¤¤¤¤¤Î¤Ç»öºÙ¤«¤Ë¾Ü¤·¤¯ÀâÌÀ¤·¤Æ²¼¤µ¤¤¡×¤È ¤ª´ê¤¤¤·¤Æ¤â¡¢¤É¤¦¤¤¤¦À½Éʤò³«È¯¤·¤¿¤Î¤«ÀâÌÀ¤¹¤ë¤À¤±¤À¤Ã¤¿¤Î¤Ç¤¹¡£ »ä¤È¤·¤Æ¤Ï¡¢¤É¤¦¸À¤¦ÅÀ¤òº¤Æñ¤È´¶¤¸¡¢¤É¤Î¤è¤¦¤Ë¹©Éפ·¡¢²¿¤ò³Ø¤ó¤À¤«Åù¡¹¤ò ʹ¤­¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ¤Ä¤¤¤Ë¤½¤¦¤¤¤¦ÏäÏʹ¤±¤º¤¸¤Þ¤¤¤Ç¤·¤¿¡£

¡ÖµëÍ¿¤Î·ÐÏ©°Í¸À­¤ÈÆó¶Ë²½¡×¤«¤é°úÍÑ:

¥­¥ã¥ê¥¢¤Ã¤Æ¡Ö²¿¤ò¤ä¤Ã¤¿¤³¤È¤¬¤¢¤ë¤«¡×¤â¤¢¤ë¤±¤É ¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤¿¤«¡×¤È¤¤¤¦¤Î¤âÂ礭¤¤¤ó¤À¤è¤Í¡¥ ï¤âÀäÂÐŪ¤ÊµëÍ¿¿å½à¤Î´¶³Ð¤Ê¤ó¤Æ¤Ê¤¤¤«¤é¡¤ ¤É¤¦¤·¤Æ¤â¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤Þ¤·¤¿¤«¡©¡×¤È¤¤¤¦¤Î¤¬½ÅÍפʴð½à¤È¤Ê¤ë¡¥

¤½¤¦¤Ç¤·¤ç¤¦¤«¡© KLab ¤Ë¤Ï KLab ¤Î¡ÖÀäÂÐŪ¤ÊµëÍ¿¿å½à¤Î´¶³Ð¡×¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤Á¤í¤óÌÌÀܤÎû¤¤»þ´Ö¤Ç¡¢ ¤É¤Î¤¯¤é¤¤¤ÎǽÎϤò»ý¤Ã¤Æ¤¤¤ë¿Í¤«Àµ³Î¤ËÇİ®¤¹¤ë¤³¤È¤Ïº¤Æñ¤Ç¤¹¤¬¡¢ ¼ÂºÝ¤Ë 3¥ö·î¡ÁȾǯ¤â°ì½ï¤ËƯ¤±¤Ð¡¢ Ʊ¤¸¿¦¼ï¤Îï¤è¤ê¾å¤Çï¤è¤ê²¼¤Î¼ÂÎÏ¡¢ ¤Ê¤ó¤Æ¤Î¤Ïï¤ÎÌܤˤâÌÀ¤é¤«¤Ë¤Ê¤ë¤â¤Î¤À¤È»×¤¤¤Þ¤¹¡£ ¤À¤«¤é KLab ¤ÇÁ°¿¦µë¤òʹ¤¯¤Î¤Ï¡¢ µëÍ¿¤ò·è¤á¤ëºÝ¤Î´ð½à¤Ë¤·¤è¤¦¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥½¥Õ¥È¥é¥ó¥Ç¥£¥ó¥°¤µ¤»¤ë¤³¤È¤¬²Äǽ¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£

Ʊ¥Ú¡¼¥¸¤«¤éºÆÅÙ°úÍÑ:

¿Í»ö¤¬¤Þ¤È¤â¤Ê¤é°Ü¹Ô´ü´Ö¤ÏÁ°¿¦¤ÎµëÍ¿¤À¤±¤É¡¤ ¤À¤ó¤À¤ó¤È´ë¶ÈÆâÉô¤ÎµëÍ¿¿å½à¤Ë¼ý«¤µ¤»¤ëÌõ¤À¤±¤É¡¤ 狼¤ÎµëÍ¿¤ò²¼¤²¤ë¤¿¤á¤Ë¤Ï·ë¹½¤Þ¤¸¤á¤ËÀâÌÀ²Äǽ¤Ê´ÉÍý¤ò¤¹¤ëɬÍפ¬¤¢¤Ã¤Æ¡¤ ¤Ê¤«¤Ê¤«ÂçÊѤÀ¤Ã¤¿¤ê¤¹¤ë¡¥ ¤½¤¦¤ä¤Ã¤Æ·ÐÏ©°Í¸Ū¤ÊÌäÂê¤Ç½êÆÀ¤¬Æó¶Ë²½¤·¤Æ¤¤¤ë¤Î¤Ë¡¤ ¤½¤ì¤ò¼ÂÎϼçµÁ¤À¤È¤«È´¤«¤·¤¿¤éÂ礭¤Ê´Ö°ã¤¤¤À¡¥

µëÍ¿¤ò²¼¤²¤ë¤Î¤Ï¼ÂºÝÂçÊѤǤ¹¡£¤·¤«¤·¡¢ ¼ÂÎϼçµÁ¤òɸÜÖ¤¹¤ë°Ê¾å¡¢ À®Ä¹¤Ë¤È¤â¤Ê¤Ã¤ÆµëÎÁ¤¬ÂçÉý¤Ë¾å¤¬¤ë¿Í¤¬½Ð¤Æ¤¯¤ë°ìÊý¤Ç¡¢ ÊѲ½¤ËŬ±þ¤Ç¤­¤º¤ËµëÎÁ¤¬²¼¤¬¤ë¿Í¤¬½Ð¤Æ¤¯¤ë¤³¤È¤ÏÈò¤±¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£ ¡Ö·ë¹½¤Þ¤¸¤á¤Ë¡×¤É¤³¤í¤«ÂçÊѤÊÏ«ÎϤò¤«¤±¤ÆÏ䷹礤¡¢ ¤ª¸ß¤¤Ç¼ÆÀ¤·¤¿¾å¤Ç¹ß³Ê¤ò¼Â»Ü¤·¤Æ¤¤¤Þ¤¹¡£

³Î¤«¤ËÌÌÀܤǤÏÇİ®¤·ÀÚ¤ì¤Ê¤«¤Ã¤¿Ç½ÎϤÎÄ㤵¤¬Æþ¼Ò¸å¤Ëȯ³Ð¤·¡¢ ¼ÂÎϤȵëÍ¿¤Î¥ß¥¹¥Þ¥Ã¥Á¤¬À¸¤¸¤ë¥±¡¼¥¹¤â̵¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ÉÔ¹¬¤Ë¤â¤½¤¦¤¤¤¦¥±¡¼¥¹¤¬µ¯¤­¤Æ¤·¤Þ¤Ã¤¿¤È¤­¤ÏÀ¿¿´À¿°ÕÁ´ÎϤÇÂбþ¤· À§Àµ¤¹¤ë¤è¤¦ÅØ¤á¤Æ¤¤¤Þ¤¹¡£ ¤ª¸ß¤¤Ç¼ÆÀ¤·¤¢¤¦¤Þ¤Ç²¿»þ´Ö¤âÏä·¹þ¤à¤³¤È¤â¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¤½¤ì¤Ï¼ÂÎϼçµÁ¤ò°Ý»ý¤¹¤ë¤¿¤á¤ËÅöÁ³Ê§¤¦¤Ù¤­¥³¥¹¥È¤À¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£


¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î26Æü

Á°²ó¤Ï¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Ï https ¤Ê¤Î¤Ç¡¢ stone °Ê³°¤Î¥½¥Õ¥È¥¦¥§¥¢¤â»È¤¨¤ë¤È¤¤¤¦¤ªÏäò¤·¤Þ¤·¤¿¡£ °ìÎã¤È¤·¤Æ OpenSSL ÉÕ°¤Î s_client ¤ò»È¤Ã¤Æ¤ß¤¿¤ï¤±¤Ç¤¹¤¬¡¢ https ¤ò°·¤¦¥¯¥é¥¤¥¢¥ó¥È¥½¥Õ¥È¥¦¥§¥¢¤È¤¤¤¨¤ÐÉáÄÌ¤Ï WWW ¥Ö¥é¥¦¥¶¤Ç¤¹¤Í¡£ ¤È¤¤¤¦¤ï¤±¤Çº£²ó¤Ï WWW ¥Ö¥é¥¦¥¶¤Ç¥¢¥¯¥»¥¹¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£

¥Ö¥é¥¦¥¶¤Ç https://relay.klab.org/ ¤ò¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢ ¼¡¤Î¤è¤¦¤Ê¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤¬ SSL ¤Ç°Å¹æ²½¤µ¤ì¤Æ¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð relay.klab.org ¤ØÁ÷¿®¤µ¤ì¤Þ¤¹¡£

GET / HTTP/1.1
Host: relay.klab.org
User-Agent: Mozilla/5.0
...
¡Ê¶õ¹Ô¡Ë

¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï SSL ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤òÍ׵᤹¤ë¤Î¤Ç¡¢ ¥Ö¥é¥¦¥¶¤Ï¾ÚÌÀ½ñ¥¹¥È¥¢¤Ë¤¢¤ë SSL ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ ǧ¾Ú¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ ÍøÍѤǤ­¤ë SSL ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢ ¥Ö¥é¥¦¥¶¤¬¾ÚÌÀ½ñ¤ÎÁªÂò²èÌ̤ò¥æ¡¼¥¶¤ËÄ󼨤·¡¢¥æ¡¼¥¶¤¬Áª¤Ö¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤ò¼õ¤±¼è¤Ã¤¿¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢ Ʊ¤¸¾ÚÌÀ½ñ¤ò»ý¤Ä relayagent ¤«¤é¤ÎÀܳ¤¬Â¸ºß¤¹¤ì¤Ð¡¢ ¤½¤Î relayagent ¤È¤ÎÄÌ¿®¤ò³ÎΩ¤µ¤»¤ë¤Î¤Ç¤·¤¿ (VPN-Warp ÆþÌçÊÔ (3)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£

¤Ä¤Þ¤ê¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ë³¤¤¤ÆÁ÷¤é¤ì¤ë¥Ç¡¼¥¿¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤ËÁ÷¿®¤µ¤ì¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀ褫¤éÊÖ¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¡¢¥Ö¥é¥¦¥¶¤ËÆÏ¤­¤Þ¤¹¡£

¤¬¡¢¤Á¤ç¤Ã¤ÈÂԤäƤ¯¤À¤µ¤¤¡£ Á°²ó¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤­¤¿¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Î¾ì¹ç¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤Ï stone ¤¬ÁÞÆþ¤·¤¿¡¢ ¤¤¤ï¤Ð¥À¥ß¡¼¤Î¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ç¤·¤¿¡£ ¥À¥ß¡¼¤Ç¤¹¤«¤é¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤Ï ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ¥Ö¥é¥¦¥¶¤ò»È¤¦¾ì¹ç¤Ï¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ï¥Û¥ó¥â¥Î¤Ç¤¹¡£ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤â¹þ¤ß¤Ç¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î WWW ¥µ¡¼¥Ð¤ËÁ÷¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

VPN-Warp ÆþÌçÊÔ (3)¤Ç ÀâÌÀ¤·¤¿ relayagent ¤ÎÀßÄê¤Ç¤Ï¡¢ ¡Ö-n¡×¥ª¥×¥·¥ç¥ó (relayagent ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¡¢¤È¤¤¤¦°ÕÌ£) ¤ò »ØÄꤷ¤¿¤³¤È¤ò³Ð¤¨¤Æ¤¤¤Þ¤¹¤Ç¤·¤ç¤¦¤«¡© ¼Â¤Ï¡¢¤³¤Î¡Ö-n¡×¥ª¥×¥·¥ç¥ó¤È¤¤¤¦¤Î¤¬¡¢ relayagent ¤Ë¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤ò¼è¤ê½ü¤¯¤³¤È¤ò»Ø¼¨¤¹¤ë ¥ª¥×¥·¥ç¥ó¤Ê¤Î¤Ç¤¹¡£ ¤À¤«¤é¡Ö-n¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤â´Þ¤á¤Æ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè (¤Ä¤Þ¤ê WWW ¥µ¡¼¥Ð) ¤ËÁ÷¤é¤ì¤Þ¤¹¡£

Î㤨¤Ð relayagent ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:

-k private.pem
-c cert.pem
relay.klab.org:443
intra:80

intra:80 ¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î WWW ¥µ¡¼¥Ð¤Ç¤¹¤Í¡£ ¤³¤Î¤è¤¦¤ÊÀßÄê¤Ç relayagent ¤ò¼Â¹Ô¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢ ¥Ö¥é¥¦¥¶¤¬ https://relay.klab.org/ ¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¹þ¤ß¤Ç intra:80 ¤Ø¥¢¥¯¥»¥¹¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£

¤³¤ì¤ÇÌäÂê¤Ê¤¯¥Ö¥é¥¦¥¶¤Ç intra:80 ¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë...
¾ì¹ç¤â¤¢¤ë¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢ ÆóÅÀ¤Û¤ÉÃí°Õ¤¹¤Ù¤­ÅÀ¤¬¤¢¤ê¤Þ¤¹¡£

  1. ¡Öhttps¡×¤È¡Öhttp¡×¤Î°ã¤¤
  2. ¥Û¥¹¥È̾¤Î°ã¤¤

¾¯¡¹¤ä¤ä¤³¤·¤¤ÌäÂê¤Ç¤¹¤Î¤Ç¡¢¼¡²ó¤Þ¤ï¤·¤Ë¤·¤Þ¤·¤ç¤¦¡£


klab_sengoku at 08:11
¡Ã¤³¤Îµ­»ö¤ÎURL ¨¢Comments(0) ¨¢TrackBack(0) ¨¢VPN-Warp 

ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¤ÎÆó²óÌÜ¡£

ÌÌÀܤò¼õ¤±¤ËÍè¤Æ¡¢¤Ê¤Ë¤â¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¿Í¤¬¤¤¤Þ¤¹¡£ ÌÌÀܤò¼õ¤±¤ËÍ褿¿Í(±þÊç¼Ô)¤Ë¤È¤Ã¤Æ¤Ï¡¢ ½é¤á¤Æ¤Î²ñ¼Ò¤Ç¤¢¤ë¤ï¤±¤Ç¡¢ ¤½¤Î²ñ¼Ò¤Ë¤Ä¤¤¤Æ¤ÏÃΤé¤Ê¤¤¤³¤È¤À¤é¤±¤Ê¤Ï¤º¤Ç¤¹¡£ ¤½¤ì¤Ê¤Î¤Ë°ìÅÙ¤â±þÊç¼Ô¤Î¦¤«¤é¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ ÌÌÀܤò½ªÎ»¤¹¤ëÁ°¤Ë¡¢ ¡Ö²¿¤«¼ÁÌä¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡©¡×¤È¤¤¤¦¼ÁÌä¤ò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤ì¤Ç¤â²¿¤â¼ÁÌ䤷¤Æ¤â¤é¤¨¤Ê¤¤¤Î¤Ï¡¢ ±þÊç¼Ô¤Î´Ø¿´Å٤νç¤Ë

  1. ¤½¤Î²ñ¼Ò¤Ë¶½Ì£¤¬¤Ê¤¤
  2. ¶½Ì£¤Ï¤¢¤ë¤Î¤À¤±¤É¡¢ÅöºÂÃΤꤿ¤¤¤³¤È¤Ïʬ¤«¤Ã¤¿¤Î¤ÇËþ­
  3. ÃΤꤿ¤¤¤³¤È¤Ï¤Þ¤À¤¢¤ë¤Î¤À¤±¤É¡¢¼ÁÌä¤Ç¤­¤Ê¤¤

¤È¤¤¤¦Íýͳ¤¬¹Í¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ (1) ¤Ï¡¢ÌÌÀÜ´±¤¬±þÊç¼Ô¤ËÂФ·¤Æ²ñ¼Ò¤ÎÌ¥ÎϤò½¼Ê¬¤ËÀâÌÀ¤Ç¤­¤Ê¤«¤Ã¤¿¡¢ ¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¡¢È¿¾Ê¤¹¤Ù¤­¤Ï±þÊç¼Ô¤Ç¤Ï¤Ê¤¯¤ÆÌÌÀÜ´±(¤Ä¤Þ¤ê»ä)¤Î¤Û¤¦¤Ç¤¹¤Í¡£ ¤Ê¤Î¤Ç¡¢¤³¤³¤Ç¤Ï (2) ¤È (3) ¤Ë¤Ä¤¤¤Æ¤Î¤ß¹Í¤¨¤Þ¤¹¡£

¤Þ¤º (2) ¤Ç¤¹¤¬¡¢ÌÌÀܤϤ»¤¤¤¼¤¤ 1»þ´Ö¡¢Ä¹¤¯¤Æ¤â 2»þ´ÖÄøÅ٤ʤ櫓¤Ç¡¢ ¤½¤ó¤Êû¤¤»þ´Ö¤Ç¤É¤ì¤À¤±¤Î¤³¤È¤¬Ê¬¤«¤ë¤È¤¤¤¦¤Î¤Ç¤·¤ç¤¦¡©

¼ØÂ­¤Ç¤¹¤¬¡¢»ä¤¬¥±¥¤¡¦¥é¥Ü¥é¥È¥ê¡¼ (KLab ¤Îµì¼Ò̾) ¤ÎΩ¤Á¾å¤²¤Ë »²²Ã¤¹¤ë¤È¤­¤Ë¼õ¤±¤¿ÌÌÀÜ (¤Ä¤Þ¤ê»ä¤¬±þÊç¼Ô¤ÎΩ¾ì¤À¤Ã¤¿ºÇ¸å¤ÎÌÌÀÜ) ¤Ï¡¢ Ïä¬À¹¤ê¾å¤¬¤Ã¤ÆÏä·¹þ¤ß¡¢µ¤ÉÕ¤¤¤¿¤È¤­¤Ë¤Ï 6 »þ´Ö¤¬·Ð²á¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤³¤Þ¤ÇŤ¤¤È¡¢Èó¾ï¼±¤«¤âÃΤì¤Þ¤»¤ó¤Í¡£(^^;)

ʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ëʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢ ¤³¤ì¤Ïµ»½Ñ¼Ô¤Ë¤È¤Ã¤ÆÃ×̿Ū¤Ê¤³¤È¤Ç¤¹¡£ ¤É¤³¤Þ¤Ç¤â¼«Ê¬¤¬Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼«³Ð¤·¡¢ õµá¤·Â³¤±¤ë½¬´·¤¬Ìµ¤±¤ì¤Ð¡¢¥¹¥­¥ë¥¢¥Ã¥×¤Ï³Ð«¤Ê¤¤¤Ç¤·¤ç¤¦¡£

¤·¤¿¤¬¤Ã¤ÆÌÌÀÜ´±¤È¤·¤Æ¤Ï¡¢¤³¤Î±þÊç¼Ô¤Ë¤Ï¡Ö¿­¤Ó¤·¤í¡×¤¬¤â¤¦¤¢¤Þ¤ê¤Ê¤¤¡¢ ¤Ä¤Þ¤ê¸½¾õ¤Î¥¹¥­¥ë°Ê¾å¤Î¤â¤Î¤Ï´üÂÔ¤·¤Ë¤¯¤¤¤ÈȽÃǤ»¤¶¤ë¤òÆÀ¤Þ¤»¤ó¡£ ¸½ºß¤Î¥¹¥­¥ë¤Î¤Þ¤Þ¤Ç³èÌö¤·¤ÆÄº¤±¤ë¤ÈȽÃǤ¹¤ë¾ì¹ç¤ÏºÎÍѤ·¤Þ¤¹¤·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤ÏÉÔºÎÍѤȤʤê¤Þ¤¹¡£

°ìÊý (3) ¤Ï¡¢µ»½Ñ¼Ô¤È¤·¤Æ¤Ï²ÄǽÀ­¤¬¤¢¤ë¤¬¡¢¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬Ä㤤¡¢ ¤È¤¤¤¦¾ì¹ç¤Ç¤¹¡£ ¤â¤Á¤í¤ó¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤È¤¤¤¦¤Î¤ÏÁÐÊý¸þ¤Î¤â¤Î¤Ê¤Î¤Ç¡¢ ¼ÁÌ䤷¤Ë¤¯¤¤Ê·°Ïµ¤¤Ë¤·¤Æ¤·¤Þ¤Ã¤¿ ÌÌÀÜ´±¤Î¦¤ËÈ󤬤¢¤ë²ÄǽÀ­¤âÈݤá¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¼ÁÌ䤷¤ä¤¹¤¤´Ä¶­¤Ç¤Ê¤¤¤È¼ÁÌä¤Ç¤­¤Ê¤¤¤È¤¤¤¦¤Î¤âº¤¤ê¤â¤Î¤Ç¤¹¡£

¤È¤Ï¤¤¤¨¡¢µ»½Ñ¤È°ã¤Ã¤Æ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óÎϤϺФò¤È¤Ã¤Æ¤«¤é¤Ç¤â½¬ÆÀ¤Ç¤­¤Þ¤¹¡£ ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬³§Ìµ¤Ç¤â¡¢µ»½Ñ¼Ô¤È¤·¤Æ¤ÎÁǼÁ¤¬¤¢¤ë¤«¤¿¤Ë¤Ï À§ÈóÆþ¼Ò¤·¤ÆÄº¤­¤¿¤¤¤Ç¤¹¤·¡¢ ¼ÂºÝÌÌÀÜ»þ¤Ë¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬¥¼¥í¤À¤Ã¤¿¿Í (ÌÌÀܤλþ¡¢¤Û¤È¤ó¤ÉÏ乤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿) ¤¬ Æþ¼Ò¸åÂç³èÌö¤·¤Æ¤¤¤ëÎã¤â¤¢¤ê¤Þ¤¹¡£ ¤â¤Á¤í¤ó»Å»ö¤ò±ß³ê¤Ë¿Ê¤á¤ë¤Ë¤Ï¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óÎϤ¬¹â¤¤Êý¤¬ ¤¤¤¤¤Ë·è¤Þ¤Ã¤Æ¤Þ¤¹¤Î¤Ç¡¢ Î㤨¤Ð

¼ÁÌäÎÏ¡½Ïä·¾å¼ê¤Ï¤³¤³¤¬¤Á¤¬¤¦
ã·Æ£ ¹§ (Ãø)
ÃÞËà½ñ˼ ; ISBN: 4480816267 ; (2003/03)

¤Ê¤É¤òÆÉ¤ó¤Ç¡Ö¼ÁÌ䤹¤ëÎϡפò¿­¤Ð¤·¤Æ¤¤¤Ã¤ÆÍߤ·¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£


Á϶Ȥ«¤é 6ǯ¡¢KLab ¤ÏÂ礭¤¯È¯Å¸¤·¤Þ¤·¤¿¡£5¿Í¤Ç»Ï¤á¤¿²ñ¼Ò¤¬¤â¤¦¤¹¤°200¿Í¤Ë㤹¤ëÀª¤¤¤Ç¤¹¡£ ºòǯ 9·î¤Ë¤Ï »Ò²ñ¼Ò KLab¥»¥­¥å¥ê¥Æ¥£¤òÀßΩ¤·¡¢ ¥»¥­¥å¥ê¥Æ¥£Ê¬Ìî¤Ø¤ÎËܳʿʽФò³«»Ï¤·¤Þ¤·¤¿¡£ ¤Ç¤â»ä¤Ë¤È¤Ã¤Æ²ñ¼Ò¤ÎȯŸ°Ê¾å¤Ë½ÅÍפʤΤϡ¢ KLab¥°¥ë¡¼¥×¤ÎȯŸ¤Ë¤¢¤ï¤»¤Æ »ä¼«¿È¤âÂ礭¤¯ÊѤï¤ë¤³¤È¤¬¤Ç¤­¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ê¡¢ ¤Þ¤¿°ì½ï¤ËƯ¤¯µ»½Ñ¼Ô¤¿¤Á¤âÂ礭¤¯À®Ä¹¤·¤¿¤È¤¤¤¦ÅÀ¤Ç¤¹¡£

¤â¤Á¤í¤ó¡¢µ»½Ñ¼Ô¤¬À®Ä¹¤¹¤ì¤Ð¤½¤ì¤À¤±¤Ç¤¤¤¤¡¢ ¤È¤¤¤¦¤Û¤É²ñ¼Ò¤Ïñ½ã¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ²ñ¼Ò¤È¤¤¤¦¤â¤Î¤Ï¡¢Ìò°÷¤¬3¿Í¤¤¤¿¤é3¿Í¡¢5¿Í¤¤¤¿¤é5¿Í¤¬³§°ã¤¦¥¿¥¤¥×¤Ç¡¢ ¤½¤ì¤¾¤ì¤ÎΩ¾ì¤«¤é²ñ¼Ò¤Î¤¢¤ë¤Ù¤­»Ñ¤òÄ󰯤·¡¢ ¤½¤ì¤é¤ò¥ß¥Ã¥¯¥¹¤·¤Æ°ìÈÖ¤¤¤¤²ñ¼Ò¤òÁϤë¤Ù¤­¤À¤È»×¤¤¤Þ¤¹¡£ »ä¤Ïµ»½Ñ¼Ô¤À¤«¤éµ»½Ñ¼Ô¥µ¥¤¥É¤«¤é²ñ¼Ò¤Î¤¢¤ë¤Ù¤­»Ñ¤ò¤¤¤Ä¤â¹Í¤¨¤Æ¤¤¤Þ¤¹¡£

»ä¤Ï KLab¥°¥ë¡¼¥×¤ò¡¢¤³¤ì¤«¤é¤â¤â¤Ã¤È ¡Öµ»½Ñ¼Ô¤ÎÀ®Ä¹¤Ë¤È¤Ã¤Æ°ìÈÖÌò¤ËΩ¤Ä²ñ¼Ò¡× ¡Öµ»½Ñ¼Ô¤¬¼«¤é¿­¤Ó¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤­¤ë²ñ¼Ò¡×¤Ë¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢µ»½Ñ¼Ô㤬 KLab¥°¥ë¡¼¥×¤òƧ¤ßÂæ¤Ë¤·¤Æ¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë¿Ê¤à¤Î¤â¤¤¤¤¤·¡¢ KLab¥°¥ë¡¼¥×¤Ë»Ä¤Ã¤Æ¡¢KLab¥°¥ë¡¼¥×¤Î¾­Íè¤Ë¹×¸¥¤·¤Æ¤¯¤ì¤Æ¤â¤¤¤¤¡£

¤½¤³¤Ë°ìÈֽŤ­¤ò¤ª¤­¤¿¤¤¡£

¤½¤Î°Ù¤Ë¤³¤À¤ï¤Ã¤Æ¤¤¤ë¤³¤È¤ò3¤Ä¤´¾Ò²ð¤·¤Þ¤¹¡£

ÌÌÇò¤¤¤³¤È¤Ïµö²Ä¤·¤Þ¤¹

¡Ö¥³¥¹¥ÈŪ¤Ë¤É¤¦¤«¤Ê¡©¡×¤È»×¤¦¤³¤È¤Ç¤â¡¢ ¿·¤·¤¤¤³¤È¤Ç¤¢¤ì¤ÐÀѶËŪ¤Ë¤ä¤Ã¤Æ¤¤¤­¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¡Ö¥È¥Ã¥×¤ÎÍý²ò¤¬¤Ê¤¤¡×¡Ö¾å»Ê¤ÎÀâÆÀ¤¬ÂçÊѡפȤ¤¤¦µ»½Ñ¼Ô¤ÎÏäò¤è¤¯¼ª¤Ë¤·¤Þ¤¹¤¬¡¢ KLab¥°¥ë¡¼¥×¤Ç¤Ï ¤½¤ó¤Ê¤³¤È¤Ï¤¢¤ê¤¨¤Þ¤»¤ó¡£¤½¤ì¤Ï¡¢»ä¤¬¾å»Ê¤À¤«¤é¤Ç¤¹¡£ ¼ÂºÝ¤Ë¸À¤¤½Ð¤·¤Ã¤Ú¤Ï»ä¼«¿È¤¬°ìÈÖ¿¤¯¤Æ¡¢ ¥á¥ó¥Ð¡¼¤«¤é¡Ö¤³¤ó¤Ê̵Ã㤷¤Ê¤¤¤Ç²¼¤µ¤¤¡×¤È¸À¤ï¤ì¤Þ¤¹¤¬¡¦¡¦¡¦¡£ ¾å»Ê¤ò»ß¤á¤ë¤³¤È¤Ï¤¢¤Ã¤Æ¤â¡¢»ß¤á¤é¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£ µ»½Ñ¼Ô¤Ë¤È¤Ã¤Æ¡¢ÀѶËŪ¤Ë¤ä¤ê¤¿¤¤¤³¤È¤¬¤ä¤ì¤ë¡¢ Ä©Àï¤Ç¤­¤ë´Ä¶­¤Ç¤¹¡£

¤µ¤é¤Ë¡¢¸½ºß¤Î¶È̳¤È¤ÏľÀÜ´Ø·¸¤Ê¤¤¤³¤È¤Ë¤â¤É¤ó¤É¤óÄ©À路¤Æ¤â¤é¤¦¤¿¤á¡¢ ¶Ð̳»þ´Ö¤Î10%°ÊÆâ¤Ç¤¢¤ì¤Ð¾å»Ê¤Îµö²Ä¤òÆÀ¤º¤Ë²¿¤ò¤ä¤Ã¤Æ¤â¤¤¤¤¤È¤¤¤¦ ¡Ö¤É¤Ö¤í¤¯À©Å١פòºî¤ê¤Þ¤·¤¿¡£ ¤¢¤ëÄøÅÙ¥á¥É¤¬¤Ä¤¯¤Þ¤Ç¤Ï¡Ö¤³¤Ã¤½¤ê¡×µ»½Ñ¤ò»Å¹þ¤ó¤Ç¤â¤é¤Ã¤Æ¡¢ ¤â¤·¤¦¤Þ¤¯¤¤¤Ã¤¿¤éȯɽ¤·¤Æ¤â¤é¤Ã¤Æ¤ß¤ó¤Ê¤Ç»ö¶È²½¤ò¹Í¤¨¤ë¡£ ¥â¥Î¤Ë¤Ê¤é¤Ê¤«¤Ã¤¿¤È¤·¤Æ¤â¹½¤ï¤Ê¤¤¡¢ ¼ºÇÔ¤ò¶²¤ì¤ºÄ©À魯¤ë°ÕÍߤòÂçÀڤˤ·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¤¤¤«¤Ë¹âÉé²Ù¤ËÂѤ¨¤¦¤ë¥µ¡¼¥Ð¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¡¢ ¤¤¤«¤Ë·ÐºÑŪ¤Ë±¿ÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¡¢ ¤È¤¤¤¦¥¯¥é¥¹¥¿¥ê¥ó¥°¥µ¡¼¥Ð¤Î¸¦µæ³«È¯¤Ï¡¢ º£¤Ç¤³¤½ KLab ¤Î»ö¶È¤ÎÃì¤Î°ì¤Ä¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ ºÇ½é¤Ï¥±¡¼¥¿¥¤Java¥¢¥×¥ê¤òºî¤ë¹ç´Ö¤Ë¡Ö¤³¤Ã¤½¤ê¡×»Å¹þ¤ó¤Àµ»½Ñ¤À¤Ã¤¿¤Î¤Ç¤¹¡£ ¶È̳¤È¤ÏľÀÜ´Ø·¸¤Ê¤¤¤³¤È¤À¤Ã¤¿¤¬¹¥¤­¤À¤«¤é¤È¤ä¤Ã¤Æ¤ë¤¦¤Á¤Ë¡¢ ¤¤¤Ä¤Î¤Þ¤Ë¤« KLab ¤Î¥³¥¢¥³¥ó¥Ô¥¿¥ó¥¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ï¤±¤Ç¡¢ ¡Ö¤É¤Ö¤í¤¯¡×Àº¿À¤Îŵ·¿Îã¤È¸À¤¨¤ë¤Ç¤·¤ç¤¦¡£

¤Þ¤¿¡¢¥»¥­¥å¥ê¥Æ¥£Ê¬Ìî¤Ø¤Î¿Ê½Ð¤â¡¢ ºÇ½é¤Î¤­¤Ã¤«¤±¤Ï¼ñÌ£¤Çºî¤Ã¤¿¥×¥í¥°¥é¥à¤Ç¤·¤¿¡£ ¤³¤Î¤¢¤¿¤ê¤Î·Ð°Þ¤Ï¡¢ ¡Ö¤Ê¤¼¥±¡¼¥¿¥¤¡¦¥³¥ó¥Æ¥ó¥Ä³«È¯¤«¤é¡¢¥»¥­¥å¥ê¥Æ¥£¤ØÅ¾¿È¤·¤¿¤Î¤«¡©¡×¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹¡£

º£¤Þ¤Ç¤Î»ö¶ÈÎΰè¤Ï̵»ë¤·¤Æ¤â¤é¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ IT °Ê³°¤ÏÈù̯¤Ç¤¹¤¬¡¢¡Öµ»½Ñ¡×¤È¤¤¤¦Ì¾¤¬¤Ä¤±¤Ð²¿¤Ç¤â OK ¤Ç¤¹¡£ ¡Ö¤½¤³¤Ï¤ªÁ°¤Î¤ä¤ë¤³¤È¤¸¤ã¤Ê¤¤¡×¤È¸À¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ »ä¤¬ CTO ¤Ç¤¢¤ë°Ê¾å¡¢ ¤ä¤ëµ¤¤¬¤¢¤ë¤Ê¤é¼¡¡¹¤Ë¿·¤·¤¤¸¦µæ³«È¯¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¤½¤³¤ÇÀѤ߽Ťͤ¿µ»½ÑÎϼ¡Âè¤Ç CTO ¤âÌܻؤ»¤Þ¤¹¡£ ¤½¤ì¤¬ KLab ¤È¤¤¤¦²ñ¼Ò¤Ê¤Î¤Ç¤¹¡£

µ»½Ñ¼Ô¤Î¾å»Ê¤Ïµ»½Ñ¼Ô¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹

¤³¤ì¤Ï»ä¤Î¤³¤À¤ï¤ê¤Ç¡¢¤º¤Ã¤È¸À¤¤Â³¤±¤Æ¤¤¤ë¤³¤È¤Ç¤¹¡£ µ»½Ñ¼Ô¤¬¡Öµ»½Ñ¤À¤±¤Ç¤É¤³¤Þ¤Ç¤â¾å¤Ã¤Æ¤¤¤±¤ë²ñ¼Ò¡× ¡Ö¼«Ê¬¤Î¥­¥ã¥ê¥¢¥Ñ¥¹¤òÌÀ³Î¤ËÉÁ¤±¤ë²ñ¼Ò¡×¤½¤ì¤¬ÍýÁÛ¡£ ½ÐÀ¤¤¹¤ë¤Èµ»½Ñ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤ê¡¢¾å»Ê¤¬¤¤¤Ä¤Î´Ö¤Ë¤«µ»½Ñ¼Ô¤Ç¤Ê¤¯¤Ê¤ë¤È¡¢ ¡Ö¤¤¤º¤ì¤Ïµ»½Ñ¤ò¼Î¤Æ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡×¤È»×¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤ì¤Ï¤¢¤ê¤¨¤Ê¤¤¡£

»ö¶ÈʬÌî¤Î¹­¤¬¤ê¤Ë¤È¤â¤Ê¤¤¸½ºß¤Ï»ö¶ÈÉôÀ©¤ò¤·¤¤¤Æ¤¤¤Þ¤¹¤¬¡¢ ËÜÅö¤Ëµ»½Ñ¤¬¹¥¤­¡¢¤È¤¤¤¦¿Í¤Î¤¿¤á¤Ë¤Ï¡¢ ¸¦µæÉôÌç¤Ç¤¢¤ë K¥é¥Ü¥é¥È¥ê¡¼ (µì¼Ò̾¤ò°ú¤­·Ñ¤¤¤Ç¤¤¤Þ¤¹) ¤¬¤¢¤ê¡¢ »ä¤¬Ä¾³í¤·¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢KLab¥»¥­¥å¥ê¥Æ¥£¤Ïº£¤Î¤È¤³¤í¥»¥­¥å¥ê¥Æ¥£Ê¬Ìî¤ËÆÃ²½¤·¤Æ¤¤¤ë¤Î¤Ç µ¡Ç½ÁÈ¿¥¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢µ»½ÑÉôÌç¤Ï»ä¤¬Åý³ç¤·¤Æ¤¤¤Þ¤¹¡£

¤µ¤é¤Ë¡¢¾å»Ê¤¬Ã±¤Ëµ»½Ñ¼Ô¤Ç¤¢¤ë¤È¤¤¤¦¤À¤±¤Ç¤Ê¤¯¡¢ ¾å»Ê¤¬Éô²¼¤òµ»½Ñ¼Ô¤È¤·¤Æ¤Î¼ÂÎϤÇɾ²Á¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤ò½Å»ë¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¡ÖÈà¤Ï¡¢¤³¤Î¤¢¤¿¤ê¤ÎʬÌͥ¤ì¤Æ¤¤¤ë¡×¤Ê¤É¤È¤¤¤¦³µÍ×ɾ²Á¤Ç¤Ï¤Ê¤¯¡¢ Î㤨¤Ð¥½¡¼¥¹¥³¡¼¥É¤Þ¤Ç¸«¤Æ¡¢Í¥¤ì¤Æ¤¤¤ëÅÀ¤ò¶ñÂÎŪ¤Ëɾ²Á¤Ç¤­¡¢ ¤µ¤é¤Ë²þÁ±¥Ý¥¤¥ó¥È¤â¥¢¥É¥Ð¥¤¥¹¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

°ìÈ̤βñ¼Ò¤Ç¤Ï¡¢²áµî¤Î¸ùÏ«¼Ô¤¬¾å¤Ë¤¤¤ë´ë¶È¤¬Â¿¤¤¤è¤¦¤Ç¤¹¤¬¡¢ ¤Ç¤âÈà¤é¤Ï¡¢²áµî¤Îµ»½Ñ¤Ë´Ø¤·¤Æ¤ÏÍ¥¤ì¤Æ¤¤¤Æ¤â¡¢ ɬ¤º¤·¤âº£¤Îµ»½Ñ¤Ë´Ø¤·¤ÆÀºÄ̤·¤Æ¤¤¤ë¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£ KLab¥°¥ë¡¼¥×¤Î¾ì¹ç¤Ï¡¢ ¤³¤ì¤«¤é¤Îµ»½Ñ¤ÇÉô²¼¤ò°ú¤ÃÄ¥¤Ã¤Æ¤¤¤±¤ë¿Í¤Ç¤Ê¤¤¤È¾å»Ê¤Ë¤Ï¤·¤Þ¤»¤ó¡£ ¾å»Ê¤Ç¤â¡¢¿·¤·¤¤¹Í¤¨Êý¤ä¿·¤·¤¤¥Ñ¥é¥À¥¤¥à¤ËŬ±þ¤Ç¤­¤Ê¤¤¿Í¤Ï¡¢ ¤À¤ó¤À¤óÂत¤Æ¤â¤é¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

À¤¤ÎÃæÅª¤Ë¤Ï¡¢¾åή¹©Äø¤ò½ÅÍפʻŻö¡¢ ²¼Î®¹©Äø¤òñ½ãϫƯ¤Èª¤¨¤ë¸«Êý¤¬¤¢¤ê¤Þ¤¹¡£ ²¼Î®¤Ï¿·¿Í¤¬¤ä¤ë»Å»ö¤È¸«¤Ê¤µ¤ì¡¢ ¥×¥í¥°¥é¥ß¥ó¥°¤ò¤Û¤È¤ó¤É·Ð¸³¤·¤Æ¤¤¤Ê¤¤¿Í¤¬¥×¥í¥°¥é¥Þ¡¼¤Î¾å»Ê¤À¤Ã¤¿¤ê¤¹¤ë¡£ ¤³¤ì¤Ç¤Ï¥Þ¥È¥â¤Êɾ²Á¤¬¤Ç¤­¤ë¤Ï¤º¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²¼Î®¤Ë¤Ï²¼Î®¤Ê¤ê¤ÎÆñ¤·¤µ¤¬¤¢¤ê¡¢ ²¼Î®¤ÎÆÀ°Õ¤Ê¿Í¤¿¤Á¤â¡¢¾åή¤ÈƱÍͤËɾ²Á¤µ¤ì¤ë¤Ù¤­¤Ç¤¹¡£ KLab¥°¥ë¡¼¥×¤Ë¤Ï¡¢¾åή¤¬ÆÀ°Õ¤Ê¾åĹ¤È²¼Î®¤¬ÆÀ°Õ¤Ê¾åŤÎξÊý¤¬¤¤¤Þ¤¹¤Î¤Ç¡¢ ²¼Î®¤À¤«¤é¾åή¤è¤êÃϰ̤¬²¼¡¢¤È¤¤¤¦¤³¤È¤ÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡£

KLab¥°¥ë¡¼¥×¤Ï¿¿¤Î¼ÂÎϼçµÁ¡¦Ç½ÎϼçµÁ¤Î²ñ¼Ò¤Ç¤¹

À®²Ì¼çµÁ¤¸¤ã¤Ê¤¯¤Æ¼ÂÎϼçµÁ¡¦Ç½ÎϼçµÁ¡£ ¤É¤ì¤À¤±Ç½ÎϤò»ý¤Ã¤Æ¤¤¤ë¤«¡¢¥Ý¥Æ¥ó¥·¥ã¥ë¤â´Þ¤á¤¿¤È¤³¤í¤Çɾ²Á¤·¤Þ¤¹¡£ ¤½¤·¤ÆÇ½ÎϤ¬¤¢¤ë¿Í¤Ï¥É¥ó¥É¥óȴŧ¡£Ç½ÎϤ¬³«²Ö¤·¤¿»þÅÀ¤Ç¡¢ ¤¤¤­¤Ê¤êÇܤεëÍ¿¤Ë¤·¤Æ¤â¤¤¤¤¡£ ¸å¤«¤éÍ褿¿Í¤¬¾å»Ê¤òÄɤ¤È´¤¯¤Î¤ÏÆü¾ïÃãÈÓ»ö¤Ç¤¹¡£

¿¤¯¤Î²ñ¼Ò¤ÏÀ®²Ì¼çµÁ¤ËÁö¤ê¤¬¤Á¤Ç¤¹¡£ ¤½¤ì¤Ï¾å»Ê¤¬µ»½Ñ¤ò¤ï¤«¤Ã¤Æ¤ª¤é¤º¡¢µ»½Ñ¼Ô¤ò¤­¤Á¤ó¤Èɾ²Á½ÐÍè¤Ê¤¤¤«¤é¤Ç¤¹¡£ Éô²¼¤Î¤ä¤Ã¤Æ¤¤¤ë¤³¤È¤¬µ»½ÑŪ¤Ë¤É¤³¤Þ¤ÇÀ¨¤¤¤Î¤«¤ò¡¢ ɾ²Á¤Ç¤­¤Ê¤¤¤«¤é¿ô»ú¤Ç½Ð¤ë¤â¤Î¤ò¿®¤¸¤ë¤·¤«¤Ê¤¯¡¢ ¡Ö¤è¤êÍø±×(Ψ)¤Î¹â¤¤¤â¤Î¤ò¤ä¤Ã¤¿¤«¡©¡× ¤È¤¤¤¦¤³¤È¤¬¥á¥¤¥ó¤Î»ØÉ¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ µ»½Ñ¤È¤¤¤¦¤è¤ê¡Ö¤¤¤«¤Ë¥³¥¹¥È¥À¥¦¥ó¤¹¤ë¤«¡©¡× ¡Ö¤¤¤«¤Ë³°Ãí¤ò¤¤¤¸¤á¤Æ°Â¤¯ºî¤ë¤«¡× ¤¬ÃíÎϥݥ¤¥ó¥È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢ µ»½Ñ°Ê³°¤ÎÊý¸þ¤Ë¥Ù¥¯¥È¥ë¤¬¸þ¤¤¤Æ¤·¤Þ¤¦¡£ ¤½¤ó¤Ê²ñ¼Ò¤Ë¤Ï¤Ê¤ê¤¿¤¯¤Ê¤¤¤·¡¢¤·¤¿¤¯¤Ê¤¤¡£

ľÀÜÀ®²Ì¤Ë·ë¤Ó¤Ä¤«¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¿·¤·¤¤Ã챤òìÅÍߤ˵ۼý¤·¡¢ ¿·¤·¤¤¤³¤È¤ò¥É¥ó¥É¥ó¹Í¤¨¡¢ ¼«Ê¬¤Î¹Í¤¨¤Æ¤¤¤ë¤³¤È¤òÀѶËŪ¤Ëȯɽ¤·¤Æ³§¤ÎÌò¤ËΩ¤Ä¡£ ¤½¤ì¤ò½Å»ë¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¸¦µæ³«È¯¤Ï²ñ¼Ò¤ÎÃæ¤Ç¤Ï¥³¥¹¥È¥»¥ó¥¿¡¼¡£ ¤É¤Î¤ß¤Á¥³¥¹¥È¤Ê¤ó¤À¤«¤é¡¢¤ª¶â¤Ç´¹»»¤·¤¿¤¯¤Ê¤¤¡£ ¤½¤Î¿Í¤ÎǽÎÏ¡¦¼ÂÎϤÇɾ²Á¤·¤¿¤¤¡£ ¤À¤«¤é¥È¥Ã¥×¤Ëµ»½Ñ¼Ô¤¬¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤·¡¢ µ»½Ñ¼Ô¤ÎΩ¾ì¤«¤é¡¢Â¾¤ÎÌò°÷¤ÈÆ®¤¦¤³¤È¤³¤½¤¬ CTO (ºÇ¹âµ»½ÑÀÕǤ¼Ô) ¤ÎÌò³ä¤À¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£

KLab³ô¼°²ñ¼Ò
¼èÄùÌò CTO
K¥é¥Ü¥é¥È¥ê¡¼ ½êĹ
ÀçÀйÀÌÀ

KLab¥»¥­¥å¥ê¥Æ¥£³ô¼°²ñ¼Ò
¼èÄùÌò CTO
µ»½ÑËÜÉô ËÜÉôĹ
ÀçÀйÀÌÀ

¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î22Æü

¤³¤Î»þ´ü¡¢KLab ¤È KLab¥»¥­¥å¥ê¥Æ¥£¤Ï ¾åȾ´ü (9·î¡Á2·î) ¤Îɾ²ÁÌÌÃ̤ε¨Àá¤Ç¤¹¡£ »ä¤Ï KLab ¤Î¸¦µæÉôÌç¤Ç¤¢¤ë K¥é¥Ü¥é¥È¥ê¡¼ (µì¼Ò̾¤ò¤È¤Ã¤ÆÌ¾ÉÕ¤±¤Þ¤·¤¿) ¤È¡¢ KLab¥»¥­¥å¥ê¥Æ¥£¤Îµ»½ÑËÜÉô¤òôÅö¤·¤Æ¤¤¤Þ¤¹¡£ ºòÆü¤Ï¡¢»ä¤ÎľÀܤÎÉô²¼¤ÎÃæ¤Ç°ìÈּ㤤 H ¤µ¤ó¤ÎÌÌÃ̤ò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£

H ¤µ¤ó¤Ïºòǯ¤Î¿·Â´Æþ¼Ò¤Ê¤Î¤Ç¡¢¤Þ¤À¤Þ¤À³Ø¤Ö¤Ù¤­¤³¤È¤Ï¤¿¤¯¤µ¤ó¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¿Í°ìÇܵ»½Ñ¤¬¹¥¤­¤Ê¤Î¤Ç¡¢»ä¤È¤·¤Æ¤âÂçÊÑ´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£ ¤¤¤Þ¤Ï¡¢¤¤¤í¤ó¤Ê¤³¤È (µ¤ÇÛ¤ê¤È¤«¡¢²ñ¼Ò¤Î¶ÈÀӤȤ«) ¤òµ¤¤Ë¤¹¤ë¤è¤ê¡¢ ¹¥¤­¤Ê¤³¤È¤ò¼«Í³¤Ë³Ø¤Ó¡¢¿­¤Ó¿­¤Ó¤È°é¤Ã¤ÆÍߤ·¤¤¡¢¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£

Èà¤ËÏä·¤¿¤Î¤Ï¤³¤ó¤Ê¤³¤È¤Ç¤¹:

°ìÅÀÃí°Õ¤·¤Æ¤Û¤·¤¤ÅÀ¤ò¤¢¤²¤ë¤È¤¹¤ì¤Ð¡¢ ÍÍ¡¹¤Êµ»½Ñ¤Ë´Ø¿´¤ò»ý¤ÄºÝ¤Ë¡¢¶¯¼å¤Î¥á¥ê¥Ï¥ê¤ò¤Ä¤±¤ë¤³¤È¤ò°Õ¼±¤¹¤ë¡¢ ¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ WWW¤Ç¸ø³«¤µ¤ì¤ë¾ðÊ󤬤ɤó¤É¤ó½¼¼Â¤·¤Æ¤¤¤¯ºòº£¡¢ ¤É¤Î¤è¤¦¤Êµ»½Ñ¤Ç¤â¤«¤Ê¤ê±ü¿¼¤¤¤È¤³¤í¤Þ¤Ç WWW ¤Ç¼ê·Ú¤ËÆþ¼ê¤Ç¤­¤ë¤è¤¦¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤³¤È¼«ÂΤÏÁÇÀ²¤é¤·¤¤¤³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢ Æþ¼ê¤¬¼ê·Ú¤Ë²Äǽ¤È¤¤¤¦¤³¤È¤¬¡¢ ʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë´Ù¤ë¥ê¥¹¥¯¤òÁý¤ä¤·¤Æ¤¤¤ë¤ï¤±¤Ç¡¢ ¤³¤Î櫤˴٤é¤Ê¤¤¤è¤¦Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£

ÆÃ¤Ë´Ø¿´¤ò»ý¤Ã¤¿Ê¬Ìî¡¢¤¿¤È¤¨¤Ð¥Ù¥¤¥ºÍýÏÀ¤ä¥ª¡¼¥È¥Þ¥È¥óÍýÏÀ¤Ê¤É¤Ï¡¢ Ä̤ꤤ¤Ã¤Ú¤ó¤ÎÍý²ò¤Ë¤È¤É¤Þ¤é¤º¡¢¤È¤³¤È¤ó¤Þ¤ÇÊÙ¶¯¤·¤Æ¤ä¤ë¡¢ ¤¯¤é¤¤¤Î°Õµ¤¹þ¤ß¤ÇÄ©À路¤Æ¤Û¤·¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£

WWW ¤ÎÉáµÚ¤Ë¤è¤Ã¤Æ¡¢¹­¤¯Àõ¤¯³Ø¤Ö¤³¤È¤Ï³ÊÃʤËÍÆ°×¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¹­¤¤»ëÌî¤ò»ý¤Ä¤³¤È¤Ï¤È¤Æ¤âÂçÀڤʤ³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢ ³ÆÊ¬Ì¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¼«¿È¤¬¤É¤Î¤¯¤é¤¤¤Î¥ì¥Ù¥ë¤Þ¤Ç³Ø¤Ù¤¿¤«Çİ®¤·¤Æ¤¤¤Ê¤¤¤È¡¢ ¤Û¤ó¤ÎɽÁؤò¤«¤¹¤Ã¤¿¤À¤±¤ÇËþ­¤·¤Æ¤·¤Þ¤¤¤«¤Í¤Þ¤»¤ó¡£

¤À¤«¤é¡¢¤É¤ó¤ÊʬÌî¤Ç¤â¡¢¤É¤ó¤Ê¤Ë¶¹¤¤¥Ô¥ó¥Ý¥¤¥ó¥È¤Ç¤â¤¤¤¤¤«¤é ¿¼¤¯¿¼¤¯³Ø¤Ö·Ð¸³¤¬½ÅÍפÀ¤È»×¤¦¤Î¤Ç¤¹¡£ ¿¼¤¯³Ø¤Ù¤Ð³Ø¤Ö¤Û¤É¡¢¤½¤Î¿¼¤µ¤¬´ð½à¤È¤Ê¤Ã¤Æ¡¢ ¤½¤Î¾¤ÎʬÌî¤Ø¤ÎÍý²ò¤¬¤É¤Î¥ì¥Ù¥ë¤Þ¤ÇÅþ㤷¤¿¤«¡¢ ¤è¤êÀµ³Î¤ËÇİ®¤Ç¤­¤ë¤â¤Î¤Ç¤·¤ç¤¦¡£

Àõ¤¯¤·¤«³Ø¤ó¤À¤³¤È¤¬¤Ê¤±¤ì¤Ð¡¢¤½¤ÎÀõ¤µ¤¬¤½¤Î¿Í¤Î¸Â³¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ê¤Ë¤ò³Ø¤ó¤À¤È¤·¤Æ¤â¡¢¼«¿È¤¬¤É¤Î¥ì¥Ù¥ë¤Þ¤ÇÍý²ò¤Ç¤­¤Æ¤¤¤ë¤Î¤«¡¢ ¼«¿È¤¬Íý²ò¤Ç¤­¤Æ¤¤¤Ê¤¤¿¼Ê¥¤¬¤É¤ì¤À¤±¿¼¤¤¤â¤Î¤Ê¤Î¤«¡¢ ±Ê±ó¤ËÃΤ뤳¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£

¤À¤«¤é¡¢ÆÃ¤Ë¼ã¤¤¤¦¤Á¤Ï¡¢¤È¤³¤È¤ó¤Þ¤Ç³Ø¤ó¤Ç¤ß¤ÆÍߤ·¤¤¤Î¤Ç¤¹¡£ H ¤µ¤ó¤Ë¤Ïû´üŪ¤ÊÌÜɸÀßÄê¤È¤·¤Æ¡¢ ¸ÅŵŪ¤Ê¶µ²Ê½ñ°ìºý¤ò´°Á´Íý²ò¤¹¤ë¤³¤È¤ò´«¤á¤Þ¤·¤¿:

¤Ê¤Ë¤«¤Ò¤È¤Ä¤Ç¤¤¤¤¤Î¤Ç¡¢È¾´ü¤«¤±¤Æ¤È¤³¤È¤ó³Ø¤ó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤Ò¤È¤Ä¤ÎʬÌî¤ò¤É¤³¤Þ¤Ç¤â¿¼·¡¤ê¤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤ò°ìÅ٤Ǥâ·Ð¸³¤·¤¿¿Í¤Ï¡¢ ¶½Ì£¤ÎÂоݤ¬¤¤¤í¤¤¤í°Ü¤êÊѤï¤Ã¤Æ¤â¡¢ ʬ¤«¤Ã¤¿¤Ä¤â¤ê¾õÂ֤˴٤ê¤Ë¤¯¤¤¤â¤Î¤Ç¤¹¡£ WWW¾å¤Ç¤Î³Ø½¬¤À¤È¡¢¿¼ËÙ¤¹¤ë°ÊÁ°¤Ë¶½Ì£¤¬È¯»¶¤·¤Æ¤·¤Þ¤¦¥ê¥¹¥¯¤¬¤¢¤ë¤Î¤Ç¡¢ ɾ²Á¤¬³ÎΩ¤·¤¿¸ÅŵŪ¤Ê¶µ²Ê½ñ¤ò°ìºý¡¢´°Á´Íý²ò¤Ë㤹¤ë¤Þ¤ÇÆÉ¤ß¹þ¤à¡¢ ¤È¤¤¤Ã¤¿ÊÙ¶¯ÊýË¡¤Î¤Û¤¦¤¬¤¤¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£

¤É¤ó¤ÊʬÌî¤Î¶µ²Ê½ñ¤Ç¤â¤¤¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢ °ìÎã¤È¤·¤Æ»ä¤¬³ØÀ¸»þÂå¤Ë³Ø¤ó¤À¡Ö¸ÅŵŪ¤Ê¶µ²Ê½ñ¡×¤ò¾Ò²ð¤·¤Þ¤·¤¿:

Switching and Finite Automata Theory
Zvi Kohavi
McGraw-Hill Education ; ISBN: 0070993874 ; (1979/03/01)

27ǯÁ°¤ÎËܤǤ¹¡ª ÉÿÊʬÊâ¤È¤â¤¤¤ï¤ì¤ëµ»½Ñ³×¿·¤Î¥¹¥Ô¡¼¥É¤ÎÃæ¤Ç¡¢ 1/4À¤µª°Ê¾åÀΤÎËܤ¬º£¤Ç¤âÄÌÍѤ¹¤ë¤Î¤Ç¤¹¤«¤é¡¢Ìû²÷¤¸¤ã¤¢¤ê¤Þ¤»¤ó¤«¡£

- o -

Äɵ­:
¡Ö¤ä¤á¤ë¤Þ¤Ç¤Ï¤¬¤ó¤Ð¤ê¤Þ¤Ã¤»¡×¤«¤é°úÍÑ:

¤Ê¤ó¤Ç¤«¤È¤¤¤¦¤È¡¢·ë¶É¤ï¤·¤Ï¡¢²ñ¼Ò¤Î¤¿¤á¤È¤«¡¢¼«Ê¬¤ÎµëÎÁ¤ò¾å¤²¤ë¤¿¤á¤À¤±¤Ë»Å»ö¤·¤Æ¤¤¤ë¤Ä¤â¤ê¤Ï¤Ê¤¤¤«¤é¤Ê¤Î¤Ç¤¹¡£¼«Ê¬¤Î¼ÂÎϤΤ¿¤á¤Ë¡¢º£µÛ¼ý¤Ç¤­¤ë¤Ù¤­¤³¤È¤ÏÁ´¤ÆµÛ¼ý¤·¡¢µ¡¤¬½Ï¤·¤¿¤é¡¢¤É¤³¤Ë¤Ç¤âÈô¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤³¤¦¡¢¤È»×¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¤À¤«¤é¡¢º£¤Ïɾ²Á¤¬¤Ê¤«¤í¤¦¤¬¤Ê¤ó¤À¤í¤¦¤¬¡¢¤È¤Ë¤«¤¯¤ä¤ë¤Ù¤­¤³¤È¤ò¥Ð¥·¥Ð¥·¤³¤Ê¤µ¤Ê¤­¤ã¥¤¥«¥ó¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡£

¤½¤ÎÄ̤ê¤Ç¤¹¤Í¡£ ¼ã¤¤¤È¤­¤Ï¼ã¤¤¤È¤­¤·¤«¤Ç¤­¤Ê¤¤¤³¤È¤ò¤¹¤Ù¤­¤À¤È»×¤¦¤Î¤Ç¤¹¡£ ²ñ¼Ò¤¬¤É¤¦¤Ê¤í¤¦¤È¡¢ ¥¹¥­¥ë¤µ¤¨¿È¤Ë¤Ä¤±¤ì¤Ðµ»½Ñ¼Ô¤Ï¾¡¤Á»Ä¤ì¤ë¤Î¤Ç¤¹¤«¤é¡£


¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î21Æü

Á°²ó¤Ï¡¢VPN-Warp ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¾ì¹ç¤Î¡¢ ´ðËÜŪ¤ÊÀßÄêÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080È֥ݡ¼¥È¤ò¡¢ ¥ê¥â¡¼¥È¤Î intra:10080 ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¾ì¹ç¤Ë¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç stone ¤òÁö¤é¤»¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿¤ï¤±¤Ç¤¹¤¬¡¢ stone ¤Ï¤â¤È¤â¤È VPN-Warp ÀìÍѤΥ½¥Õ¥È¥¦¥§¥¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ stone ¤ÏÈÆÍÑ¥ê¥Ô¡¼¥¿¤Ç¤¹¡£

¤Ä¤Þ¤ê stone ¤ò»È¤ï¤Ê¤¯¤Æ¤â¡¢ https ¥ê¥¯¥¨¥¹¥È¤ò¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÁ÷¿®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ê¤é ¤Ê¤ó¤Ç¤â»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

»î¤·¤Ë OpenSSL ÉÕ°¤Î s_client ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤ß¤Þ¤·¤ç¤¦:

% s_client -cert relay,10020-cert.pem -key relay,10020-priv.pem -connect relay.klab.org:443
CONNECTED(00000003)
	...
subject=/C=JP/postalCode=106-6122/ST=Tokyo/L=Minato-ku/streetAddress=6-10-1 Roppongi/streetAddress=Roppongi-Hills Mori-Tower 22F/O=K Laboratory Co.,Ltd/OU=HTTP/OU=InstantSSL/CN=relay.klab.org
	...
---
GET / HTTP/1.1

HTTP/1.1 200 OK

:irc.klab.org NOTICE AUTH :*** Looking up your hostname...
:irc.klab.org NOTICE AUTH :*** Found your hostname

ºÇ½é¤Î¹Ô¤Î s_client ¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤È¡¢ ¸å¤í¤ÎÊý¤Î¡ÖGET / HTTP/1.1¡×¤ª¤è¤Ó³¤¯²þ¹ÔÆó²ó¤¬¼ê¤ÇÆþÎϤ·¤¿Éôʬ¤Ç¡¢ ¤¢¤È¤Ï s_client ¥³¥Þ¥ó¥É¤Î¼Â¹Ô·ë²Ì¤Ç¤¹¡£ ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤ò¹Ô¤Ê¤¦¤¿¤á¡¢s_client ¤Î°ú¿ô¤Ë¾ÚÌÀ½ñ¤Î

¸ø³«¸° (-cert ¥ª¥×¥·¥ç¥ó)
relay,10020-cert.pem
ÈëÌ©¸° (-key ¥ª¥×¥·¥ç¥ó)
relay,10020-priv.pem

¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£s_client ¤Ï SSL Àܳ¤·¤¿¸å¡¢¥µ¡¼¥Ð¾ÚÌÀ½ñ¤ÎÆâÍÆ¤Ê¤É¤¬¡¢ ¤É¤Ð¤Ã¤È½ÐÎϤµ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¡Ö---¡×¤òɽ¼¨¤·¤Æ¥»¥Ã¥·¥ç¥ó¤¬³ÎΩ¤·¤Þ¤¹¡£

¤½¤·¤Æ¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î)

GET / HTTP/1.1
¡Ê¶õ¹Ô¡Ë

¤òÁ÷¤ë¤È¡¢¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î)

HTTP/1.1 200 OK
¡Ê¶õ¹Ô¡Ë

¤¬Á÷¤é¤ì¤Æ¤­¤Æ¡¢¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤È¤Î¥»¥Ã¥·¥ç¥ó¤¬³ÎΩ¤·¤Þ¤¹¡£ ¤³¤ÎÎã¤Î¾ì¹ç¤Ç¤Ï¡¢³ÎΩ¤·¤¿Ä¾¸å¤Ë¥Ç¡¼¥¿¤¬Á÷¤é¤ì¤Æ¤­¤Æ¤¤¤Þ¤¹¤Í:

:irc.klab.org NOTICE AUTH :*** Looking up your hostname...
:irc.klab.org NOTICE AUTH :*** Found your hostname

¤³¤ì¤Ï¡¢KLab ¼ÒÆâ¤Î IRC ¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤­¤¿¥Ç¡¼¥¿¤Ç¤¹¡£ KLab ¤Ç¤Ïµ»½ÑŪ¤ÊÂǤÁ¹ç¤ï¤»¤Ï IRC ¤ÇºÑ¤Þ¤»¤Æ¤·¤Þ¤¦¤³¤È¤â¿¤¯¡¢ ÎÙ¤ÎÀʤˤ¤¤ë¿Í¤È¤ÎÂǤÁ¹ç¤ï¤»¤Ç¤µ¤¨¡¢IRC ¤Ç¹Ô¤Ê¤¦¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£ IRC ¤ÇÏ䷤Ƥª¤±¤Ðʸ»ú¤Ç»Ä¤ê¤Þ¤¹¤·¡¢ ¥ê¥â¡¼¥È¤Ë¤¤¤ë¿Í¤âµÄÏÀ¤Ë»²²Ã¤Ç¤­¤ë¤Î¤Ç¡¢¤È¤Æ¤âÊØÍø¤Ç¤¹¡£

KLab ¼ÒÆâ IRC ¤Ï¤¢¤Þ¤ê¤Ë¾ïÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤¤¤Ä¤Ç¤â¤É¤³¤Ç¤â IRC ¤Ë»²²Ã¤·¤Æ¤ª¤­¤¿¤¤¤ï¤±¤Ç¡¢ ¤½¤¦¤¤¤¦¤È¤­ VPN-Warp ¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¹¡£ ¤Ä¤Þ¤ê¡¢stone ¤ò¥Î¡¼¥ÈPC ¾å¤Ç NT ¥µ¡¼¥Ó¥¹¤È¤·¤ÆÁö¤é¤»¤Æ¤ª¤¯¤À¤±¤Ç¡¢ ¥Î¡¼¥ÈPC ¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤µ¤¨¤¤¤ì¤Ð¡¢ ¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ç¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤è¤¦¤È̵ÀþLAN ¤Ç¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤è¤¦¤È´Ø·¸¤Ê¤¯¡¢ 6667È֥ݡ¼¥È¤ò¾ï¤Ë¼ÒÆâIRC ¥µ¡¼¥Ð¤Ø¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Æ¡¢ ¥Î¡¼¥ÈPC ¾å¤Î IRC ¥¯¥é¥¤¥¢¥ó¥È¤Ç localhost:6667 ¤ØÀܳ¤·¤Æ ¾ï¤Ë¥Á¥ã¥Ã¥È¾õÂ֤ˤ·¤Æ¤ª¤±¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£


hiroaki_sengoku at 12:56
¡Ã¤³¤Îµ­»ö¤ÎURL ¨¢Comments(0) ¨¢TrackBack(0) ¨¢VPN-Warp 

2000ǯ¤Ë (³ô)¥±¥¤¡¦¥é¥Ü¥é¥È¥ê¡¼ (KLab ¤ÎÅö»þ¤Î¼Ò̾) ¤òÁ϶Ȥ·¤Æ¤«¤é 6 ǯ¡¢ ÅöÁ³¤Ê¤¬¤é¿ô¸Â¤ê¤Ê¤¯ºÎÍÑÌÌÀܤò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£ ºÇ¶á¤Ç¤³¤½»ä¤ÎÌÌÀܤʤ·¤ÇºÎÍѤµ¤ì¤¿¿Íã¤âÁý¤¨¤Æ¤­¤¿¤Î¤Ç¤¹¤¬¡¢ °ì»þ¤Ïµ»½ÑÉôÌç¤Î¤Û¤ÜÁ´°÷¤¬»ä¤ÎÌÌÀܤò·Ð¤ÆÆþ¼Ò¤·¤¿ ¤È¤¤¤¦¿Íã¤À¤Ã¤¿»þ´ü¤â¤¢¤ê¤Þ¤¹¡£

ºÇ½ª¤ÎÌò°÷ÌÌÀܤȤ¤¤¦¤È¡¢Â¿¤¯¤Î¿Í¤¬Ä̤ꤤ¤Ã¤Ú¤ó¤ÎÌÌÀܤÀ¤È»×¤¦¤é¤·¤¯¡¢ Ìò°÷ÌÌÀܤǵ»½ÑŪ¤ÊÆÍ¤Ã¹þ¤ß¤ò¼õ¤±¤Æ¡¢±þÊç¼Ô¤¬¸ÍÏǤ¦¥±¡¼¥¹¤¬Â¿¡¹¤¢¤ê¤Þ¤·¤¿¡£ »ä¤È¤·¤Æ¤Ï¡¢±þÊç¼Ô¤Ë¹ç¤ï¤»¤Æ¤½¤ÎÅÔÅÙ¡¢¤É¤¦¤¤¤¦ÌÌÀÜÊýË¡¤¬Å¬¤·¤Æ¤¤¤ë¤«¹Í¤¨¤Æ¡¢ ¼ÁÌ䤹¤ëÆâÍÆ¤òÊѤ¨¤Æ¤Ï¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¤½¤¦¤Ï¤¤¤Ã¤Æ¤â 100¿Í°Ê¾å¤âÌÌÀܤ¹¤ì¤Ð¤¢¤ëÄøÅ٥ѥ¿¡¼¥ó¤Î¤è¤¦¤Ê¤â¤Î¤â¤Ç¤Æ¤­¤Þ¤¹¡£

Èæ³ÓŪÉÑÅÙ¤¬¹â¤¤¼ÁÌä¥Ñ¥¿¡¼¥ó¤ò¾Ò²ð¤·¡¢ ¤É¤¦Åú¤¨¤ë¤³¤È¤¬¤Ç¤­¤Æ¤¤¤¿¤éºÎÍѤˤʤäƤ¤¤¿¤«¡¢ ¿¶¤êÊ֤äƤߤ褦¤È»×¤¤¤Þ¤¹¡£ ̾ÉÕ¤±¤Æ¡ÖÌÌÀÜFAQ¡×¡¢ÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¡£

- o -

KLab ¤Ë¤¢¤Þ¤ê¶½Ì£¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤±¤É (ž¿¦°¶Àû¥¨¡¼¥¸¥§¥ó¥È¤Ë´«¤á¤é¤ì¤Æ) ¤È¤ê¤¢¤¨¤ºÌÌÀܤò¼õ¤±¤ËÍè¤Þ¤·¤¿¡¢ ¤È¤¤¤¦±þÊç¼Ô¤Ë¡¢ ¤Ê¤ó¤È¤« KLab ¤ÎÌ¥ÎϤòÅÁ¤¨¤Æ¡¢Æþ¼Ò¤·¤è¤¦¤È¤¤¤¦µ¤¤Ë¤µ¤»¤ë¤Î¤¬ ÌÌÀÜ´±¤ÎÏӤ諤»¤É¤³¤í¤À¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢ ¤½¤ì¤Ç¤â¤ä¤Ã¤Ñ¤êÌÌÀܤǤÎÏäÎÀ®¤ê¹Ô¤­¾å¡¢ »Ö˾ưµ¡¤Ë¤Ä¤¤¤Æ¼ÁÌ䤹¤ë¤³¤È¤Ï¤è¤¯¤¢¤ê¤Þ¤¹¡£

¤¹¤ë¤È¡¢¡ÖKLab ¤Î¹â¤¤µ»½ÑÎϤ¬Ì¥ÎÏۡס¢¤È¤« ¡Ö¤½¤¦¤¤¤¦¹â¤¤µ»½Ñ¤ò³Ø¤Ó¡¢¿È¤Ë¤Ä¤±¤¿¤¤¡×¡¢¤È¤«¤ª¤Ã¤·¤ã¤ë¤«¤¿¤¬ ¾¯¤Ê¤«¤é¤º¤¤¤Þ¤¹¡£ ¤½¤¦¤¤¤¦¤³¤È¤ò¸À¤ï¤ì¤Æ¤·¤Þ¤¦¤È¡¢ »ä¤Ï¤Ä¤¤ (^^;)¡¢ ¡Ö¹â¤¤µ»½ÑÎϤäÆÎ㤨¤Ð¤É¤ó¤Ê¤³¤È¤Ç¤¹¤«¡©¡×¤È ʹ¤¤¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£ °ÕÃϰ­¤Ê¼ÁÌä¤Ç¤¹¤Í (_O_)¡£

¿¤¯¤ÎÊý¤Ï¡¢¤½¤¦¤¤¤¦¼ÁÌ䤬Ê֤äƤ¯¤ë¤È¤ÏÁ´¤¯Í½´ü¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤é¤·¤¯¡¢ ¤³¤³¤Ç¸ÀÍդ˵ͤޤäƤ·¤Þ¤¤¤Þ¤¹¡£ »Ö˾ưµ¡¤¬¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤Î¤Ë¡¢ ´Î¿´¤Î¤½¤Îµ»½Ñ¤¬¤É¤¦¤¤¤¦¤â¤Î¤«¥¤¥á¡¼¥¸¤Ç¤­¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£ ¸À¤¤´¹¤¨¤ì¤Ð¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤Î¤«¼Â¤Ïʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¡¢ ¤³¤ì¤Ï¤«¤Ê¤êÌäÂê¤Ç¤¹¤è¤Í¡©

¡Öµ»½Ñ¤Ã¤Æ¤Ê¤ó¤À¤í¤¦¡Ä¡× ¤Õ¤È¤½¤ó¤Ê¤³¤È¤ò¹Í¤¨¤¿¤³¤È¤¬°ìÅ٤Ǥ⤢¤ë¤è¤¦¤Ê¿Í¤Ê¤é¤Ð¡¢ ¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤ó¤ÆÃê¾ÝŪ¤Ê¸À¤¤Êý¤Ç¤Ï¤Ê¤¯¡¢ ¤â¤Ã¤È¶ñÂÎŪ¤Ê¤³¤È¤¬¸À¤¨¤ë¤È»×¤¦¤Î¤Ç¤¹¡£ ¤½¤·¤Æ¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤«¡¢¤­¤Á¤ó¤È¥¤¥á¡¼¥¸¤Ç¤­¤Æ¤¤¤ë¿Í¤Ï¡¢ KLab ¤ËÆþ¼Ò¤·¤¿¤¢¤È¡¢¤Û¤ÜÎ㳰̵¤¯Âç³èÌö¤·¤Æ¤¤¤Þ¤¹¡£


KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë¶¨Îϲñ¼Ò¤Î A ¼Ò¤Î S ¼ÒŤ¬¡¢ tech ML ¤ËÅꤲ¤¿Ì䤤¤«¤±¤ËÂФ·¡¢ Ʊ¤¸¤¯¶¨Îϲñ¼Ò¤Î H ¼Ò¤ÎÌò°÷¤Ç¤¢¤ë K ¤µ¤ó¤¬±þ¤¨¤Þ¤·¤¿¡£

# KLab ¼ÒÆâ¤Î ML ¤Ê¤Î¤Ë¡¢KLab ¼Ò°÷°Ê³°¤ÇÏä¬À¹¤ê¾å¤¬¤ë
# ¤³¤È¤â¤¢¤ë¤Î¤¬¡¢tech ML ¤ÎÂ礭¤ÊÆÃŤǤ¹ (^^;)¡£

¡Á¡Á K¤µ¤ó¤Î¥á¡¼¥ë(°ìÉôÈ´¿è)¤³¤³¤«¤é ¡Á¡Á

> ¡ô¤É¤Ê¤¿¤¬¡ÖÀìÌç¶µ°é¡×¤ò¼õ¤±¤é¤ì¤¿Êý¤Ê¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¤¬^^;
> ¡ô¡ô¤¼¤ÒÅÚÆü¤Ç¸Å¤¤¶µ²Ê½ñ¤Ê¤É¤ò·¡¤ê½Ð¤·¤Æ¤¤¤¿¤À¤­¤¿¤¯:-)

º£¤Ç¤â¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Î½èÍý¡ÊÊýË¡¤Î¡Ë¸Â³¦¤Ë´Ø¤·¤Æ¤Ï¤È¤Æ¤â¶½Ì£¤¬¤¢¤ê

¥ª¡¼¥È¥Þ¥È¥ó¤È·×»»²ÄǽÀ­ ¾ðÊó½èÍý¥·¥ê¡¼¥º
Í­Àî ÀáÉ× (Ãø), µÜÌî ¸ç (Ãø)

¤¢¤¿¤ê¤Ï¤ª¤â¤·¤í¤¤¤«¤Ê¤È¡£»ä¤ÏÆÃ¤Ë¸åȾ¤Î·×»»²ÄǽÀ­¤¬¹¥¤­¤Ç¤¹¡£

¡Á¡Á K¤µ¤ó¤Î¥á¡¼¥ë(°ìÉôÈ´¿è)¤³¤³¤Þ¤Ç ¡Á¡Á

¤Ç¡¢»ä¤âÏä˲äï¤Ã¤Æ¤ß¤Þ¤·¤¿:

¡Á¡Á »ä¤Î¥á¡¼¥ë¤³¤³¤«¤é ¡Á¡Á

ÀçÀФǤ¹¡£¤ª¤ª¡¢¤Ä¤¤¤Ë tech ML ¤Ç·×»»²ÄǽÀ­¤ÎÏÃÂ꤬...

K ¤µ¤óÛ©¤¯:

> ¡Ö¥ª¡¼¥È¥Þ¥È¥ó¤È·×»»²ÄǽÀ­¡×

¤³¤Î¤¢¤¿¤ê¤Î¡¢°ìÄÌ¤ê³Ø¤Ù¤ëËܤòÆÉ¤ó¤Ç¤ß¤ë¤È¡¢ Âç³Ø¤ÎÀìÌç²ÝÄø¤Ç²¿¤ò¤ä¤Ã¤Æ¤ë¤Î¤«ÃΤë»ö¤Ï¡¢¤Ç¤­¤½¤¦¤Ç¤¹¤Í¡£

# ¤Ç¤â¡¢ÃΤë»ö¤ÈÍý²ò¤¹¤ë»ö¤ÏÁ´¤¯ÊÌʪ ;-)

> ¤¢¤¿¤ê¤Ï¤ª¤â¤·¤í¤¤¤«¤Ê¤È¡£»ä¤ÏÆÃ¤Ë¸åȾ¤Î·×»»²ÄǽÀ­¤¬¹¥¤­¤Ç¤¹¡£

ËÜÅö¤Ë½ÅÍפʤΤϡ¢¤³¤Î¡Ö¤ª¤â¤·¤í¤¤¡×¤È¤¤¤¦´¶³Ð¤«¤â¤·¤ì¤Þ¤»¤ó¤Í¤§...
·×»»²ÄǽÀ­¤Ë´Ø¤¹¤ë¡Ö¤ª¤â¤·¤í¤¤¡×ËܤȤ·¤Æ¤Ï¡¢

·èÄêÉÔǽ¤ÎÏÀÍý¥Ñ¥º¥ë¡½¥²¡¼¥Ç¥ë¤ÎÄêÍý¤ÈÍÍÁêÏÀÍý
¥ì¥¤¥â¥ó¥É ¥¹¥Þ¥ê¥ä¥ó (Ãø), Ä¹Èø ³Î (ËÝÌõ), ÅÄÃæ ÊþÇ· (ËÝÌõ)

¤¢¤¿¤ê¤¬¤ª¤¹¤¹¤á¡£¤¤¤­¤Ê¤ê¤³¤ÎËܤòÆÉ¤à¤ÈºÃÀÞ¤¹¤ë¤«¤âÃΤì¤Ê¤¤ ;) ¤Î¤Ç¡¢
ÆþÌçÍѤȤ·¤Æ¤Ï¥Û¥Õ¥¹¥¿¥Ã¥¿¡¼¤ÎÉÔµà¤Î̾ºî:

¥²¡¼¥Ç¥ë¡¢¥¨¥Ã¥·¥ã¡¼¡¢¥Ð¥Ã¥Ï¡½¤¢¤ë¤¤¤ÏÉÔ»×µÄ¤Î´Ä 20¼þǯµ­Ç°ÈÇ
¥À¥°¥é¥¹¡¦R. ¥Û¥Õ¥¹¥¿¥Ã¥¿¡¼ (Ãø), Douglas R. Hofstadter (¸¶Ãø),
Ìîºê ¾¼¹° (ËÝÌõ), ÌøÀ¥ ¾°µª (ËÝÌõ), ¤Ï¤ä¤· ¤Ï¤¸¤á (ËÝÌõ)

¤¬¤¢¤Þ¤ê¤Ë¤âͭ̾¤Ç¤¹¤Í¡£

# 20¼þǯµ­Ç°ÈǤ¬½Ð¤¿¤Î¤«¡Á
# ¤È¤¤¤¦¤³¤È¤Ï¤Ä¤Þ¤ê¡¢»ä¤¬½é¤á¤Æ¤³¤ÎËܤòÆÉ¤ó¤Ç¤«¤é 20ǯ¤¿¤Ã¤¿¡¢¤È¤¤¤¦
# ¤³¤È¤Ê¤Î¤Ç¤¹¤Í¡£¤¦¡Á¤óºÐ¤ò¤È¤Ã¤¿¤â¤Î¤À...


¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î18Æü

Á°²ó¤Ï¡¢ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤ÈÈæ³Ó¤·¤Æ¡¢ VPN-Warp ¤Ë¤Ï¼¡¤ÎÆÃŤ¬¤¢¤ë¤³¤È¤òÀâÌÀ¤·¤Þ¤·¤¿¡£

  1. ¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬ÉÔÍ×
  2. ¥¢¥¯¥»¥¹Âоݤϥê¥ì¡¼¥µ¡¼¥Ð¤Î¤ß

Î㤨¤Ð¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080È֥ݡ¼¥È¤ò¡¢ ¥ê¥â¡¼¥È¤Î intra:10080 ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¾ì¹ç¡¢ ¼¡¤Î¤è¤¦¤Ë¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç stone ¤ò¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç relayagent ¤ò¡¢ ¤½¤ì¤¾¤ìÁö¤é¤»¤Þ¤¹¡£

¥í¡¼¥«¥ë¥Û¥¹¥È         ¥ê¥ì¡¼           ¥ê¥â¡¼¥È¥Û¥¹¥È
    stone ¨¡¨¡¨¡¨¡¨¡¢ª ¥µ¡¼¥Ð ¢«¨¡¨¡¨¡¨¡ relayagent¨¡¢ª intra
  8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È

stone ¤â¡¢relayagent ¤â¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï ¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¡¢ ¤¤¤º¤ì¤Ë¤ª¤¤¤Æ¤â¡¢ssh ¤Î¾ì¹ç¤Î¤è¤¦¤Ê¥í¥°¥¤¥ó¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£

ɬÍפʤΤϡ¢SSL ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤À¤±¤Ç¡¢ stone/relayagent ¤Ï¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤¹¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£ ¼ÂºÝ¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï stone/relayagent ¤Ë¤È¤Ã¤Æ¡¢ ÉáÄ̤Πhttps ¥µ¡¼¥Ð¤Î¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢stone/relayagent ÁÐÊý¤«¤é SSL Àܳ¤ò¼õÉÕ¤±¡¢ ¤â¤·Æ±°ì¤Î¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»ý¤Ã¤Æ¤¤¤ëÁȤ¬¤¢¤ì¤Ð¡¢ ¤½¤ì¤é¤ò·ë¤ÓÉÕ¤±¤ëÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£

¶ñÂÎŪ¤ÊÀßÄêÊýË¡

stone/relayagent ¤½¤ì¤¾¤ì¤Î¶ñÂÎŪ¤ÊÀßÄêÊýË¡¤ò¸«¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

stone ¤ÎÀßÄê

stone ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:

-q key=private.pem
-q cert=cert.pem
relay.klab.org:443/ssl,http localhost:8080 "GET / HTTP/1.1" --
  • -q key= ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤ÎÈëÌ©¸°¥Õ¥¡¥¤¥ë¡¢
  • -q cert= ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤Î¸ø³«¸°¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Ç¤¹¡£
  • relay.klab.org:443 ¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤Î»ØÄê¡¢
  • ºÇ¸å¤Î localhost:8080 ¤¬¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç listen ¤¹¤ë¥Ý¡¼¥È¤Î»ØÄê¤Ç¤¹¡£

¤³¤Î¤è¤¦¤ÊÀßÄê¤ò¹Ô¤Ê¤¦¤È¡¢ stone ¤Ï 8080È֥ݡ¼¥È¤Ç¼õ¤±¤¿Àܳ¤ò¡¢ ¡Öhttps ¥ê¥¯¥¨¥¹¥È¤Ë¾è¤»¤Æ¡×¥ê¥ì¡¼¥µ¡¼¥Ð¤ØÅ¾Á÷¤·¤Þ¤¹¡£

¡Öhttps ¥ê¥¯¥¨¥¹¥È¤Ë¾è¤»¤Æ¡×¤È¤¤¤¦¤Î¤Ï¤É¤¦¤¤¤¦¤³¤È¤«¤È¤¤¤¦¤È¡¢ Î㤨¤Ð 8080È֥ݡ¼¥È¤ËÀܳ¤·¤Æ¡Öabcdefg¡×¤È¤¤¤¦¥Ç¡¼¥¿¤òÁ÷¿®¤·¤¿¤È¤¹¤ë¤È¡¢ stone ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤ò¡¢SSL ¤Ç°Å¹æ²½¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤ØÁ÷¤ê¤Þ¤¹:

GET / HTTP/1.1

abcdefg

¤¢¤Þ¤ê¡Öhttps ¥ê¥¯¥¨¥¹¥È¡×¤Î¤è¤¦¤Ë¤Ï¸«¤¨¤Þ¤»¤ó¤¬ (^^;)¡¢ ºÇ½é¤Î°ì¹Ô¤¬¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ç¡¢ ¶õ¹Ô¤ò¤¢¤±¤Æ¡¢¥ê¥¯¥¨¥¹¥È¥Ü¥Ç¥£¤¬Â³¤¤¤Æ¤¤¤ë¡¢¤È¸«¤Ê¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

¼Â¤ò¤¤¤¦¤È¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤òÁ÷¤ê½ª¤ï¤Ã¤¿»þÅÀ¤Ç¡¢ Ǥ°Õ¤Î¥Ç¡¼¥¿¤ÎÁ÷¼õ¿®¤¬²Äǽ¤Ç¡¢ Á÷¿®¤·¤¿¥Ç¡¼¥¿¥Ç¡¼¥¿¤Ï¤½¤Î¤Þ¤Þ relayagent ¤ØÅÁ¤ï¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ 8080È֥ݡ¼¥È¤¬¡¢relayagent ¤Ø¥Õ¥©¥ï¡¼¥É¤µ¤ì¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£

relayagent ¤ÎÀßÄê

relayagent ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:

-n
-k private.pem
-c cert.pem
relay.klab.org:443
intra:10080
  • -n ¤Ï¡¢relayagent ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
  • -k ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤ÎÈëÌ©¸°¥Õ¥¡¥¤¥ë¡¢
  • -c ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤Î¸ø³«¸°¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Ç¤¹¡£
  • relay.klab.org:443 ¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤Î»ØÄê¤Ç¤¹¡£
  • ºÇ¸å¤Î intra:10080 ¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î»ØÄê¤Ç¤¹¡£

¤³¤Î¤è¤¦¤ÊÀßÄê¤Ç relayagent ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ relayagent ¤Ï¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÂФ·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¡Ö¥Ý¡¼¥ê¥ó¥°¡×¤ò https ¤òÁõ¤Ã¤Æ¹Ô¤Ê¤¤¤Þ¤¹¡£

GET /KLAB/poll HTTP/1.1
X-Ver: 2 relayagent.cpp,v 1.32 W (TAKUMI)

¡ÖX-Ver:¡×¤Î¼¡¤Î¿ô»ú¡Ö2¡×¤Ç¡¢relayagent - ¥ê¥ì¡¼¥µ¡¼¥Ð´Ö¤Î ¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÅÁ¤¨¤Æ¤¤¤Þ¤¹¡£ ³¤¯¡Örelayagent.cpp,v 1.32 W (TAKUMI)¡×¤Ïñ¤Ë relayagent ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò (¥È¥é¥Ö¥ë»þ¤Î²òÀÏÍѤȤ·¤Æ) ÅÁ¤¨¤Æ¤¤¤ë¤À¤±¤Ç¡¢Ä̾ï¤Ï»²¾È¤µ¤ì¤Þ¤»¤ó¡£

¤³¤Î¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤òÁ÷¤ê½ª¤ï¤ë¤È¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¼¡¤Î¤è¤¦¤Ê¥ì¥¹¥Ý¥ó¥¹¤òÊÖ¤·¤Þ¤¹:

HTTP/1.1 200 OK
X-Customer: nusers=10&type=3&expire=1262271599&digest=0123456789abcdef0123456789abcdef

¤³¤Î¡¢https ¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤ò¼õ¿®¤·¤¿¸å¡¢ relayagent ¤Ï¥ì¥¹¥Ý¥ó¥¹¥Ü¥Ç¥£ÂÔ¤Á¾õÂÖ (¥Ý¡¼¥ê¥ó¥°¾õÂÖ) ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¾õÂ֤λþ¡¢ Ʊ¤¸¾ÚÌÀ½ñ¤ò»ý¤Ä stone ¤«¤é¤ÎÀܳ¤¬¤¢¤ë¤È¡¢ ¤½¤Î¾ðÊ󤬥쥹¥Ý¥ó¥¹¥Ü¥Ç¥£¤È¤·¤ÆÁ÷¤é¤ì¤Æ¤­¤Æ¡¢ relayagent ¤Ï¤½¤ì¤ò¼õ¤±¤Æ intra:10080 ¤ØÀܳ¤ò¹Ô¤Ê¤¤¡¢ stone ¤È intra:10080 ¤È¤Î´Ö¤ÎÄÌ¿®¤¬³ÎΩ¤¹¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£


klab_sengoku at 16:42
¡Ã¤³¤Îµ­»ö¤ÎURL ¨¢Comments(3) ¨¢TrackBack(0) ¨¢VPN-Warp 

¿¤¯¤Î²ñ¼Ò¤ÈƱÍÍ¡¢KLab (¤ª¤è¤Ó KLab¥»¥­¥å¥ê¥Æ¥£) ¤Ç¤â¡¢ ½ÐÍè¤ë¸Â¤ê¥ª¡¼¥×¥ó¥½¡¼¥¹¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ²æ¡¹¤¬DSAS¤È¸Æ¤ó¤Ç¤¤¤ë ¥·¥¹¥Æ¥à¥¤¥ó¥Õ¥é¤Ï¡¢´°Á´¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢Î㤨¤Ð ¡Ö¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë·óÉé²Ùʬ»¶´ï·ó¥ë¡¼¥¿¥Þ¥·¥ó¡×¤â Linux ¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£

¤Ê¤¼¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¤Î¤«¡©

º´Ìî»á¤Î¥³¥é¥à¤Ë¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¿Í¤ÎÍýͳ¤Ã¤ÆÀµ¤·¤¤¡©:

    > ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¿Í¤ËÍýͳ¤òʹ¤¯¤ÈÉáÄÌ
    > 
    > ¡¡£±¡¥ÌµÎÁ¤À¤«¤é
    > ¡¡£²¡¥ÂçÀª¤Î¿Í¤¬»È¤Ã¤Æ¤¤¤ë¤«¤é¥Ð¥°¤¬¾¯¤Ê¤¤¤È»×¤ï¤ì¤ë
    > ¡¡£³¡¥¥½¡¼¥¹¥³¡¼¥É¤¬¸ø³«¤µ¤ì¤Æ¤¤¤ë¤«¤é°Â¿´
    > 
    > ¤È¤¤¤¦Åú¤¨¤¬Ê֤äƤ­¤Þ¤¹¡££±¤È£²¤Ï¤Þ¤¢¤½¤ÎÄ̤ê¤À¤È»×¤¤¤Þ¤¹¡£
    > ¤·¤«¤·£³¤Ï¸Ä¿ÍŪ¤Ë¤Á¤ç¤Ã¤Èµ¿Ìä¤Ç¤¹¡£
    > ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤Ã¤Æ¤¤¤ë¿Í¤Ç¡¢¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î
    > ¥½¡¼¥¹¥³¡¼¥É¤ò¼ÂºÝ¤ËʬÀϤ·¤¿¤³¤È¤¬¤¢¤ë¿Í¤Ã¤Æ
    > ¤É¤Î¤¯¤é¤¤¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
      ¡Ä¡Ä
    > ¤Ê¤Î¤Ç¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ëÍýͳ¤òʹ¤«¤ì¤¿¤é¤«¤Ã¤³¤¤¤¤¤³¤È
    > ¸À¤ï¤º¤ËÁÇľ¤Ë¡Ö̵ÎÁ¤À¤·µ¡Ç½¤ËÉÔËþ¤â¤Ê¤¤¤«¤é¡×¤¯¤é¤¤¤Ë¤·¤Æ¤ª¤¯¤Î¤¬
    > ¤è¤¤¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

¤È¤¤¤¦Ì䤤¤«¤±¤¬¤¢¤ê¤Þ¤·¤¿¡£¤µ¤¹¤¬º´Ì¤ó¡¢Åª¤ò¼Í¤¿¸·¤·¤¤¤´°Õ¸«¤Ç¤¹¤Í¡£ ÀµÄ¾¤ÊÏá¢KLab ¤â¥ª¡¼¥×¥ó¥½¡¼¥¹¤òÍøÍѤ·¤Æ¤¤¤ë¤È¤¤¤Ã¤Æ¤â¡¢ ¥¹¥ß¤«¤é¥¹¥ß¤Þ¤ÇʬÀϤ·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤·¡¢ ¡Ö̵ÎÁ¤À¤·µ¡Ç½¤ËÉÔËþ¤â¤Ê¤¤¤«¤é¡×¤È¤¤¤¦Ì̤⤢¤ë¤³¤È¤ÏÈÝÄꤷ¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¤ªµÒÍͤ˥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤È¤¤¤¦Î©¾ì¤È¤·¤Æ¤Ï¡¢ ¤â¤¦¾¯¤·ÀѶËŪ¤ÊÍýͳ¤â»ý¤Á¤¿¤¤¤È¤³¤í¤Ç¤¹¡£

ÀÕǤ¤¢¤ë¥·¥¹¥Æ¥à±¿ÍѤò¼Â¸½¤¹¤ë¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹

¥·¥¹¥Æ¥à¤Ë¥Ù¥ó¥ÀǤ¤»¤Î¥Ö¥é¥Ã¥¯¥¹¥Ü¥Ã¥¯¥¹¤ÊÉôʬ¤¬¤¢¤ë¤È¡¢ ¤½¤ÎÉôʬ¤¬¸¶°ø¤Î¾ã³²¤Ø¤ÎÂбþ¤ÏÃÙ¤¯¤Ê¤ê¤¬¤Á¤Ç¤¹¤·¡¢ ¸¶°øµæÌÀ¤ò´°Á´¤Ë¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Ê¤±¤ì¤Ð¡¢ ºÆÈ¯Ëɻߺö¤âÂоÉÎÅˡŪ¤Ê¤â¤Î¤Ë¤Ê¤ê¤¬¤Á¤Ç¤¹¡£ ¤³¤ì¤Ç¤Ï¼«¿®¤ò»ý¤Ã¤Æ¤ªµÒÍͤ˥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£

KLab ¤â°ÊÁ°¤ÏÈ¢¥â¥Î¤ÎÉé²Ùʬ»¶µ¡¤òÍøÍѤ·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ ¥¯¥ê¥Æ¥£¥«¥ë¤Ê¥Ð¥°¤Ë»¶¡¹Çº¤Þ¤µ¤ì¤Þ¤·¤¿¡£ ¤³¤ÎÈ¢¥â¥Î¤Ï L2½èÍý¤ËÌäÂ꤬¤¢¤ê¡¢ ÄÌ¿®ÉÔÎɤ¬È¯À¸¤¹¤ë¥±¡¼¥¹¤¬¤¢¤Ã¤¿¤Î¤Ç¤¹¡£ ¤â¤Á¤í¤ó¥Ù¥ó¥À¤Ø¤Ï¾É¾õ¤òÊó¹ð¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ ´°Á´¤ÊÂкö¤Ë¤Ï»ê¤é¤º¡¢¤Ê¤ó¤È¤«±¿ÍѤǥ«¥Ð¡¼¤·¤Æ¤¤¤Þ¤·¤¿¡£

¤³¤ì¤Ç¤Ï¡¢¤¤¤Ä¾É¾õ¤¬ºÆÈ¯¤¹¤ë¤«Ê¬¤«¤é¤º Àº¿À±ÒÀ¸¾å¤â¤è¤í¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤³¤Ç¡¢LVS (Linux Virtual Server) ¤ò»È¤Ã¤Æ Linux ¥Ù¡¼¥¹¤ÎÉé²Ùʬ»¶µ¡¤ò ¹½ÃÛ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ ¤à¤í¤ó¡¢LVS ¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎÁ´¤Æ¤ò´°Á´¤ËÇİ®¤·¤Ä¤¯¤·¡¢ LVS ¥×¥í¥¸¥§¥¯¥È¤Ë¹×¸¥¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤Ë¤Ï¡¢ ¤Þ¤À¤Þ¤ÀÆ»Äø¤¬±ó¤¤¤Î¤Ç¤¹¤¬¡¢ ºÆ¸½²Äǽ¤Ê¾ã³²¤Ç¤¢¤ì¤ÐÌäÂê¤Î½êºß¤ò¸«¤Ä¤±½Ð¤»¤ëÄøÅ٤Π¥ì¥Ù¥ë¤Ë¤Ï㤹¤ë¤³¤È¤¬¤Ç¤­¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤â¡¢¼Â¤Ï¤³¤¦¤ä¤Ã¤Æ¼«Á°¤Ç¹½ÃÛ¤·¤¿Éé²Ùʬ»¶µ¡¤ÎÊý¤¬¡¢ ¤½¤ì¤Þ¤Ç»È¤Ã¤Æ¤¤¤¿È¢¥â¥Î¤è¤ê¤º¤Ã¤È°ÂÄꤷ¤Æ±¿ÍѤǤ­¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¹¡£

¥Ù¥ó¥À¤ÎÅÔ¹ç¤Ë¿¶¤ê²ó¤µ¤ì¤Ê¤¤¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹

¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ê¥½¥Õ¥È¥¦¥§¥¢¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤òÄä»ß¤¹¤ë¥ê¥¹¥¯¤È¤¤¤¦¤Î¤â¹Í¤¨¤Æ¤ª¤«¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤ò»ß¤á¤¿¤³¤È¤òÍýͳ¤Ë¡¢ ÊÀ¼Ò¤Î¤ªµÒÍͤËÂФ¹¤ë¥µ¡¼¥Ó¥¹Ä󶡤ò»ß¤á¤ë¡¢¤È¤¤¤¦¤ä¤êÊý¤â ̵¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ µ»½Ñ²ñ¼Ò¤òɸÜÖ¤¹¤ë KLab ¤È¤·¤Æ¤Ï¡¢ ¤¢¤Þ¤ê¤½¤¦¤¤¤¦¸À¤¤Ìõ¤Ï¤·¤¿¤¯¤¢¤ê¤Þ¤»¤ó¡£

¤¹¤ë¤È¡¢ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤ò»ß¤á¤¿¤È¤­¤Î¤³¤È¤Þ¤Ç¹Í¤¨¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤¬¡¢ ¤¢¤¤¤Ë¤¯¥½¥Õ¥È¥¦¥§¥¢¤Î»ÈÍѵöÂú¤È¤¤¤¦¤Î¤Ï°ìÈ̤ËÉÔÊ¿Åù·ÀÌó¤Ç¡¢ ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¦¤Ë¤ÏÂǤļ꤬¤Ê¤¤¤³¤È¤¬Â¿¤¤¤è¤¦¤Ç¤¹¡£ ¥Ù¥ó¥À¤ÎÅÔ¹ç¤Ë¿¶¤ê²ó¤µ¤ì¤ë¤è¤ê¤Ï¡¢ ¤¤¤¶¤È¤Ê¤Ã¤¿¤é¼«Á°¤Ç²ò·è¤Ç¤­¤ë¤è¤¦¡¢ ¥½¡¼¥¹¤¬¥ª¡¼¥×¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤òÁª¤ÖÊý¤¬ ·ë²ÌŪ¤Ë³Ú¤È¤¤¤¨¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

¡Ö¤Ê¤ó¤«¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ã¤ÆÇϼ¯¤ß¤¿¤¤¤À¤Ê¡× (¤³¤³¥®¥³¡ª) ¤Ç¡¢

    > ¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ê¥½¥Õ¥È¤ÎÊý¤¬¤è¤Ã¤Ý¤É¥ê¥¹¥¯¤À¤é¤±¤Á¤ã¤¦¤Î¡©
    > ¤ï¤¶¤ï¤¶¥¯¥½¹â¤¤¶âʧ¤¦¤Î¤Ë¡¢¤È»×¤¨¤Æ¤¯¤ë¡£

¤È¤¤¤¦°Õ¸«¤â½Ð¤Æ¤¤¤ë¤è¤¦¤Ë¡¢ ¥Ù¥ó¥À¤Î¥µ¥Ý¡¼¥È¤¬¥¢¥Æ¤Ë¤Ê¤ë¥±¡¼¥¹¤Ð¤«¤ê¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£

¼«Í³¤Ê¥·¥¹¥Æ¥à¹½ÃÛ¤ò¼Â¸½¤¹¤ë¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹

¤É¤ó¤Ê¤Ë½ÀÆðÀ­¤¬¹â¤¤¥½¥Õ¥È¥¦¥§¥¢¤Ç¤â¡¢ ¥«¥¹¥¿¥Þ¥¤¥º¤Ç²Äǽ¤ÊÈϰϤȤ¤¤¦¤Î¤Ï¥¿¥«¤¬ÃÎ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥½¡¼¥¹¤ò²þÊѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¼«Í³¤È¤Ï±ÀÅ¥¤Îº¹¤Ç¤·¤ç¤¦¡£

KLab ¤È¤·¤Æ¤Ï¡¢ ¾¼Ò¤Ç¤Ï¹Ô¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤ÊÊýË¡¤Ç¡¢ ÂѸξãÀ­¤ò¸þ¾å¤µ¤»¤¿¤ê¡¢ À­Ç½¤ò¸þ¾å¤µ¤»¤¿¤ê¡¢ ¤è¤êÄ㥳¥¹¥È¤Ê±¿ÍѤò¼Â¸½¤·¤¿¤ê ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ º¹Ê̲½¤ò¤Ï¤«¤Ã¤Æ¤¤¤­¤¿¤¤¤ï¤±¤Ç¡¢ ¤½¤¦¤Ê¤ë¤È¥Ù¥ó¥À¤ÎÀ½Éʤò»È¤¦¤è¤ê¤Ï¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò»È¤¦¤Ù¤­¡¢¤È¤¤¤¦ÁªÂò¤Ë¤Ê¤ê¤Þ¤¹¡£

¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò³èÍѤ·¤Æ¤¤¤ë¤«¤Ï¡¢ DSAS³«È¯¼Ô¤ÎÉô²°¤Ê¤É¤Ç ¾Ò²ð¤·¤Æ¤¤¤­¤¿¤¤¤È»×¤Ã¤Æ¤ª¤ê¤Þ¤¹¤·¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò³èÍѤ·¤Æ¤¤¤¯²áÄø¤Ç²æ¡¹¤Î¥ì¥Ù¥ë¤¬¾å¤¬¤Ã¤Æ¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹³¦¤Ë¹×¸¥¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ì¤ì¤Ð¡¢ ¤½¤ì¤Ï²æ¡¹¤Ë¤È¤Ã¤ÆË¾³°¤Î¹¬¤Ç¤¢¤ê¡¢ ¤½¤ì¤òÌܻؤ·¤Æ¸¦ïÓ¤òÀѤó¤Ç¤¤¤¯½ê¸¤Ç¤¹¡£


KLab¥»¥­¥å¥ê¥Æ¥£¤Î¼çÎÏÀ½ÉʤǤ¢¤ë¡¢ ¸Ä¿Í¾ðÊó¥¹¥­¥ã¥Ê ¡ÖP-Pointer¡× ¤Î¹­¹ð¤ò¡¢4/14 ¤«¤é°ì¥ö·î´Ö¡¢Ãϲ¼Å´¤Ë½Ð¤¹¤³¤È¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¹­¹ð¤¬¿­¤Ó¤Ä¤Ä¤¢¤ëº£¡¢ »þÂå¤ËµÕ¹Ô¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¤¬¡¢ ¸òÄ̹­¹ð¤È¤¤¤¦½¾Íè·¿¤Î¹­¹ð¤¬¤É¤ì¤À¤±¸ú²Ì¤¬¤¢¤ë¤«³Ú¤·¤ß¤Ç¤¹¡£

Åìµþ¥á¥È¥í Ãϲ¼Å´ Ⱦ¢ÌçÀþ ¤Ë·ÇºÜ¤·¤¿¡¢ P-Pointer ¤Î Áë¾å¹­¹ð:
P-Pointer ¸òÄ̹­¹ð

°ìÈÌŪ¤Ë¤Ï¡¢Áë¤Î¾å¤Î¹­¹ð¤Ê¤ó¤Æ (¸«¾å¤²¤Ê¤¤¤È¸«¤¨¤Ê¤¤¤«¤é) ï¤â¸«¤Ê¤¤¤À¤í¤¦¤È¤¤¤¦¤³¤È¤Ç¡¢ Äߤ깭¹ð¤Ê¤É¤ËÈæ¤Ù¤ë¤È°Â²Á¤ÊÁë¾å¹­¹ð¤Ê¤Î¤Ç¤¹¤¬¡¢

      ²æ¡¹¤¬¥ê¡¼¥Á¤·¤¿¤¤¿Íã¤Ï¥é¥Ã¥·¥å¤Î»þ´ÖÂӤ˾è¤ëÄ̶еÒ
        ¢­
      ¥é¥Ã¥·¥å»þ´ÖÂÓ¤ÎÅıàÅÔ»ÔÀþ¤Ï»à¤Ì¤Û¤Éº®¤à
        ¢­
      ¤È¤Æ¤â¿·Ê¹¤È¤«¤òÆÉ¤á¤ë¤è¤¦¤Ê¾õÂ֤ǤϤʤ¤
        ¢­
      Ãϲ¼Å´¤À¤«¤é·Ê¿§¤ò¸«¤ë¤ï¤±¤Ë¤â¤¤¤«¤Ê¤¤
        ¢­
      »ÅÊý¤Ê¤¤¤ó¤ÇÁë¤Î¾å¤Î¹­¹ð¤Ç¤â¸«¤ë¤«

¤È¤Ê¤ë¤Î¤Ç¡¢ º®»¨¤¹¤ëÄ̶ÐÏ©Àþ¤Ç¤¢¤ì¤Ð¤¢¤ë¤Û¤ÉÁë¾å¹­¹ð¤Ï¸ú²ÌŪ¤À¤ÈÁÛÁü¤·¤¿¼¡Âè¤Ç¤¹¡£ »ä¼«¿È¡¢ËèÄ«ËèÈÕ¡¢¥é¥Ã¥·¥å¤ÎÅıàÅÔ»ÔÀþ (½Â뤫¤éÀ¾¤Ø¿­¤Ó¤ëÅìµÞÏ©Àþ¤Ç¤¹¡£Ãϲ¼Å´È¾Â¢ÌçÀþ¤ÈÁê¸ß¾è¤êÆþ¤ì¤·¤Æ¤¤¤Þ¤¹) ¤ÇÄ̶Ф·¤Æ¤¤¤Æ¡¢ Áë¾å¹­¹ð¤ò¸«¤ëµ¡²ñ¤¬Â¿¤«¤Ã¤¿¤ê¤·¤Þ¤¹¤·¡¢ ±èÀþ¤Ë¤Ï¤¤¤ï¤æ¤ë¡ÖIT¶È³¦¡×¤Î²ñ¼Ò¤¬Â¿¤¯¡¢ ¡Ö¸Ä¿Í¾ðÊó¡×¤Ë¥»¥ó¥·¥Æ¥£¥Ö¤Ê¿Í¤¬Â¿¤¤¤À¤í¤¦¡¢ ¤È¤¤¤¦¤³¤È¤ÇȾ¢ÌçÀþ¤òÁª¤Ó¤Þ¤·¤¿¡£


¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î15Æü

Á°²ó¤Ï¡¢ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ë¤Ï¼¡¤ÎÆóÅÀ¤Î·çÅÀ¤¬¤¢¤ë¡¢ ¤È¤¤¤¦¤ªÏäò¤·¤Þ¤·¤¿¡£

  1. ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬É¬Í×
  2. ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤¬É¬Í×

¤¹¤Ê¤ï¤Á¡¢ssh ¤Ç¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢Î㤨¤Ð

ssh -L 8080:intra:10080 remote "sleep 1d"

¤È¤¤¤Ã¤¿´¶¤¸¤Ç¼Â¹Ô¤·¤Þ¤¹¤¬¡¢ssh ¥í¥°¥¤¥óÀè¤Ç¤¢¤ë remote ¤Î ¥»¥­¥å¥ê¥Æ¥£¥ì¥Ù¥ë¤ò²¼¤²¤ëÍ×°ø¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦·çÅÀ¤Ç¤¹¡£

·çÅÀ (1) ¤ò VPN-Warp ¤Ç¤Ï¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«

VPN-Warp¤Ç¤Ï¡¢¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤ËɬÍפʤΤϡ¢¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥à¤ò Áö¤é¤»¤ë¤³¤È¤À¤±¤Ç¡¢Linux ¾å¤Ç¤â Windows ¾å¤Ç¤âÁö¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤·¡¢ Windows ÈǤϡ¢NT ¥µ¡¼¥Ó¥¹¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£

VPN-Warp ¤Ç¤Ï¥æ¡¼¥¶´ÉÍý¤ò¥ê¥ì¡¼¥µ¡¼¥Ð¾å¤Î DB ¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ 100Ëü¿Íµ¬ÌϤΥ桼¥¶¤ËÂФ·¤Æ¤â;͵¤Ç¥µ¡¼¥Ó¥¹¤Ç¤­¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ç¤Ï¥æ¡¼¥¶´ÉÍý¤ò¹Ô¤Ê¤¦É¬Íפ¬¤Ê¤¤¤Î¤Ç¡¢ ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤òÁö¤é¤»¤ë¤¿¤á¤ËɬÍפÊÀßÄê¤Ï¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè (¾å½Ò¤ÎÎã¤À¤È intra:10080) ¤ÎÀßÄê¤À¤±¤Ç¤¹¡£

¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬¹Ô¤Ê¤¦¤Î¤Ï¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Ë¸ÂÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥»¥­¥å¥ê¥Æ¥£¥ê¥¹¥¯¤òºÇ¾®¸Â¤ËÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

·çÅÀ (2) ¤ò VPN-Warp ¤Ç¤Ï¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«

VPN-Warp¤Ç¤Ï¡¢¥ê¥â¡¼¥È¥Þ¥·¥ó¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ëÂå¤ï¤ê¤Ë¡¢ Ãæ·ÑÀìÌç¤Î¥ê¥ì¡¼¥µ¡¼¥Ð¤òÍѤ¤¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤ÇÁö¤é¤»¤ë¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤ÈÏ¢·¸Æ°ºî¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤¬¥¢¥¯¥»¥¹¤¹¤ëÂоݤϥê¥â¡¼¥È¥Þ¥·¥ó¤Ç¤Ï¤Ê¤¯ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ë¤Ê¤ê¤Þ¤¹¡£ ssh ¤È VPN-Warp¤Î°ã¤¤¤ò¿Þ¤Ç½ñ¤¯¤È¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:

ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Î¾ì¹ç:

¥í¡¼¥«¥ë¥Û¥¹¥È                          ¥ê¥â¡¼¥È¥Û¥¹¥È
    ssh ¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¢ª sshd  ¨¡¢ª intra
  8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È

VPN-Warp¤Î¾ì¹ç:

¥í¡¼¥«¥ë¥Û¥¹¥È         ¥ê¥ì¡¼           ¥ê¥â¡¼¥È¥Û¥¹¥È
    stone ¨¡¨¡¨¡¨¡¨¡¢ª ¥µ¡¼¥Ð ¢«¨¡¨¡¨¡¨¡ relayagent¨¡¢ª intra
  8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È

¿ÞÃæ relayagent ¤È¤¤¤¦¤Î¤¬¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤Ç¤¹¡£ VPN-Warp¤Î¾ì¹ç¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤Ï³°Éô¤«¤é¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬ ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£ Âå¤ï¤ê¤Ë³°Éô¤«¤é¤Î¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¤Î¤Ï¡Ö¥ê¥ì¡¼¥µ¡¼¥Ð¡×¤Ç¤¹¡£

ssh ¤Î¾ì¹ç¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤¬³°Éô¤«¤é¤Î¹¶·â¤Ë»¯¤µ¤ì¤ë¥ê¥¹¥¯¤¬¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ VPN-Warp¤Î¾ì¹ç¤Ï¡¢³°Éô¤«¤é¤Î¹¶·â¤Ë»¯¤µ¤ì¤ë¤Î¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤À¤±¤Ç¤¹¡£

¤½¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢KLab ¤Ê¤É VPN-Warp Äó¶¡Â¦¤¬±¿±Ä¤¹¤ë¤Î¤Ç¡¢ VPN-Warp ¥æ¡¼¥¶¤Ï³°Éô¤«¤é¤Î¹¶·â¤òµ¤¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£

¤Þ¤¿¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¼«ÂΤÏñ¤Ë¥Ç¡¼¥¿¤ò±¦¤«¤éº¸¤Ø¥Ç¡¼¥¿¤òή¤¹¤À¤±¤Ç¡¢ ssh ¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤Î¤è¤¦¤Ê¿¯Æþ¤Î­³Ý¤«¤ê¤Ë¤Ê¤ë¤è¤¦¤Ê¤â¤Î¤Ï ²¿¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢ÀìÍѤΥǥ£¥ì¥¯¥È¥ê¤Ø chroot ¤·¤Æ¤«¤é¡¢ ¥ê¥ì¡¼¥µ¡¼¥ÐÀìÍѤΥ桼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


klab_sengoku at 07:01
¡Ã¤³¤Îµ­»ö¤ÎURL ¨¢Comments(0) ¨¢TrackBack(0) ¨¢VPN-Warp 

¡ÖDB ¥µ¡¼¥Ð¤Î¥»¥­¥å¥ê¥Æ¥£¸þ¾åºö (3)¡×¤Ç¤Ï¡¢ ¤É¤Î¥æ¡¼¥¶¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ë¥¢¥¯¥»¥¹¤·¤¿¤«ÆÃÄꤹ¤ë¤¿¤á¤Ë¡¢ ¥æ¡¼¥¶¤´¤È¤Ë¥½¥±¥Ã¥È¤òºîÀ®¤·¤Þ¤·¤¿¡£ ¤·¤«¤· Linux ¤Ê¤É¤Î OS ¤Ç¤Ï¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ë¸Â¤ê ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶¤ò getsockopt(2) ¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢ ¥½¥±¥Ã¥È°ì¤Ä¤À¤±¤Ç¤É¤Î¥æ¡¼¥¶¤«¤é¤Î¥¢¥¯¥»¥¹¤«¶èÊ̤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë getsockopt ¤Î°ú¿ô¤Ë SO_PEERCRED ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ ucred ¹½Â¤ÂΤ˥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶¤Î¾ðÊ󤬳ÊǼ¤µ¤ì¤Þ¤¹:

struct ucred cr;
int len = sizeof(cr);
int ret = getsockopt(sd, SOL_SOCKET, SO_PEERCRED, &cr, &len);
if (ret == 0) {
    struct passwd *passwd = getpwuid(cr.uid);

    ...

}

¤·¤¿¤¬¤Ã¤Æ¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò listen ¤·¡¢ ¤½¤Î¥½¥±¥Ã¥È¤ØÀܳ¤¬¤¢¤Ã¤¿¤é¡¢ ¤½¤ì¤ò DB ¥µ¡¼¥Ð¤ØÄÌ¿®¤ò´Æ»ë¤·¤Ä¤ÄÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à dbrelay ¤Ë¤ª¤¤¤Æ¡¢ ¾åµ­¤Î¤è¤¦¤Ë getsockopt(2) ¤ò»È¤Ã¤Æ¥¢¥¯¥»¥¹¸µ¥æ¡¼¥¶¤òÆÃÄꤷ¡¢ ÄÌ¿®¤Î´Æ»ë¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ DB ¥æ¡¼¥¶Ì¾¤È°ìÃפ·¤¿¤éÃæ·Ñ¤ò·Ñ³¤·¡¢ °ìÃפ·¤Ê¤«¤Ã¤¿¤éÄÌ¿®¤ò¼×ÃǤ¹¤ë¡¢¤È¤¤¤¦¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¤â¤Á¤í¤ó¡¢³Æ¥æ¡¼¥¶¤¬Ä¾ÀÜ DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤·¤Ê¤¤¤è¤¦¡¢ dbrelay ¤«¤é¤Î¥¢¥¯¥»¥¹°Ê³°¤Ï OUTPUT ¥Á¥§¥¤¥ó¤ÇÄÌ¿®¤òµÑ²¼¤·¤Þ¤¹¡£

¤³¤Î¤è¤¦¤Ê»Å³Ý¤±¤ò¡¢¥é¥Ã¥¯Æâ¤ÎÁ´¥µ¡¼¥Ð¤Ë»Å¹þ¤à¤³¤È¤Ë¤è¤ê¡¢ ³Æ¥æ¡¼¥¶¤ÏƱ̾¤Î DB ¥æ¡¼¥¶¤Ç¤Î¤ß DB ¥µ¡¼¥Ð¤Ø¡¢ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È·Ðͳ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£

ÄÌ¿®¤Î´Æ»ë¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ê¤¯¡¢ DB ¥µ¡¼¥Ð¦¤Ç¹Ô¤Ê¤¤¤¿¤¤¾ì¹ç¤Ï¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î dbrelay ¤Ç¤Ï ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð¦¤ØÅÁ¤¨¤ë¤À¤±¤Ë¤·¤Æ¡¢ ÄÌ¿®¤Î´Æ»ë¤ª¤è¤ÓÄÌ¿®¤Î¼×ÃǤϥµ¡¼¥Ð¦¤Ç¹Ô¤Ê¤ï¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

ºÇ¿·ÈÇ ¤Î stone ¤Ë¤Ï ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð¦¤ØÅÁ¤¨¤ëµ¡Ç½¤¬¤¢¤ë¤Î¤Ç¡¢ Î㤨¤Ð¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¼¡¤Î¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£

stone dbserver:12345/http /tmp/db.sock '\U'

¡Ö/http¡×¤Î»ØÄê¤È¡Ö'\U'¡×¤¬¡¢¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð (dbserver:12345) ¤Ø ÅÁ¤¨¤ëÀßÄê¤Ç¤¹¡£Î㤨¤Ð¥æ¡¼¥¶ sengoku ¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È /tmp/db.sock ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢stone ¤Ï¤Þ¤º

Apr 14 07:54:36.809789 16384 3 5>6 73 65 6e 67 6f 6b 75 0d  sengoku.
Apr 14 07:54:36.809828 16384 3 5>6 0a 0d 0a                 ...

¤ò dbserver:12345 ¤ØÁ÷¿®¤·¡¢¤½¤Î¸å¤Ï /tmp/db.sock ¤«¤é dbserver:12345 ¤Ø¤Î Ãæ·Ñ¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¥µ¡¼¥Ð¦¤Ç¤Ï¤Þ¤ººÇ½é¤ËÁ÷¤é¤ì¤Æ¤­¤¿¥æ¡¼¥¶Ì¾¤ò¼õ¤±¼è¤ê¡¢ ¤½¤Î¸å¤ÏÄÌ¿®¤ò´Æ»ë¤·¤Ä¤Ä 12345 È֥ݡ¼¥È¤«¤é DB ¥µ¡¼¥Ð¤Ø¤ÎÃæ·Ñ¤ò¹Ô¤Ê¤¨¤Ð¤è¤¤¤ï¤±¤Ç¤¹¡£


¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¥Ö¥Ã¥¯¥Þ¡¼¥¯ 2006ǯ04·î13Æü

KLab¥»¥­¥å¥ê¥Æ¥£(³ô)¤ÎÀ½ÉÊ¤Ë VPN-Warp ¤È¤¤¤¦ SSL VPN ¥½¥ê¥å¡¼¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ÎÀ½Éʤϡ¢ºÇ½é¤Î¥×¥í¥È¥¿¥¤¥×¤ò»ä¤¬³«È¯¤·¡¢ ¼ÒÆâ¥¤¥ó¥Õ¥é¹½ÃÛ¤ÇĹǯ (¤È¤¤¤Ã¤Æ¤â KLab(³ô) ¤¬ÀßΩ¤«¤é¤Þ¤À 6ǯ¤Ê¤Î¤Ç¡¢ ¤»¤¤¤¼¤¤¤½¤Î¤¯¤é¤¤¤Ç¤¹¤¬) »È¤¤Åݤ¹¤³¤È¤Ë¤è¤Ã¤Æ¿®ÍêÀ­¤¬¤¢¤¬¤Ã¤Æ¤­¤¿¤â¤Î¤ò¡¢ ¾¦Éʲ½¤·¤¿¤â¤Î¤Ç¤¹¡£ »ä¼«¿È¤¬ºÇ½é¤Ë³«È¯¤·¤¿¡¢¤È¤¤¤¦°¦Ãå¤â¤¢¤ë¤Î¤Ç¡¢ ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ­¡×¤È¤¤¤¦¾ì¤òÍøÍѤ·¤Æ¡¢ VPN-Warp ¤òÆâÉô¹½Â¤¤â´Þ¤á¤Æ²òÀ⤷¤Æ¤¤¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

VPN-Warp ¤Ï¡¢¤Õ¤Ä¤¦¤Î SSL VPN ¤ËÈæ¤Ù¡¢°Ê²¼¤ÎÆÃħ¤¬¤¢¤ê¤Þ¤¹:

  1. ¥µ¡¼¥Ð¦¤ÎÀßÄ꤬´Êñ
    ÆÃ¼ì¤ÊÀßÄê¤ÎɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£ ¥¤¥ó¥È¥é¥Í¥Ã¥È¾å¤Î Web ¥µ¡¼¥Ð¤ËÀìÍÑ¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤À¤±¤Ç¤¹¡£
  2. ´û¸¤Î¥¤¥ó¥È¥é¥Í¥Ã¥È´Ä¶­¤òÍøÍÑ
    ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÀßÄê¤òÊѤ¨¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
  3. PC¡¢·ÈÂÓÅÅÏá¢PDA ¤Ê¤É¤«¤éÍøÍѲÄǽ
    ¼çÍ×üËö¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
  4. ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ëÆâÉô¤Î¾ðÊó¤ò´°àú¤ËÊݸî
    SSL ¤Ë¤è¤ê°Å¹æ²½¡¦Ç§¾Ú (¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð´Ö¤ÎÁê¸ßǧ¾Ú) ¤Ç ¹âÅ٤ʥ»¥­¥å¥ê¥Æ¥£¤ò¼Â¸½¤·¤Þ¤¹¡£
  5. ¥¯¥é¥¤¥¢¥ó¥È¦¤Ø¤Î´Êñ¤ÊƳÆþ
    ÆÃÊ̤ʥ½¥Õ¥È¤¬É¬Íפʤ¯ SSL ¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç»È¤¨¤Þ¤¹¡£
  6. °ÂÄꤷ¤¿¥·¥¹¥Æ¥à
    Äêɾ¤¢¤ë KLab ¤Î¥Ç¡¼¥¿¥»¥ó¥¿¤òÍøÍѤ¹¤ë¤¿¤á°Â¿´¤Ç¤¹¡£

VPN-Warp ¤Ã¤Æ²¿¡©

°ì¸À¤Ç¸À¤¦¤È¡¢¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ç¤¹¡£ ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤ò»È¤Ã¤¿¤³¤È¤¬¤¢¤ë¿Í¤Ï¿¤¤¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢ ´ðËܤϥ¢¥ì¤ÈƱ¤¸¤Ç¤¹¡£ ssh ¤À¤È¡¢¥í¡¼¥«¥ë¥Û¥¹¥È (Î㤨¤Ð¼«Ê¬¤Î PC) ¾å¤Ç

ssh -L 8080:intra:10080 remote "sleep 1d"

¤Ê¤É¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080 È֥ݡ¼¥È¤ò (remote ¤«¤é¸«¤Æ) intra:10080 È֥ݡ¼¥È¤Ø¥Õ¥©¥ï¡¼¥É¤Ç¤­¤Þ¤¹¡£ intra:10080 ¤Ë¡¢¥¤¥ó¥È¥é¤Ø¥¢¥¯¥»¥¹²Äǽ¤Ê http proxy ¤¬Æ°¤¤¤Æ¤¤¤ì¤Ð¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080 È֥ݡ¼¥È¤ò¥¤¥ó¥È¥é¤Î http proxy ¤È¤·¤Æ »È¤¦¤³¤È¤¬¤Ç¤­¤ë¤ï¤±¤Ç¤¹¤Í¡£

¤¸¤ã¡¢ssh ¤Ç¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¡© ¤Ê¤ó¤Ç VPN-Warp ¤ò»È¤¦¤Î¡©

ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ë¤ÏÂ礭¤¯Ê¬¤±¤ÆÆó¤Ä¤Î·çÅÀ¤¬¤¢¤ê¤Þ¤¹:

  1. ¥ê¥â¡¼¥È¥Û¥¹¥È (¤³¤ÎÎã¤Ç¤Ï remote) ¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬É¬Í×
    ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤¹¤ë¤¿¤á¤À¤±¤Ë¡¢ ssh ¤Ç¥í¥°¥¤¥ó¤Ç¤­¤ë¸¢¸Â¤òÍ¿¤¨¤ë ¤È¤¤¤¦¤Î¤Ï¡¢¤¤¤«¤Ë¤âµíÅá¤Ç¤¹¤è¤Í¡© ¤Þ¤¿¡¢¥µ¡¼¥Ð¤Î¥¢¥«¥¦¥ó¥È¤È¤¤¤¦¤Î¤ÏÌÇ¿Ìðí¤ËÁý¤ä¤»¤ë¤â¤Î¤Ç¤â¤Ê¤¤¤Î¤Ç¡¢ Î㤨¤Ð¿ôÀé¿Í¤òͤ¨¤ë¥æ¡¼¥¶¤Ë¥µ¡¼¥Ó¥¹¤¹¤ëÊýË¡¤È¤·¤Æ¤Ï¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
  2. ³°Éô¤«¤é¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤¬É¬Í×
    ¤³¤ÎÎã¤Î remote ¤Ï¥¤¥ó¥È¥éÆâ¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤¬É¬ÍפǤ¹¡£ ¥¤¥ó¥È¥éÆâ¤Ø¥¢¥¯¥»¥¹¤Ç¤­¤ë¥µ¡¼¥Ð¤ò ³°Éô¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤ë¥»¥°¥á¥ó¥È (Î㤨¤Ð DMZ) ¤ËÃÖ¤¯¤Î¤Ï ¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤«¤é¡¢ÉáÄ̤Ϥ¤¤Ã¤¿¤ó³°Éô¤«¤é¥¢¥¯¥»¥¹²Äǽ¤Ê ¥µ¡¼¥Ð (Î㤨¤Ð¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë) ¤Î ŬÅö¤Ê¥Ý¡¼¥È (Î㤨¤Ð 10022 È֥ݡ¼¥È) ¤Ç¼õ¤±¤Æ¡¢ ¤½¤ì¤ò¥¤¥ó¥È¥éÆâ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ DMZ ¤ËÃÖ¤¯¤è¤ê¤Ï¥Þ¥·¤Ç¤¢¤ë¤â¤Î¤Î¡¢ ³°Éô¤«¤éľÀÜ¥í¥°¥¤¥ó¤Ç¤­¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤«¤ï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¤³¤ÎÆó¤Ä¤Î·çÅÀ¤Ï¡¢¤É¤Á¤é¤â¡Ö¥ê¥â¡¼¥È¥Û¥¹¥È¡×¤Î ¥»¥­¥å¥ê¥Æ¥£¥ì¥Ù¥ë¤ò²¼¤²¤ëÍ×°ø¤Ë¤Ê¤ê¤Þ¤¹¡£ ñÅáľÆþ¤Ë¸À¤¨¤Ð¡¢³°Éô¤ÎÂè»°¼Ô¤¬¡Ö¥ê¥â¡¼¥È¥Û¥¹¥È¡×¤Ë¥í¥°¥¤¥ó¤·¤Æ ¥Õ¥ë¥³¥ó¥È¥í¡¼¥ë¸¢¸Â¤òÃ¥¤¦¥ê¥¹¥¯¤¬¹â¤Þ¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

¼¡²ó¤Ï¡¢VPN-Warp ¤¬¾åµ­·çÅÀ¤ò¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«ÀâÌÀ¤·¤Þ¤¹¡£


klab_sengoku at 08:06
¡Ã¤³¤Îµ­»ö¤ÎURL ¨¢Comments(0) ¨¢TrackBack(1) ¨¢VPN-Warp 

KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë¶¨Îϲñ¼Ò¤Î A ¼Ò¤Î S ¼ÒŤ¬¡¢

- o -

»ä¼«¿È¤Ï¾ðÊó½èÍý¤Î¥­¥Û¥ó¤ò¤Á¤ã¤ó¤È¡Ö¶µ¤ï¤Ã¤¿¤ê½¬¤Ã¤¿¤ê¡×¤·¤¿ ¤³¤È¤Ï¤Ê¤¯¡¢¤½¤ÎÅÀ¤Ç¡¢»ê¤ë½ê¤Ç¡Ö¤ä¤Ã¤Ñ¤ê¥­¥Û¥ó¤¬¤·¤Ã¤«¤ê¤·¤Æ ¤¤¤ë¿Í¤Ë¤ÏŬ¤ï¤Ê¤¤¤Ê¤¡¡×¤È´¶¤¸¤ë¥·¡¼¥ó¤â·Ð¸³¤·¤Þ¤¹¡£

¤Ç¡¢Âç³Ø¤äÀìÌç³Ø¹»¤Ç¾ðÊó½èÍý¤ò³Ø¤ó¤ÇÍ褿¿Í¤Ë¶µ¤¨¤ÆÍߤ·¤¤¤Î ¤Ç¤¹¤¬¡¦¡¦¡¦¡¦¡¦¡¦

Q1¡Ë ³Ø¹»¤Ç¤É¤ó¤Ê¥³¡¼¥¹(¹ÖµÁ/ñ°Ì)¤¬¤¢¤ê¤Þ¤·¤¿¤«¡£
¡û¡û³Ø ¤È¤« ¡û¡ûµ»Ë¡ ¤È¤«¤½¤ó¤Ê´¶¤¸¤Î¡£
Q2¡Ë ¤½¤ÎÃæ¤Ç¡¢°õ¾Ý¿¼¤«¤Ã¤¿¤â¤Î¤ä¡¢º£¤³¤¦¤ä¤Ã¤Æ³«È¯¤Î¸½¾ì¤Ç»Å»ö¤ò
¤·¤Æ¤¤¤Æ¡Ö³Ø¤ó¤Ç¤è¤«¤Ã¤¿¤Ê¤¡¡×¤È»×¤Ã¤¿¤â¤Î¤ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£
Q3¡Ë º£¤³¤Î²ñ¼Ò¤Î¡¢³Ø¹»¤Ç¤½¤¦¤¤¤¦¤³¤È¤ò³Ø¤ó¤Ç¤³¤Ê¤«¤Ã¤¿¿Í¤ËÂФ·¤Æ
¡Ö²¶¤¬²ò¤ë¤è¤¦¤Ë¶µ¤¨¤Æ¤ä¤ë¡ª¡×¤È¤¤¤¦¤Î¤¬¤¢¤ë¤È¤·¤¿¤é
¤É¤ó¤Ê»ö¤Ç¤¹¤«¡£
- o -

¤È¤¤¤¦¼ÁÌä¤ò tech ML ¤Ë¤·¤Þ¤·¤¿¡£
¤ß¤Ê¤µ¤ó¤Ê¤é¤É¤¦Åú¤¨¤Þ¤¹¤«¡©

A1)
»ä¤Ï¾ðÊ󹩳زʤÀ¤Ã¤¿¤Î¤Ç¡¢ÏÀÍý²óÏ©¤«¤é¥³¥ó¥Ñ¥¤¥é¡¢¥½¥Õ¥È¥¦¥§¥¢¹©³Ø¤Þ¤Ç°ì ÄÌ¤ê³Ø¤Ó¤Þ¤·¤¿¡£¤Ä¤¤¤Ç¤Ë¤¤¤¦¤È¼ÂÁ©Åª¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢Ë¿¥½¥Õ¥È¥¦¥§¥¢¥Ï ¥¦¥¹¤Ç¥Ð¥¤¥È¤·¤Æ³Ð¤¨¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Ï¡¢ºÇ½é¤Î½¢¿¦Àè¤Î¥¤¥ó¥È¥é¹½ÃۤμêÅÁ¤¤ ¤ò¤·¤Æ³Ð¤¨¤Þ¤·¤¿¡£
A2)
ÀìÌç²ÝÄø¤Ç³Ø¤Ö»ö¤Ç°ìÈÖÂç»ö¤Ê¤Î¤Ï¡¢¡ÖÂ糤¡×¤òÃΤë»ö¤Ç¤¹¤Í¡¢¤­¤Ã¤È¡£ ¡ÖÂ糤¡×¤òÃΤé¤Ê¤¤¡Ö°æ¤ÎÃæ¤Î³¿¡×¤Ï¡¢·è¤·¤Æ¡Ö°æ¡×¤«¤é½Ð¤ë»ö¤Ï¤Ç¤­¤Þ¤»¤ó¡£
Âç»ö¤Ê¤Î¤ÏÃ챤ä·Ð¸³¤ò¿È¤Ë¤Ä¤±¤ë»ö¤Ç¤Ï¤Ê¤¯¤Æ¡¢¼«Ê¬¤¬²¿¤òÃΤé¤Ê¤¤¤«¤ò ÃΤë»ö¤Ç¤¹¡£
Âç³Ø¤Ï¡Ö³«È¯¤Î¸½¾ì¤Ç¡×Ìò¤Ë¤¿¤Ä¤³¤È¤ò¶µ¤¨¤Æ¤¯¤ì¤Ê¤¤¡¢¤È¿¤¯¤Î¿Í¤¬¸À¤¤¤Þ¤¹ ¤¬¡¢¤½¤¦¤¤¤¦¤³¤È¤ò¸À¤¦¿Í¤Ã¤Æ¡¢¤Û¤Ü³Î¼Â¤Ë¼«Ê¬¤¬²¿¤òÃΤé¤Ê¤¤¤«Ê¬¤«¤Ã¤Æ¤Ê¤¤ ¤È»×¤¤¤Þ¤¹¡£
A3)
¤Ê¤ó¤Ç¤â¤¤¤¤¤Ç¤¹¡£¼«Ê¬¤Ç¤ÏÅþÄìºî¤ê½Ð¤¹»ö¤¬¤Ç¤­¤Ê¤¤¤â¤Î¤Ë¤Ä¤¤¤Æ¡¢ ´°Á´¤ËÍý²ò¤¹¤ë¤è¤¦ÅØÎϤ¹¤ë·Ð¸³¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¢¤ì¤Ð¡£
¸À¤¤Âؤ¨¤ì¤Ð¡¢²¿¤« (What) ¤ò³Ø¤Ö»ö¤¬½ÅÍפʤΤǤϤʤ¯¤Æ¡¢
¤Þ¤·¤Æ¡¢¤É¤¦¤ä¤Ã¤Æ (How) ¤ò³Ð¤¨¤ë»ö¤Ê¤ó¤Æ½ÅÍפǤ¢¤ë¤Ï¤º¤¬¤Ê¤¯¡¢
ÂÎÆÀ¤¹¤Ù¤­¤Ï¡¢¤Ê¤¼ (Why) ¤òÌ䤤³¤±¤ë½¬´·¤½¤Î¤â¤Î¤Ç¤¹¡£

¡Ö¥È¥é¥ó¥¶¥¯¥·¥ç¥óÎØÆÉ²ñ¡×(¼ÒÆâÎØÆÉ²ñ¤Ç¤¹) ¤ÎËܤò¡¢ ¡Öʬ¤«¤Ã¤¿¤Ä¤â¤ê¡×¥ì¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢ ´°Á´¤ËÍý²ò¤Ç¤­¤ë¤Þ¤Ç´èÄ¥¤ë¤È¤«¤Ç¤â¡¢¤â¤Á¤í¤ó¤¤¤¤¤Ç¤¹¤Í¡£ ¤É¤³¤Þ¤Ç´°Á´¤ËÍý²ò¤Ç¤­¤¿¤«¼«ÂΤϡ¢¼Â¤Ï¤¢¤Þ¤ê½ÅÍפǤϤʤ¯¤Æ¡¢ Íý²ò¤·¤è¤¦¤ÈÅØÎϤ·¤Æ¡¢¼«¿È¤Î¸Â³¦¤Þ¤ÇÎϤò½Ð¤·ÀڤäƤߤ뤳¤È¤¬»ö¤¬ Âç»ö¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡£

¡ÖÎØÆÉ²ñ¡×¤Ë»²²Ã¤·¤¿¿Í¤Ï¼Â´¶¤·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢²¿¤¬Ê¬¤«¤é¤Ê¤¤¤« ʬ¤«¤é¤Ê¤¤¿Í¤Ï¡¢¼ÁÌ䤵¤¨¤Ç¤­¤Ê¤¤¤ï¤±¤Ç¤¹¡£¼«Ê¬¤¬ËÜÅö¤ËÍý²ò¤Ç¤­¤Æ¤¤¤ë¤«¡¢ ¾ï¤ËÈ¿¾Ê¤¹¤ë½¬´·¤ò¿È¤ËÉÕ¤±¤¿¤¤¤â¤Î¤Ç¤¹¡£

¤Á¤Ê¤ß¤Ë»ä¤ÏÂç³ØÀ¸¤Î»þ¡¢ÎÙ¤ÎÍý³ØÉô¤Î¿ô³Ø²Ê¤Ø½Ð¤«¤±¤Æ¤¤¤Ã¤Æ¡¢ ¤Ê¤ó¤È¤«Íý²ò¤·¤è¤¦¤È¤µ¤ó¤¶¤ó¶ì¤·¤ó¤Àµó¤²¶ç¡¢ ¤É¡¼¤·¤Æ¤â¡Öʬ¤«¤Ã¤¿¤Ä¤â¤ê¡×¥ì¥Ù¥ë¤«¤é椹¤ë¤³¤È¤¬¤Ç¤­¤º¤Ë ¼«¿È¤ÎÍý²òÎϤ賦¤òÃΤë·Ð¸³¤ò¤·¤Þ¤·¤¿¡£

¤¤¤Á¤ª¡¼¤½¤Îñ°Ì¤Ï¼è¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¿ô³Ø¼Ô¤Ë¤Ê¤ë¤³¤È¤Ï¤¢¤­¤é¤á¤Æ ¾ðÊ󹩳ؤËÀìǰ¤·¤è¤¦¤È»×¤Ã¤¿¤Î¤Ç¤·¤¿¡£


ÀèÆü¡¢KLab ¤Î¥¨¥ó¥¸¥Ë¥¢¤Î T ¤µ¤ó¤¬¡¢ KLab ¼ÒÆâ ML ¤Ç¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ÎËܤò¾Ò²ð¤·¤Þ¤·¤¿¡£

º£½µ¤Î¥Þ¡¼¥±¥Æ¥£¥ó¥°ËÜ¡§¡Ö¥Þ¡¼¥±¥Æ¥£¥ó¥° / ²¸Â¢Ä¾¿Í¡×
»ä¤¬¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ò³Ø¤ó¤À¤È¤­¤Î»Õ¤«¤é¾Ò²ð¤µ¤ì¤¿ËÜ¡£ ÆþÌç½ñ¤È¤·¤ÆÆÉ¤à¤Î¤âÎɤ¤¤Ç¤¹¤¬¡¢ÌÖÍåŪ¤«¤ÄÂηÏŪ¤ËÅ»¤á¤é¤ì¤Æ¤ª¤ê¡¢ ¥Þ¡¼¥±Ç¾¤òÀ°Íý¡¦»É·ã¤¹¤ë¤Î¤Ë¤âŬ¤·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£ Åż֤ÎÃæ¤Ç¤âÆÉ¤ß¤ä¤¹¤¤Ê¸¸Ë¥µ¥¤¥º¡£

¤µ¤Ã¤½¤¯Çã¤Ã¤ÆÆÉ¤ó¤Ç¤ß¤Þ¤·¤¿¡£ ÌÖÍåŪ¤Ëʬ¤«¤ê¤ä¤¹¤¯ÀâÌÀ¤·¤Æ¤¢¤ë¤Î¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤òÀìÌç¤È¤·¤Ê¤¤¿Í¤Ë¤â¤¤¤¤ËܤǤ¹¤Í¡£ ¤½¤³¤Ç¡¢»ä¤â¿äÁ¦Ê¸¤ò tech ML (KLab µ»½Ñ¼Ô ML) ¤Ë½ñ¤­¤Þ¤·¤¿:

- o -

T ¤µ¤ó¥ª¥¹¥¹¥á¤Î¥Þ¡¼¥±ËܤòÇ㤤¤Þ¤·¤¿¡£ ¤³¤ÎËܤ˽ñ¤¤¤Æ¤¢¤ë»ö¤¯¤é¤¤¤Ï¡¢ ¤­¤Á¤ó¤È²¡¤¨¤Æ¤ª¤¯¤È¡¢ µ»½Ñ¼Ô°Ê³°¤Î¿Í¤ÈÏä¹»þ¤ËÌòΩ¤Ä¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£

¤Ä¤Þ¤ê¡¢µ»½Ñ¼Ô¡¢´ë²è¼Ô¡¢¥Þ¡¼¥±¥¿¡¼¡¢¥»¡¼¥ë¥¹¡¢ ²ñ¼Ò¤Ç¤Ï¤¤¤í¤ó¤Ê¿Í¤¬¶È̳¤òʬô¤·¤Æ»Å»ö¤ò¿Ê¤á¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¶¦Ä̸À¸ì¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤È°Õ»×ÁÂÄ̤¬¤¦¤Þ¤¯ ¤¤¤«¤Ê¤¯¤Æ»Å»ö¤¬¥¹¥à¡¼¥º¤Ë¿Ê¤ß¤Þ¤»¤ó¤è¤Í¡©

¤Ç¡¢¶¦Ä̸À¸ì¤È¤¤¤¦¤«¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ò¾¯¤·¤Ç¤â¶¦Í­¤¹¤ë¤¿¤á¤Ë¡¢ ¤ª¸ß¤¤¤ÎʬÌî¤Î´ðÁÃŪ¤ÊÉôʬ¤¯¤é¤¤¤Ï¡¢ÌÖÍåŪ¤Ë²¡¤¨¤Æ¤ª¤¯»ö¤¬½ÅÍפǤ¹¤Í¡£

¤Ê¤Î¤Ç¡¢µ»½Ñ¼Ô¤³¤½¡¢¤³¤¦¤¤¤¦¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðÁäòÌÖÍåŪ¤Ë²òÀ⤷¤¿Ëܤò ÆÉ¤à¤Ù¤­¤À¤È»×¤¤¤Þ¤¹¡£ ¸å¤Û¤ÉËÜê¤ËÃÖ¤¤¤Æ¤ª¤­¤Þ¤¹¤Î¤Ç¡¢À§ÈóÆÉ¤ó¤Ç²¼¤µ¤¤¡£

# ¿¿¤ÃÀè¤ËÆÉ¤ß¤¿¤¤¡¢¤È¤¤¤¦¿Í¤Ï»ä¤¬ËÜê¤ËÃÖ¤¯Á°¤Ë¼è¤ê¤ËÍè¤Æ¤Í¡£

- o -

¤È¤¤¤¦¥á¡¼¥ë¤ò tech ML ¤Ëή¤·¤¿Ä¾¸å¡¢ KLab¥»¥­¥å¥ê¥Æ¥£¤Î Windows ¥×¥í¥°¥é¥ß¥ó¥°¤¬ÆÀ°Õ¤Ê S ¤µ¤ó¤¬¼è¤ê¤ËÍè¤Þ¤·¤¿¡£ Èà¤ÏÆüº¢¡¢¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Ê¿Í㤫¤é̵ÍýÆñÂê ;) ¤ò²¡¤·¤Ä¤±¤é¤ì¤Æ º¤¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðÁäò³Ø¤Ö¤³¤È¤Ï¤­¤Ã¤ÈÌò¤Ë¤¿¤Ä¤³¤È¤Ç¤·¤ç¤¦¡£

¤³¤¦¤¤¤¦ËܤòÆÉ¤ó¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤È¤Ï¤½¤â¤½¤â¤É¤ó¤Ê¤³¤È¤Ê¤Î¤«ÃΤäƤª¤«¤Ê¤¤¤È¡¢ Ʊ¤¸¥×¥í¥¸¥§¥¯¥È¤Ç°ì½ï¤ËƯ¤¤¤Æ¤¤¤ë¥Þ¡¼¥±Ã´Åö¤Ê¿Í¤¬¡¢ ¥Þ¡¼¥±¥¿¤È¤·¤Æ¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¿Í¤Ê¤Î¤«¡¢ ¤¢¤ë¤¤¤Ï¥À¥á¤Ê¿Í¤«Ê¬¤«¤ê¤Þ¤»¤ó¤è¤Í¡©

Ʊν¤¬Í¥½¨¤Ê¥Þ¡¼¥±¥¿¤Ê¤é¡¢ ¤½¤Î¿Í¤Î¸À¤¦»ö¤ò¿®¤¸¤Æ³«È¯Êý¿Ë¤ò·è¤á¤Æ¤«¤Þ¤ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¤½¤¦¤Ç¤Ê¤¤¥Þ¡¼¥±¥¿¤Î¾ì¹ç¤Ï¡¢ ¸À¤¦»ö¤ò±­ÆÝ¤ß¤Ë¤¹¤ë¤Î¤Ï´í¸±¤Ç¤¹¤è¤Í¡© ¿®¤¸¤ë¼Ô¤Ï­¤ò¤¹¤¯¤ï¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ ¤½¤¦¤¤¤¦¾ì¹ç¤Ï¡¢±­ÆÝ¤ß¤Ë¤»¤º¤Ë¡¢ ¾¤Î¿Í¤Î°Õ¸«¤òʹ¤¯¤Ê¤ê¡¢¼«Ê¬¤Ç¹Í¤¨¤ë¤Ê¤ê¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£

¤¢¤ë¤¤¤ÏΩ¾ì¤òµÕ¤Ë¤·¤Æ¹Í¤¨¤Æ¤ß¤ë¤Èʬ¤«¤ê¤ä¤¹¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£

Î㤨¤Ð¡¢µ»½Ñ¤Î»ö¤¬Á´¤¯Ê¬¤«¤é¤Ê¤¤¿Í¤¬¡¢ µ»½Ñ¼Ô¤Ë³«È¯¤ò°ÍÍê¤ò¤¹¤ë¤È¤­¡¢ ¤½¤Îµ»½Ñ¼Ô¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¿Í¤«Ê¬¤«¤é¤Ê¤¤¤È¡¢ ¤½¤Î¿Í¤¬¡û½µ´Ö¤Ç³«È¯¤Ç¤­¤ë¡¢ ¤È¤¤¤¦¸ÀÍÕ¤ò¿®¤¸¤Æ¤¤¤¤¤Î¤«Îɤ¯¤Ê¤¤¤Î¤«È½ÃǤǤ­¤Þ¤»¤ó¤è¤Í¡© ¤Ç¤­¤ë¡¢¤È¸À¤Ã¤¿¤«¤é¿®¤¸¤¿¤Î¤Ë¡Á¡¢¤È¸À¤Ã¤Æ¤â¸å¤Îº×¤Ç¤¹¡£

¤À¤«¤éµ»½Ñ¼Ô¤Ç¤Ê¤¤¿Í¤â¡¢ Áê¼ê¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Êµ»½Ñ¼Ô¤«È½ÃǤǤ­¤ëÄøÅ٤ˤϡ¢ µ»½Ñ¤Î´ðËܤòÌÖÍåŪ¤Ë²¡¤¨¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤·¡¢ ¤½¤ÎµÕ¤Ë¡¢¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ÎÀìÌç²È¤Ç¤Ê¤¤¿Í¤â¡¢ Áê¼ê¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¥Þ¡¼¥±¥¿¡¼¤«È½ÃǤǤ­¤ëÄøÅ٤ˤϡ¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðËܤòÌÖÍåŪ¤Ë²¡¤¨¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡¢ ¤Ã¤Æ¤³¤È¤À¤È»×¤¤¤Þ¤¹¡£


Á°¡¹²ó(3)¡¢ Á°²ó(4) ¤È¡¢ ¾¿Í¤Î DB ¥Ñ¥¹¥ï¡¼¥É¤òÃΤ俥桼¥¶¤¬¡¢ ¤½¤Î¿Í¤Ë¤Ê¤ê¤¹¤Þ¤·¤Æ DB ¤Ë¥í¥°¥¤¥ó¤·¤è¤¦¤È¤·¤Æ¤â DB¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò¼×ÃǤ¹¤ë»Å³Ý¤±¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£ (3) ¤Ï¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¡¢(4) ¤Ï¥µ¡¼¥Ð¦¤Ç¡¢ ¤½¤ì¤¾¤ì DB¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¡¢ UNIX ¥æ¡¼¥¶Ì¾¤È¡¢DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤ÏÄÌ¿®¤ò¼×ÃǤ·¤Þ¤¹¡£

DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤«¤é DB ¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ëÊýË¡¤Ï¡¢ DB ¥µ¡¼¥Ð¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤Î¤Ç¡¢ ÀìÍѤΤâ¤Î¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢ º£²ó¤Ï¤½¤Î°ìÎã¤È¤·¤Æ MySQL 4.0.x ¤Î¾ì¹ç¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤ç¤¦¡£

MySQL ¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¤·¡¢ ³«È¯¼Ô¸þ¤±¤Ë¤Ï¥×¥í¥È¥³¥ë»ÅÍͽñ¤â¤¢¤ë¤è¤¦¤Ê¤Î¤Ç¡¢ ¥¯¥é¥¤¥¢¥ó¥È¡Ý¥µ¡¼¥Ð´ÖÄÌ¿®¤ò´°Á´¤Ë²òÀϤ¹¤ë¤³¤È¤â²Äǽ¤Ê¤Î¤Ç¤¹¤¬¡¢ DB¥æ¡¼¥¶Ì¾¤ò¼è¤ê½Ð¤¹ÄøÅ٤ʤéÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤¹¤ë¤À¤±¤Ç¤â ¼è¤ê½Ð¤·Êý¤¬¿ä¬¤Ç¤­¤Þ¤¹¡£

¤Þ¤º¤Ï¼ê»Ï¤á¤ËÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤É¤ó¤Ê¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢ ¤³¤³¤Ç¤ÏÀÛºî stone ¤ò»È¤Ã¤Æ¤ß¤Þ¤¹¡£ ŬÅö¤Ê¥Ý¡¼¥È¤Ç listen ¤·¡¢ ¤½¤ì¤ò MySQL ¥µ¡¼¥Ð¤ØÃæ·Ñ¤·¤Ä¤Ä¡¢ ÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤¹¤ë¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ Î㤨¤Ð¡¢12345È֥ݡ¼¥È¤Ç listen ¤·¡¢ ¡Ö-ppp¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤µ¤»¡¢ ¥Û¥¹¥È¡Ödbserver¡×¤Î 3306È֥ݡ¼¥È¤ØÃæ·Ñ¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£

stone -ppp dbserver:3306 12345

¤½¤·¤Æ¡¢MySQL ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë mysql ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ MySQL ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ëÂå¤ï¤ê¤Ë¡¢ stone ¤¬ listen ¤¹¤ë 12345È֥ݡ¼¥È¤ËÀܳ¤µ¤»¤Þ¤·¤ç¤¦¡£

mysql -P12345 -h127.0.0.1 -usengoku -pabcdefg

DB ¥æ¡¼¥¶Ì¾¡Ösengoku¡×¡¢¥Ñ¥¹¥ï¡¼¥É¡Öabcdefg¡×¤ÇÀܳ¤·¤Þ¤¹¡£ ¤³¤Î»þ¡¢stone ¤Î½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:

% stone -ppp dbserver:3306 12345
Apr  7 07:04:45.525293 16384 start (2.3a) [19635]
Apr  7 07:04:45.530733 16384 stone 3: senri.gcd.org:3306 <- 0.0.0.0:12345
Apr  7 07:05:03.405877 16384 stone 3: accepted TCP 5 from 127.0.0.1:37758 mode=3
Apr  7 07:05:03.417693 16384 3 5<6 34 00 00 00 0a 34 2e 30  4....4.0
Apr  7 07:05:03.417785 16384 3 5<6 2e 32 35 2d 73 74 61 6e  .xx-stan
Apr  7 07:05:03.417802 16384 3 5<6 64 61 72 64 2d 6c 6f 67  dard-log
Apr  7 07:05:03.417813 16384 3 5<6 00 e8 7e 00 00 2d 3a 79  ..~..-:y
Apr  7 07:05:03.417823 16384 3 5<6 75 5e 58 7e 31 00 2c 20  u^X~1.,
Apr  7 07:05:03.417833 16384 3 5<6 0c 02 00 00 00 00 00 00  ........
Apr  7 07:05:03.417844 16384 3 5<6 00 00 00 00 00 00 00 00  ........
Apr  7 07:05:03.418337 16384 3 5>6 15 00 00 01 85 24 00 00  .....$..
Apr  7 07:05:03.418374 16384 3 5>6 00 73 65 6e 67 6f 6b 75  .sengoku
Apr  7 07:05:03.418385 16384 3 5>6 00 53 4d 5c 4a 55 53 49  .SM\JUSI
Apr  7 07:05:03.418393 16384 3 5>6 57                       W
Apr  7 07:05:03.418643 16384 3 5<6 05 00 00 02 00 00 00 02  ........
Apr  7 07:05:03.418671 16384 3 5<6 00                       .

³Æ¹Ô»Ï¤á¤Î¡ÖApr 7 07:04:45.525293¡×¤Ï»þ¹ï¤Ç¡¢¥Þ¥¤¥¯¥íÉÃñ°Ì¤Çɽ¼¨¤·¤Æ¤¤¤Þ¤¹ (¥Þ¥¤¥¯¥íÉÃñ°Ì¤Þ¤Çɽ¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ï stone 2.3a ¤«¤é¤Ç¤¹)¡£ ¼¡¤Î¡Ö16384¡×¤Ï¥¹¥ì¥Ã¥ÉID ¤Ç¤¹¤¬¡¢º£²ó¤Ï̵»ë¤·¤Æ¤â¤é¤Ã¤Æ¹½¤¤¤Þ¤»¤ó¡£ ºÇ½é¤Î»°¹Ô¤Ï stone ¤Î¥í¥°¤Ê¤Î¤Ç̵»ë¤¹¤ë¤È¤·¤Æ¡¢ ¼¡¤ÎÉôʬ¤¬ MySQL ¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤ì¤¿ÄÌ¿®ÆâÍÆ¤Ç¤¹¡£ ¡Ö5<6¡×¤¬¡¢¥µ¡¼¥Ð¢ª¥¯¥é¥¤¥¢¥ó¥ÈÊý¸þ¤ÎÄÌ¿®¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£

Apr  7 07:05:03.417693 16384 3 5<6 34 00 00 00 0a 34 2e 30  4....4.0
Apr  7 07:05:03.417785 16384 3 5<6 2e 32 35 2d 73 74 61 6e  .xx-stan
Apr  7 07:05:03.417802 16384 3 5<6 64 61 72 64 2d 6c 6f 67  dard-log
Apr  7 07:05:03.417813 16384 3 5<6 00 e8 7e 00 00 2d 3a 79  ..~..-:y
Apr  7 07:05:03.417823 16384 3 5<6 75 5e 58 7e 31 00 2c 20  u^X~1.,
Apr  7 07:05:03.417833 16384 3 5<6 0c 02 00 00 00 00 00 00  ........
Apr  7 07:05:03.417844 16384 3 5<6 00 00 00 00 00 00 00 00  ........

MySQL ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤é¤·¤­¤â¤Î¤¬Á÷¤é¤ì¤Æ¤¤¤ëÍͻҤ¬Ê¬¤«¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¤ÎÌÜŪ¤Ï DB ¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ë¤³¤È¤Ç¤¢¤ê¡¢ DB ¥æ¡¼¥¶Ì¾¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤ËÁ÷¤é¤ì¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢ ¥µ¡¼¥Ð¢ª¥¯¥é¥¤¥¢¥ó¥ÈÊý¸þ¤ÎÄÌ¿®¤Ï̵»ë¤·¤Æ¤·¤Þ¤Ã¤Æ¤â¹½¤ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ÀèÆ¬¤Î¡Ö34 00¡×¤Ë¤ÏÃíÌܤ·¤Æ¤ª¤¤¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤Î¼ê¤Î¥¯¥é¥¤¥¢¥ó¥È¡Ý¥µ¡¼¥Ð´Ö¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢ ÀèÆ¬¤Ë¤³¤ì¤«¤éÁ÷¤ë¥Ç¡¼¥¿¤ÎŤµ¤òÁ÷¿®¤¹¤ë¤³¤È¤¬°ìÈÌŪ¤À¤«¤é¤Ç¤¹¡£ ¼ÂºÝ¡¢¡Ö34 00¡×¤Ï½½¿Ê¿ô¤Ç¸À¤¦¤È 52 ¤Ç¤¹¤¬¡¢ ¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤ì¤¿¥Ç¡¼¥¿¤Ï 56 ¥Ð¥¤¥È¤Ê¤Î¤Ç¡¢ ÀèÆ¬ 2 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿Ä¹¡¢¼¡¤Î 2 ¥Ð¥¤¥È¡Ö00 00¡×¤¬¥Ç¡¼¥¿¤Î¼ïÊÌ¡¢ »Ä¤ê¤Î 52 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿¤À¤í¤¦¡¢¤È¿ä¬¤Ç¤­¤Þ¤¹¡£

³¤¯Éôʬ¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ØÁ÷¤é¤ì¤¿ÄÌ¿®ÆâÍÆ¤Ç¤¹¡£ ¡Ö5>6¡×¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤ÎÄÌ¿®¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£

Apr  7 07:05:03.418337 16384 3 5>6 15 00 00 01 85 24 00 00  .....$..
Apr  7 07:05:03.418374 16384 3 5>6 00 73 65 6e 67 6f 6b 75  .sengoku
Apr  7 07:05:03.418385 16384 3 5>6 00 53 4d 5c 4a 55 53 49  .SM\JUSI
Apr  7 07:05:03.418393 16384 3 5>6 57                       W

ÀèÆ¬ 2 ¥Ð¥¤¥È¡Ö15 00¡×¤¬¥Ç¡¼¥¿Ä¹¤Ç¤¢¤ë¤È²¾Äꤷ¤Æ¤ß¤Þ¤¹¡£ ½½¿Ê¿ô¤Ç¸À¤¦¤È 21 ¤Ç¡¢ ¥Ç¡¼¥¿¼ïÊ̤ȿ䬤µ¤ì¤ë 2 ¥Ð¥¤¥È¥Ç¡¼¥¿¡Ö00 01¡×¤Î¸å¤Ë 21 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤¬Â³¤¤¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¥Ç¡¼¥¿¤ÎÃæ¤ËÌÀ¤é¤«¤Ë DB ¥æ¡¼¥¶Ì¾¤È»×¤ï¤ì¤ëʸ»úÎó¡Ösengoku¡×¤È ¤½¤Î¥Ç¥ê¥ß¥¿¤È»×¤ï¤ì¤ë¡Ö00¡×¤¬¤¢¤ê¤Þ¤¹¡£ ³¤¯ 8 ¥Ð¥¤¥È¤Ï¥Ñ¥¹¥ï¡¼¥É¤È¿ä¬¤Ç¤­¤Þ¤¹¡£ DB ¥æ¡¼¥¶Ì¾¤ÎÁ°¤Î 5 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¡Ö85 24 00 00 00¡×¤Ï¡¢ ¸ÇÄêĹ¤Î¥Ç¡¼¥¿¤È¿ä¬¤Ç¤­¤ë¤Î¤Ç¡¢ DB¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ë¤Ë¤Ï¡¢ ¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤Î¥Ç¡¼¥¿¤Î¤¦¤Á¡¢ ºÇ½é¤«¤é 10 ¥Ð¥¤¥ÈÌܤ«¤é¡Ö00¡×¤Þ¤Ç¤ò¼è¤ê½Ð¤»¤ÐÎɤµ¤½¤¦¤Ç¤¹¡£

¤â¤Á¤í¤ó¼ÂºÝ¤Ë±¿ÍѤ¹¤ëºÝ¤Ï¡¢MySQL ¤Î¥½¡¼¥¹¤Ê¤¤¤·¥×¥í¥È¥³¥ë»ÅÍͽñ¤ò »²¾È¤·¤Æ³Î¼Â¤ò´ü¤¹¤ë¤Ù¤­¤Ç¤¹¤¬¡¢ ¥×¥í¥È¥³¥ë»ÅÍͤ¬¸ø¼°¤Ë¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤ DB ¥µ¡¼¥Ð¤Î¾ì¹ç¤Ç¤â¡¢

  • DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥í¥°¤Ë½ÐÎϤ·¤¿¾å¤ÇÄÌ¿®¤òÍÆÇ§
  • DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤¿¤¬¡¢¤½¤Î DB ¥æ¡¼¥¶Ì¾¤¬ DB ¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥í¥°¤Ë½ÐÎϤ·¤¿¾å¤ÇÄÌ¿®¤òÍÆÇ§
  • DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤Æ¡¢¤«¤Ä¤½¤Î DB ¥æ¡¼¥¶Ì¾¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢ ¼è¤ê½Ð¤·¤¿ DB ¥æ¡¼¥¶Ì¾¤¬Àµ¤·¤¤¤â¤Î¤È¤·¤Æ°·¤¤¡¢ÄÌ¿®¤Îµö²Ä/¼×ÃǤò¹Ô¤Ê¤¦

¤Ê¤É¤È¡¢DB ¥æ¡¼¥¶Ì¾¤òÀµ¤·¤¯¼è¤ê½Ð¤»¤Ê¤«¤Ã¤¿¤È»×¤ï¤ì¤ë¤È¤­¤Ï ¤È¤ê¤¢¤¨¤ºÄÌ¿®¤òÍÆÇ§¤·¤Æ¤ª¤¤¤Æ¡¢ ¸å¤Û¤É DB ¥æ¡¼¥¶Ì¾¤ÎÃê½ÐÊýË¡¤ò²þÄû¤¹¤ë¡¢¤È¤¤¤¦±¿ÍѤ¬²Äǽ¤Ç¤·¤ç¤¦¡£

¤Ê¤ª¡¢MySQL ¤Î¾ì¹ç¤ÏÁ°½Ò¤·¤¿¤è¤¦¤Ë¸ø¼°¤Ê¥×¥í¥È¥³¥ë»ÅÍͽñ¤â¤¢¤ê¤Þ¤¹¤·¡¢ Ian Redfern »á¤¬¥½¡¼¥¹¤ò²òÀϤ·¤ÆºîÀ®¤·¤¿¥×¥í¥È¥³¥ë¤Î²òÀ⤬ °Ê²¼¤Î¥Ú¡¼¥¸¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

MySQL Protocol (MySQL 3.22 ¡Á 4.0)
http://www.redferni.uklinux.net/mysql/MySQL-323.html
MySQL Protocol (MySQL 4.1)
http://www.redferni.uklinux.net/mysql/MySQL-Protocol.html

Á°²ó¤Ï¡¢ DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¤Æ¡¢ UNIX ¤Ç¤Î¥æ¡¼¥¶¸¢¸Â¤È DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ¹¤ë»þ¤Ë¸Â¤ê ÄÌ¿®¤òµö²Ä¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£

¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ë¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Þ¥·¥ó¤Ê¤é¤Ð¡¢ ¤É¤Î¥æ¡¼¥¶¤¬¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¤«ÍưפËÄ´¤Ù¤é¤ì¤ë¤Î¤Ç¡¢ ÄÌ¿®¤Î´Æ»ë¤â¥¢¥¯¥»¥¹¸µ¤Ç¹Ô¤Ê¤Ã¤¿Êý¤¬´Êñ¤Ç¤¹¡£

¤·¤«¤·¤Ê¤¬¤é¤³¤ÎÊýË¡¤Ç¤Ï¡¢ ¥Ç¡¼¥¿¥»¥ó¥¿Æâ¤ÎÁ´¤Æ¤Î¥µ¡¼¥Ð¤ÇÄÌ¿®¤Î´Æ»ë¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ ¤ä¤äÈË»¨¤Ç¤¹¡£ ¤Þ¤¿¡¢UNIX ¤Ç¤Î¥æ¡¼¥¶¸¢¸Â¤´¤È¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤ò ¼Â¸½¤¹¤ëÊýË¡¤È¤·¤Æ¡¢ Á°²ó¤Ï³Æ¥æ¡¼¥¶¤´¤È¤ËÀìÍѤΠUNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤òÍѰդ·¡¢ ¤½¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÀßÄê¤Ç¥³¥ó¥È¥í¡¼¥ë¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Þ¤·¤¿¤¬¡¢ ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é DB ¥¢¥¯¥»¥¹¤ò¹Ô¤¦¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤Î´Æ»ë¤ò¥¢¥¯¥»¥¹Àè¡¢ ¤Ä¤Þ¤ê DB ¥µ¡¼¥Ð¡¼Â¦¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Ï´Æ»ë¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ò°Õ¼±¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤êÁ°²óÀâÌÀ¤·¤¿¡ÖÆþ¸ýµ¬À©¡×¤Ë¤è¤ë¥¢¥¯¥»¥¹À©¸Â¤Ç¤¹¤Í¡£ ¥¯¥é¥¤¥¢¥ó¥È¦¤«¤é¸«¤ì¤Ð¡¢ ÉáÄÌ¤Ë DB¥µ¡¼¥Ð¤Ø TCP Àܳ¤¹¤ë¤À¤±¤Ê¤Î¤Ç¡¢ ¤É¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ç¤âÍøÍѲÄǽ¤Ç¤·¤ç¤¦¡£

¤³¤ÎÆþ¸ýµ¬À©¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢ ¤É¤Î¥æ¡¼¥¶¸¢¸Â¤Ç¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬Æ°¤¤¤Æ¤¤¤ë¤Î¤«¡¢ DB ¥µ¡¼¥Ð¦¤«¤éÄ´¤Ù¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢TCP Àܳ¤Ç¤Ï¥µ¡¼¥Ð¦¤ÏÁ÷¤é¤ì¤Æ¤­¤¿ ¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ë¤À¤±¤Ê¤Î¤Ç¡¢ ¤½¤Î¥Ñ¥±¥Ã¥È¤ò郎Á÷¿®¤·¤¿¤«¤Þ¤Ç¤Ï´ØÃΤ·¤Þ¤»¤ó¡£ ¤½¤³¤Ç¡¢ÄÌ¿®Áê¼ê¤¬Ã¯¤Ê¤Î¤«Ä´¤Ù¤ëÊýË¡¤òÄê¤á¤¿¤Î¤¬¡¢ RFC1413 ¤ÇÄ󰯤µ¤ì¤¿ IDENT ¥×¥í¥È¥³¥ë¤Ç¤¹¡£ IDENT ¥×¥í¥È¥³¥ë¤Ï¡¢ ¼õ¤±¼è¤Ã¤¿ TCP ¥Ñ¥±¥Ã¥È¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë Á÷¿®¸µ¤Î IP ¥¢¥É¥ì¥¹¤È¥Ý¡¼¥ÈÈÖ¹æ¤ò¼ê¤¬¤«¤ê¤Ë¡¢ Áê¼ê¤¬Ã¯¤«¥¯¥é¥¤¥¢¥ó¥È¦¤ØÌ䤤¹ç¤ï¤»¤Þ¤¹¡£

IDENT ¥×¥í¥È¥³¥ë¤Ï¡¢¤¢¤Þ¤ê»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤Æµ×¤·¤¤¤Î¤Ç¡¢ ¤Þ¤º´Êñ¤Ë¾Ò²ð¤·¤Þ¤·¤ç¤¦¡£

¥Û¥¹¥È CLIENT ¤«¤é¥Û¥¹¥È SERVER ¤Î 12345È֥ݡ¼¥È¤Ø¥¢¥¯¥»¥¹¤·¤¿ ¾ì¹ç¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Þ¤¹¡£ ¤½¤ÎÀܳ¾õ¶·¤Ï¼¡¤Î¤è¤¦¤Ë netstat ¥³¥Þ¥ó¥É¤Ê¤É¤Ç³Îǧ¤Ç¤­¤Æ¡¢

SERVER % netstat
Proto Recv-Q Send-Q  Local Address  Foreign Address  State
tcp        0      0  SERVER:12345   CLIENT:45486     ESTABLISHED

¤³¤Î¾ì¹ç¤À¤È¡¢CLIENT ¤Î 45486È֥ݡ¼¥È¤«¤é SERVER ¤Î 12345È֥ݡ¼¥È¤Ø¤Î TCP Àܳ¤¬³ÎΩ¤·¤Æ¤¤¤ë (ESTABLISHED) ¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£

¤³¤Î¤È¤­¡¢SERVER ¤Ï CLIENT ¤Ë IDENT Ìä¹ç¤»¤ò¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ CLIENT ¤Î¤É¤Î¥æ¡¼¥¶¤¬ TCP Àܳ¤ÎÁê¼ê¤«Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

SERVER % telnet CLIENT 113
Connected to CLIENT.
45486,12345                                 ¡Ä (1)
45486 , 12345 : USERID : OTHER :sengoku     ¡Ä (2)
Connection closed by foreign host.

(1) ¤¬ SERVER ¤«¤é CLIENT ¤Ø¤ÎÌä¹ç¤»¤Ç¡¢ Á÷¼õ¿®ÁÐÊý¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ÎÂФòÁ÷¿®¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤ËÂФ·¡¢(2) ¤¬ CLIENT ¤«¤é SERVER ¤Ø¤Î±þÅú¤Ç¡¢ TCP Àܳ¤ÎÁê¼ê¤¬¡Ösengoku¡×¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤·¤¿¡£

¤³¤Î¤è¤¦¤Ë¡¢ÄÌ¿®Áê¼ê¤¬Ã¯¤«¼ê·Ú¤Ë³Îǧ¤Ç¤­¤ëÊØÍø¤Ê¥×¥í¥È¥³¥ë¤Ê¤Î¤Ç¤¹¤¬¡¢ Áê¼ê¥Û¥¹¥È¤¬¿®ÍѤǤ­¤Ê¤±¤ì¤ÐÅöÁ³ IDENT ±þÅú¤â¿®¤¸¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ ÉÔÆÃÄê¿¿ô¤Î¥Û¥¹¥È¤«¤é¤ÎÄÌ¿®¤ò¼õ¤±ÉÕ¤±¤ë¾ì¹ç¤Ï¡¢ IDENT Ìä¹ç¤»¤ò¹Ô¤Ê¤Ã¤Æ¤â¡ÖÀµÄ¾¤Ê¡×±þÅú¤¬Ê֤äƤ¯¤ë¤È¤Ï´üÂԤǤ­¤Ê¤¤¤ï¤±¤Ç¡¢ ¾¯¤Ê¤¯¤È¤â¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ç¤Ï¤¢¤Þ¤ê»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤Ç¤¹¡£

¤·¤«¤· ¥Ç¡¼¥¿¥»¥ó¥¿¤Î¥é¥Ã¥¯Æâ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ ÅöÁ³´ÉÍý¼Ô¤¬·è¤Þ¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤«¤é¡¢ Á´¤Æ¤Î¥µ¡¼¥Ð¤ÇÀµ¤·¤¯ IDENT ±þÅú¤òÊÖ¤¹¤è¤¦¤ËŰÄ줹¤ë¤³¤È¤ÏÍÆ°×¤Ç¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ IDENT ¥×¥í¥È¥³¥ë¤ò»È¤Ã¤¿Æþ¸ýµ¬À©¤ò¼Â»Ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¤Þ¤º DB ¥µ¡¼¥Ð¤ò¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ç¤Î¤ß¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë ¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ ¤³¤Î¥½¥±¥Ã¥È¤Ï¡¢local ¥æ¡¼¥¶¤¬¾¡¼ê¤Ë¥¢¥¯¥»¥¹¤·¤¿¤ê¤·¤Ê¤¤¤è¤¦¡¢ DB ¥µ¡¼¥Ð¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¸¢¸Â¤Ç¤Î¤ßÆÉ¤ß½ñ¤­¤Ç¤­¤ë¤è¤¦¤Ë ÀßÄꤷ¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£

¼¡¤Ë¡¢ÆÃÄê¤Î¥Ý¡¼¥È¤Ç listen ¤·¡¢Àܳ¤ò¼õ¤±ÉÕ¤±¤¿¤é ¤³¤Î UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ØÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à¤ò¡¢ DB ¥µ¡¼¥Ð¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¤ÈƱ¤¸¥æ¡¼¥¶¸¢¸Â¤ÇÁö¤é¤»¤Þ¤¹¡£ ¤³¤ÎÃæ·Ñ¥×¥í¥°¥é¥à¤Ï¡¢ Ãæ·Ñ¤¹¤ëºÝ¤ËÀܳ¸µ¥Û¥¹¥È¤ËÂФ·¤Æ IDENT Ìä¹ç¤»¤ò¹Ô¤Ê¤¤¡¢ IDENT ±þÅú¤ÇÆÀ¤¿¥æ¡¼¥¶Ì¾¤È¡¢ ÄÌ¿®¤ò´Æ»ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ DB ¥æ¡¼¥¶Ì¾¤¬ °ìÃפ·¤Ê¤¤¾ì¹ç¤ÏÄÌ¿®¤ò¼×ÃǤ¹¤ë¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£

¤³¤Î¤è¤¦¤Ê»Å³Ý¤±¤Ë¤è¤ê¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥æ¡¼¥¶¤Ï¡¢ »Å³Ý¤±¤ò°Õ¼±¤¹¤ë¤³¤È¤Ê¤¯ DB ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤·¤Æ¡¢ ²¿¤«¤Î¤Ï¤º¤ß¤ËÊ̤ΠDB¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤꡢ ¤½¤Î DB¥æ¡¼¥¶¤Ë¤Ê¤ê¤¹¤Þ¤·¤Æ¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤Æ¤â ÄÌ¿®¤Ï¼×ÃǤµ¤ì¤Þ¤¹¡£


°ìÈ̤ˡ¢¥Þ¥·¥ó C ¤«¤é¥Þ¥·¥ó S ¤Ø¤Î¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¡¢

(IN) ¥Þ¥·¥ó S ¤Ç¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¤È¤³¤í¤ÇÀ©¸Â¤¹¤ë¡ÖÆþ¸ýµ¬À©¡×
(OUT) ¥Þ¥·¥ó C ¤Ç¥¢¥¯¥»¥¹¤ò½Ð¤¹¤È¤³¤í¤ÇÀ©¸Â¤¹¤ë¡Ö½Ð¸ýµ¬À©¡×

¤Î2Ä̤ê¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£°ìÈ̤˥¢¥¯¥»¥¹À©¸Â¤È¤¤¤¦¤È (IN) ¤ÎÆþ¸ýµ¬À©¤òÍѤ¤¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤Ï¥¢¥¯¥»¥¹¤ò½Ð¤¹¥Þ¥·¥ó¤¬ÆÃÄê¤Ç¤­¤Ê¤¤¤«¡¢ ¤¢¤ë¤¤¤ÏÆÃÄê¤Ï¤Ç¤­¤ë¤Î¤À¤±¤É¥Þ¥·¥ó¤Î¿ô¤Ê¤¤¤·¼ïÎब¿²á¤®¤ë¤¿¤á¤Ç¤¹¡£

Î㤨¤Ð¡¢¥Þ¥·¥ó S ¤Ø¤Î¥í¥°¥¤¥ó¤òÀ©¸Â¤·¤¿¤¤¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ °ìÈÌŪ¤Ë¤Ï¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ê¤¦¤ë¥Þ¥·¥ó¤ÏÆÃÄê¤Ç¤­¤Ê¤¤¤«¡¢ ÆÃÄê¤Ç¤­¤¿¤È¤·¤Æ¤â¿ô¤¬Â¿¤¤¤Ç¤·¤ç¤¦¤·¡¢ ¤½¤Î¥Þ¥·¥ó¤Çư¤¯ OS ¤Î¼ïÎà¤â¿¼ï¿ÍͤǤ·¤ç¤¦¡£ ¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ê¤¦¤ë¥Þ¥·¥ó¤ÎÁ´¤Æ¤Ç¡¢ ¥¢¥¯¥»¥¹¤ò½Ð¤¹¤³¤È¤òÀ©¸Â¤·¤è¤¦¤È¤¹¤ë¤Î¤ÏÈ󸽼ÂŪ¤Ç¤¹¡£ ¤Ê¤Î¤ÇÉáÄ̤ϥ¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¦¤Î¥Þ¥·¥ó S ¤Ç ¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤ò¹Ô¤Ê¤Ã¤Æ¥¢¥¯¥»¥¹À©¸Â¤ò¤·¤Þ¤¹¡£

Î㤨¤Ð ssh ¤Î¾ì¹ç¤Ê¤é¤É¤³¤Î¥Þ¥·¥ó¤«¤é¤Î¥¢¥¯¥»¥¹¤Ç¤¢¤Ã¤Æ¤â¡¢ ÈëÌ©¸°¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò¾ÚÌÀ¤Ç¤­¤ë¤Ê¤é¥¢¥¯¥»¥¹¤òµö²Ä¤·¡¢ ¤½¤¦¤Ç¤Ê¤±¤ì¤ÐµÑ²¼¤·¤Þ¤¹¡£ ¥¢¥¯¥»¥¹¤ò½Ð¤¹Â¦¤Î¥Þ¥·¥ó¤Ç¤Ï²¿¤Î½Ð¸ýµ¬À©¤â¤Ê¤¯¡¢ ¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¦¤Î¥Þ¥·¥ó¤Ç¤ÎÆþ¸ýµ¬À©¤À¤±¤Ç¤¹¤Í¡£

¤È¤³¤í¤¬¡¢¥Ç¡¼¥¿¥»¥ó¥¿¤Î¥é¥Ã¥¯Æâ¤Î¥Þ¥·¥ó¤Ë¸ÂÄꤹ¤ì¤Ð¡¢ »ö¾ð¤ÏÊѤï¤Ã¤Æ¤­¤Þ¤¹¡£ ¥é¥Ã¥¯Æâ¤ËÆþ¤ì¤Æ¤¢¤ë¥Þ¥·¥ó¤Î¿ô¤Ï¹â¡¹Í­¸Â ;) ¤Ç¤¹¤·¡¢ ¿¤¯¤Î¾ì¹çÁ´¤Æ¤Î¥Þ¥·¥ó¤ÇƱ¤¸ OS ¤¬Æ°¤¤¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤·¡¢ ´ÉÍý¤ÎÅԹ礫¤é¤¤¤¨¤ÐÁ´¤Æ¤Î¥Þ¥·¥ó¤òƱ¤¸¥Á¡¼¥à¤¬´ÉÍý¤¹¤Ù¤­¤Ç¤·¤ç¤¦¡£

¤³¤Î¤è¤¦¤ÊÆÃ¼ì¤Ê´Ä¶­²¼¤Ç¤Ï¡¢ (OUT) ¤Î½Ð¸ýµ¬À©¤â¸½¼ÂŪ¤ÊÊýË¡¤È¤Ê¤ê¤Þ¤¹¡£ Î㤨¤Ð DB ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤ò¹Í¤¨¤ë¤È¡¢ DB ¥µ¡¼¥Ð¤ÏÄ̾ï¤Î¥µ¡¼¥Ðǧ¾Ú¤Î¤ß¤Ç¤¢¤Ã¤Æ¤â¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¥¢¥¯¥»¥¹¤ò½Ð¤¹¤Î¤òÀ©¸Â¤¹¤ë½Ð¸ýµ¬À©¤òÀߤ±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥»¥­¥å¥ê¥Æ¥£¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¥¯¥é¥¤¥¢¥ó¥È¦¤Î OS ¤¬ Linux ¤Ç¤¢¤ì¤Ð¡¢ ½Ð¸ýµ¬À©¤ÎÊýË¡¤È¤·¤Æ iptables ¤Î OUTPUT ¥Á¥§¥¤¥ó¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Î㤨¤Ð DB ¥µ¡¼¥Ð¤¬ 12345È֥ݡ¼¥È¤Ç¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ ¥é¥Ã¥¯Æâ¤ÎÁ´¥Þ¥·¥ó¤Ë¤ª¤¤¤Æ

iptables -N dbaccess 2>/dev/null || iptables -F dbaccess
iptables -A dbaccess -j ACCEPT -m owner --uid-owner dbuser  ¡Ä(2)
iptables -A dbaccess -j DROP                                ¡Ä(3)

iptables -A OUTPUT -j dbaccess -p tcp --dport 12345 --syn   ¡Ä(1)

¤ò¼Â¹Ô¤·¤Æ¤ª¤­¤Þ¤¹¡£

DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤ò½Ð¤½¤¦¤È¤·¤Æ¡¢ DB ¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¥Þ¥·¥ó¤Î 12345È֥ݡ¼¥È¤Ø¤ÎÀܳ¤·¤è¤¦¤È¤¹¤ë¤È¡¢ ¤Þ¤º OUTPUT ¥Á¥§¥¤¥ó¤Î (1) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤Æ dbaccess ¥Á¥§¥¤¥ó¤Ø¥¸¥ã¥ó¥×¤·¤Þ¤¹¡£ ¥¢¥¯¥»¥¹¤ò½Ð¤½¤¦¤È¤·¤¿¥æ¡¼¥¶¤¬ dbuser ¤Ç¤¢¤ì¤Ð¡¢ dbaccess ¥Á¥§¥¤¥ó¤Î (2) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÄÌ¿®¤¬µö²Ä¤µ¤ì¤Þ¤¹¤¬¡¢ dbuser °Ê³°¤Î¥æ¡¼¥¶¤Ç¤¢¤ì¤Ð¡¢ (3) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÄÌ¿®¤¬µÑ²¼¤µ¤ì¤Þ¤¹¡£

¤Ä¤Þ¤ê¡¢dbuser °Ê³°¤Î¥æ¡¼¥¶¤Ï¡¢¤¿¤È¤¨ DB ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤäƤ¤¤Æ¤â¡¢ DB ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£

DB ¤Ë¥¢¥¯¥»¥¹¤·¤¿¤¤¥æ¡¼¥¶¤¬Áý¤¨¤Æ¤¯¤ë¤È¡¢ ¤½¤Î¤¿¤Ó¤Ë iptables ¤ÎÀßÄê¤òÊѹ¹¤¹¤ë¤Î¤ÏÌÌÅݤǤ¹¤Î¤Ç¡¢ DB ¥µ¡¼¥Ð¤ØÀܳ¤Ç¤­¤ë¥æ¡¼¥¶¤Ï°ì¤Ä¤À¤± (Î㤨¤Ð dbuser) ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢ ¤½¤Î¥æ¡¼¥¶¸¢¸Â¤ÇÃæ·Ñ¥×¥í¥°¥é¥à¤òư¤«¤¹¤è¤¦¤Ë¤¹¤ë¤ÈÊØÍø¤Ç¤·¤ç¤¦¡£

Î㤨¤Ð¡¢DB ¤Ë¥¢¥¯¥»¥¹¤·¤¿¤¤¥æ¡¼¥¶ user1, user2, user3, user4 ¤¬ ¤¢¤ë¤È¤·¤Þ¤¹¡£ ¤Þ¤º¡¢DB ¾å¤ËƱ̾¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤òºî¤ê¤Þ¤¹¡£ ¼¡¤Ë¡¢¥é¥Ã¥¯Æâ¤ÎÁ´¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ¡¢ ¥æ¡¼¥¶Ëè¤Ë UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò listen ¤·¡¢ ¤½¤Î¥½¥±¥Ã¥È¤ØÀܳ¤¬¤¢¤Ã¤¿¤é¡¢ ¤½¤ì¤ò DB ¥µ¡¼¥Ð¤ØÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à (¤³¤³¤Ç¤Ï dbrelay ¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤·¤ç¤¦) ¤òư¤«¤·¤Þ¤¹¡£ Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£

/home/user1/socket
/home/user2/socket
/home/user3/socket
/home/user4/socket

³Æ¥½¥±¥Ã¥È (¤¢¤ë¤¤¤Ï¥½¥±¥Ã¥È¤òÃÖ¤¤¤Æ¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê) ¤Ï¡¢ ¼«Ê¬°Ê³°¤Î¥æ¡¼¥¶¤ÏÆÉ¤ß½ñ¤­¤Ç¤­¤Ê¤¤¤è¤¦¤Ë ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ ¤Ä¤Þ¤ê dbrelay ¤Ï root ¸¢¸Â¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢Á°½Ò¤·¤¿¤è¤¦¤Ë DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï dbuser ¥æ¡¼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤«¤é¡¢ ³Æ¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤¿¸å¤Ï¡¢ dbuser ¥æ¡¼¥¶¸¢¸Â¤Ë setuid ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¤½¤·¤Æ¡¢¤³¤³¤¬´Î¤Ê¤Î¤Ç¤¹¤¬¡¢ dbrelay ¤Ï DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¡¢ Àܳ¤ò¼õ¤±ÉÕ¤±¤¿¥½¥±¥Ã¥È¤Î¥æ¡¼¥¶Ì¾¤È¡¢ DB ¤Ø¤Î¥¢¥¯¥»¥¹¤ò¹Ô¤Ê¤¦ DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï ÄÌ¿®¤ò¼×ÃǤ·¤