えくまたん
ロングIP とかいう、IP アドレスを区切らずに十進数にしたやつ((普通見る IP アドレスは 0111 1111 . 0000 0000 . 0000 0000 . 0000 0001 っていう 1byte(8bit) ごとに区切ったやつを10進数にそれぞれ変換している。ロング IP は全部繋げて10進数にするだけ。って説明するまでもねぇなうんこ ))があるのを窓の森で知った((http://3639551843/ は Google.))んだけど、あれって正引きさえ除けば javascript でさえできるよね……でも最初に ruby で書いてから javascript に書き直そうと思ったら sprintf なくて面倒だった。結局汚くなってしまった。まぁ使わないんだけど。
function longip(ip) {
ip = ip.split(".");
var ret = "";
for (var i = 0; i < ip.length; i++) {
temp = Number(ip[i]).toString(2);
zero = "";
for (var j = 0; j < (8 - temp.length); j++) {
zero += "0";
}
ret += zero + temp;
}
ret = parseInt(ret, 2);
return ret;
} つーか ruby のほうのソース消してしまった、のでまぁまた書いてみる。数行だし。
def longip(ip)
binary = ""
ip.split(".").each do |part|
binary += "%08b" % part.to_i
end
binary.to_i(2)
end longip("127.0.0.1") => 2130706433
longip(IPSocket::getaddress("localhost")) => 2130706433 (Ruby; require "socket")
なんかわざわざ書くほどじゃないけど、俺は激しく忘れっぽいのよね!
でもこのロングIPさ、xrea とかでやるとうまくいかないね。ただの IP アドレス指定だから、バーチャルホストうんたらで無理くさい。知らないけど。
関連エントリー
- えくまたん ロングIP とかいう、IP アドレスを区切らずに十進数にしたやつ*1があるのを窓の森で知った*2んだけど、あれって正引きさえ除けば java...
- ルータを新しくした L2スイッチ機能搭載ブロードバンドルータ NetGenesis SuperOPT100E あんまり熱くならない。前まで、そこらに TCP セ...
- IP がわからん 学校のテストでみごとに0点だったのでちゃんと頭に入れるよ!! 何がわからないってことを明確にしとこう。 サブネット ネットワーク部・ホスト部...
- さくらのVPSのウェブサーバでIPv6の接続をうける 最初からアドレスついてたので意外とやることない。 ifconfig すると既に v6 のアドレスがついている。Scope:Global にな...
- DS-Lite の挙動の理解 おおざっぱにいうと 家庭内のルーター(B4)で IPv4 パケットを IPv6 にカプセル化 (IP IP tunnel) IPv4 ネット...