geoiplookup で発信元をみる。

なんとなく、サーバ管理をしている人なら、
どこからアクセスされてきたんだろうとか気になることがあるはず。

というわけで、 GeoIP のデータベースを使って、どこからアクセスしてきたかを見てみます。

 

1.インストール。

CentOS とか Fedora だと、 geoip をインストールすれば入ります。

# yum install geoip

Ubuntu さんとか LinuxMint さんも同じなんじゃないかと思います。

 

2.データベースを更新する。

MaxMind GeoIP Country Database

http://www.maxmind.com/app/geolitecountry

MaxMind GeoIP City Database

http://www.maxmind.com/app/geolitecity

この2つをダウンロードします。

http://www.maxmind.com/app/installation?city=1

このページに従いますと、

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gzip -d GeoLiteCity.dat.gz
# gzip -d GeoIP.dat.gz
# mv GeoIP.dat /usr/share/GeoIP/
# mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

という感じでしょうかw

 

3.使う。

$ geoiplookup 111.89.178.190
GeoIP Country Edition: JP, Japan
GeoIP City Edition, Rev 1: JP, 40, Tokyo, N/A, 35.685001, 139.751404, 0, 0
GeoIP City Edition, Rev 0: JP, 40, Tokyo, N/A, 35.685001, 139.751404

こんな感じ。

image

ちなみに地図はこんな所出してますが、

$ nslookup sony.ne.jp
Server:         192.168.1.3
Address:        192.168.1.3#53

Non-authoritative answer:
Name:   sony.ne.jp
Address: 111.89.178.190

この場所に民間企業があるとは思えないので、

位置のずれを感じるわけですが。

(この企業さんには、ノートパソコンで主にお世話になっておりまする)

 

でも、国の判定とかそれぐらいには使えそう。

あくまでも気休め・・ですがw

 

4.適当に使ってみる。

$ cat access.log* | cut -f1 -d" " | sort | uniq | awk '{ print system("geoiplookup " $1) }'

たとえばこんな感じ。

Apache のログからIP アドレス出してきて、geoiplookup に掛けまくります。

動作サンプルは個人情報がもろもろ入っているので止めますが。

であであ。

手元の CentOS に whois 入ってなくて焦った。

たぶんインストール時に省いたんだと思う。私。

 

とりあえず、whois をインストールしようとしてちょっとはまったのでメモ。

# yum install jwhois

というわけで、 whois ではなくて jwhois パッケージを入れるらしい。

コマンド自体は whois で行けるので、

# whois kantei.go.jp

[Querying whois.jprs.jp]
[whois.jprs.jp]
[ JPRS database provides information on network administration. Its use is    ]
[ restricted to network administration purposes. For further information,     ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e'     ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'.                 ]

Domain Information:
a. [Domain Name]                KANTEI.GO.JP
g. [Organization]               The Prime Minister's Official Residence
l. [Organization Type]          Government
m. [Administrative Contact]     MK072JP
n. [Technical Contact]          MK072JP
p. [Name Server]                ns3.kantei.go.jp
p. [Name Server]                ns4.kantei.go.jp
s. [Signing Key]
[State]                         Connected (2012/06/30)
[Registered Date]               1994/06/24
[Connected Date]                1994/06/27
[Last Update]                   2011/07/01 01:15:10 (JST)

なんとなく逆引き。ってことできちんと動きまする。

そういえばまたしても福岡行ってた。 (2/17-22)

IMG_0855

ちょうど書こう! という気分になれたので何となく。
あー。。最近 \これおもろい/ ってなっても記事にアウトプット出来てないぞ、やばいやばい。

 

ぶるぶるマシン。ルシウスは平たい顔族の国に行って、最初にこれに目が行かなかったんだろうか。
私は真っ先に目が行きましたよ。

 

さて、と。

というわけで、2月17日~2月22日(たぶん)まで九州に行ってました。

 

SECCON CTF に参加しよう-! ってことで参加してきたんですが、
それはそれで、SECCON CTF 福岡大会に参加してきた。 を参照してもらって。

 

今回もまた、まひるんちゃんの家にお世話になりました。
毎度毎度、九州行くたびに泊めさせてもらってすいませぬ。

 

WP_000610

 

とりあえずどんな感じだったか:

 

17日:

まひるんちゃんが、携帯番号押して文字に復元する問題を、プログラムで解けるようにプログラムをあらかじめ作っておけばいいんじゃね! っていうことを思いつき、書き始めたので私も対抗。

彼は Java で、私は C で。 結構それぞれの考え方というか思考というか、
そういうのが出ていておもしろかったです。

ついでに夜更かし。

 

18日:

さっそくておくれる。10時に起きようとして、10時に起きて、寒かったから布団潜ってもぞもぞしてたら11時。
飛び起きる。

ついでに、まひるんちゃんの布団を剥いでみる。プチ怒られた。

朝ご飯適当に食べましょうーってお話で、レストランで食べてたら、
時間間に合わないんじゃねということに気づき、
急いで食す。会場の九工大 飯塚キャンパスへ急ぐ。

・・・途中、福岡の運転こえーなー&気分いいなーとか思いながら。
千葉であれやると、パトカーがいい感じで追っかけてくるのでしたくないですね。
あらゆる所から、にゅっ と出てきます。

 

夜:

温泉に行く。というか近くに温泉あったんだー。ルシウス技師出てこないかな。

わさおがサウナ好きということでその様子を見ていたんですが、
ちょっとあんまりやり過ぎると次の日に響くだろ・・・と思って私はほどほどに。

ファミレスに行って注文したんですが、私のだけ出てこなくて、
気長に待とう・・と思っていたところに店員さんが品切れを伝えに来て。

でもその店員さんが、本当に申し訳なさそうにお詫びしてくるから、
こちらもとてつもなく申し訳なくなって、「お手数をおかけしますがよろしくお願いします」と。

いあ、「無いんだよ(フンッ」 ぐらいの店員が脳内デフォルトなので、
ああいう丁寧な店員さんは久しぶり過ぎてああもう。 田舎もの丸出しですね。

夜中は問題を解いていて、某とのさまから「寝ろww」 という、
ありがたい Skype メッセージを頂いたのですが、完全無視してやっておりました。

LLVM の問題のバイトコードが、人間が読めるコードに戻せたので、
適当に読み始めて。

んでもって、「・・・もしや・・?」 ということで他の部分のコードを読みながら、
自分なりに考えてコードを書いてコンパイルしてみたら、 通る –> 実行成功 だったので、
きたぁぁぁぁぁぁ!!!! ということで、その日初めて知った言語でプログラムを書き始める。

どうやらその光景が相当怪しかったらしく、チームメンバの各記事で、

みむらさんがLLVMのバイトコードを手打ちし始めてプログラムを解析しだした。
すごく楽しそうな顔してました。

http://diary.carme-ln.net/2012/02/22/seccon-ctf-fukuoka/

深夜5時頃、三村さんがLLVMのバイトコードを書き始め異次元へ。あれは幻想。

http://blog.twiwt.org/e/8a4267

とのこと。

でもそんな私も、次の日の朝、コードを書けていたのが現実だったのか夢だったのか気になって、
周りに聞き返して現実ってことを確認する程度には、睡魔と戦っていたのでなんともなんとも。

あれですよね、C++ の神様が降りてくるのと同じ条件だったのかもしれない。

・・そういえば、ななふぉが無くて焦った。車の中に置き忘れてた。

 

19日:

よっしゃいくぜー! ということで、戦闘態勢の4人がまひるんちゃんの車に乗り込んで大学へ向かう。
でもまぁ途中雪だったのもあって、わさおがはしゃいでた。いいよねこういうの。

WP_000611

CTF 中、とのさまに 「The」を書き加えられる。 「 a 」 とかでいいじゃないですか、はずかしいです。

CTF終わった後、「チャーハンがおいしいラーメン屋」という謎の説明を受けた(一応)ラーメン屋へ行く。
何だったか食べた。おいしかったなり。

今回の帰りは後部座席に乗っていたんですが、
となりのわさおが車の遠心力に負けまくってぶんぶん動き回っていたので、手で押さえてた。

よっぽど疲れていたんだろうなぁ。。

まひるんちゃん宅にて、かーみさんと偽まひるんるんごっこして楽しんでた。
なんていうか、とっても内輪ネタな感じだったけど、それ故におもしろかった。

でも、無言の空間で Twitter へツイートする文章をただただ打ち込むキーの音だけが響く部屋ってのは、
ちょっと怖いですねww 人の音声による言葉が恋しかったです。

その後、昨日と同じ銭湯へ行く。

かーみさんが、風呂の湯の循環のための吸水口に手を伸ばし、
指のけがをしてしまう。ルシウス技師みたいにそのまま別の国に行かなくてなに(ry

結構痛そうだったのですが、絆創膏をそのときに持ち合わせて無くてごめんなさい・・

そんでもって、 LLVM の問題をその日の夜に解く。
メッセージ(正解文)が出てきた時の悔しさと言ったらなんというかですね。

 

20日:

あらかじめ、「ねねー神社巡りとかできんー?」 とお願いしてあったので、神社巡り。
(というか無茶ぶりに乗ってくれてありがとうございまする!)

博多ラーメンをなにやら不思議なカウンターで食べた。
なんていうか、個室のようなそうじゃないような。

文章書いてたら、口の中にあの味が広がってきた気がする。
博多ラーメン食べに個人旅行してこようかな (ぉ

WP_000612

宗像大社、宮地嶽神社、厳島神社を回ってきたんですが、
前回福岡に行ったときに、宮地嶽神社だけは夜中ですが行ってたんですよねー。

「またみんなと会って、何かやりたいです!」 なことをお願いしてたので、
今回それが叶ったという感じでしょうか。本当にありがたやーです。

今回もまた、同じ願い事を、それも奥宮八社に対しても行ったので、
次回もまた会う機会があるんじゃないかと思ってます。 と思ったら2日後、このメンバで京都旅行じゃん。
・・・もう少しもったいぶってくだしあ。

そういえば、厳島神社の鳥居が福岡にある理由をちょろっと調べてたんですが、
厳島神社が、宗像三女神を祀っているとのことなんですね。

・・・納得です。

WP_000613

帰り際、車の中で結構楽しい話が広がってました。
ああいう話はいいですね。実に理論的というか、ばかげているレベルに論理化するようなの。

空想科学読本を小学生~中学生の頃読みまくった私には最高でした。

ついでに、あまりに理系過ぎる、論理的な英語というのをちょっと持ち出してみたら、
出来る人はそういう授業受けたことないようで。

あれー、私なんて中学、大学(1年)とこういう英語だったじぇ とかとか。
やっぱり、自然言語を無理矢理定義に納めて、論理で論破しようとするのは不可能なんだなとw

そんなこんなで、論理で英語を攻めると、
非決定性言語を決定性言語にはめ込もうとするので、
結局、プログラミング言語のなでしこのような日本語みたいな英語になるんじゃないのとかとか。

やっぱり自然言語って、フィーリングが中核に来て、論理は外側を覆うような感じなんだなと、
あの旅行後に勉強方法変えてふと思ってます。はい。

そうそう、その日の夜、かーみさんから連絡がありまして。
CTFのとある問題の答えが「オートマトン」だったと。

何気ないところから答えを連発して、そこから議論を展開させていたってんだから、
ある意味恐ろしいというか、ておくれというか。 まぁ、ておくれなんですね。

夜にテルマエロマエというアニメを見る。やばいっと久しぶりに思った。
というわけで、後日、1~4巻を大人買いして読みました。

 

21日:

朝早く、まひるんちゃんの車にのって駅へ。
実は車窓から、まひるんちゃんの車が家に向けて走っていく姿がちょうど見えて、
なんか「ぼくのなつやすみ」のエンディングシーンをリアルで見ているみたいでとってもかっこよかった。

この日は熊本の親戚の家に行く予定があったので、博多で新幹線に飛び乗る。

九州新幹線端から端まで行ってみて-!! という気持ちがあったので、
ぼーんと鹿児島中央までの切符を買ってしまう。

WP_000615

そしてそこから、何を思ったか大荷物を持ったまま、
「指宿枕崎線」の車両に乗り込む。

がたんがたんと、それこそ文字通り揺られながら1時間半。

WP_000616

指宿駅へ。

桃太郎電鉄のプレイヤーならわかると思うんですが、
九州の一番南の駅が、あのゲームだと指宿になってるんです。

というわけで行ってみたくて行ってみたくて。

途中、西大山駅という駅の存在を知って、行こうかなと思ったのですが、
行くと帰れなくなる可能性が非常に高かったのでやめる。

でも指宿駅の駅前の足湯にはつかってきましたし、

WP_000682

西大山駅の記念入場券が売っていたので買いました。

そういえば、指宿駅には、西大山駅のノートのアーカイブがあるんですよね。
電車が来るまで時間がかなりあったので、見てました。

なんかいいですよね、ああいうの。達成感がものすごくあって!

そしてそのまま急いで、鹿児島中央駅に行って、新幹線の切符を買って、
水俣駅まで戻る。

オレンジ鉄道に乗って、がたんごとん。親戚の家まで。

オレンジと聞くと、私なんかは「オレンジカード」とか思い浮かべるんですが、
桃鉄のやり過ぎですね、ごめんなさい。

親戚が教育関係の人であったこともあって、
勉強での悩みから、気になっていることから、いろいろと聞きました。

とってもすっきり出来た気がします。

その日はそのまま就寝。

 

22日:

最終日。あまりに早く起きすぎて、どうしよう状態。

というのも、ある程度動けるように、新幹線を相当遅くしたんですが、
逆に有り余ってしまったよ、ぱたーん。

水俣市の「水光社」に行ってきました。

そういえば、ちゃんぽんって言ったら、長崎風味のパリパリ麺を想像すると思うんですが、

WP_000623

こういうのでした。地域性がでるなーと。

・・・そういえば、とある先輩が「水光社」というキーワードに反応していらっしゃいました。
実家が近くなんですかね。。

そんなこんなで、新幹線に飛び乗って博多へ。

WP_000630

博多駅の屋上で見かけたこれを見て、
今居る場所って相当すごいところなんだなーと再確認。

だって、千葉とか東京とか地図にないのに、釜山とかソウルとかは載ってるんですよ。

なんとなく、国際都市だなーという感じがしました。

その後、1時間ほど新幹線ホーム入り口のコーヒーショップでコーヒーを飲みながら、
PC立ち上げて Twitter しながら暇つぶし。

新幹線に乗り込み、帰宅の途につきました。

そうそう。日が変わってから家に着きまして。
そのとき Twitter で @greenz_greenz さんに言われて気づいたのですが、

SECCON CTF お疲れ様でした。

帰るまでが SECCON CTF だったらしいので、
私の SECCON CTF は今回の参加者の中で一番長く行われていたようです。

あらためて、お疲れ様でした。

 

まとめ:

そういえば、なんでプラットフォームとかそういう所では平然としていられるのに、
いざ新幹線に乗り込んで、そこからさっきまで居たプラットフォームを見ると、
何となく、何とも言えない、複雑な感情がわき上がってくるんでしょうかね。

こんなに遠くなのに、また来ようと思わせる要因ってなんなんでしょうね。

 

やっぱり、来るたび来るたび、新しい出来事と暖かい心を感じることが出来るからなのかもしれません。

 

何というか、
都会に疲れたらいらっしゃい、というような、そんな感じがします。

 

地元にだってとってもいいところはあるし、
住んでいる千葉県という場所にも、大学やオフィスがある東京都という場所にも、
またそれぞれの良さがあります。

でも、一回そこから離れて何か考えたいとか、そう思ったときに、
千葉から遠く離れた九州に行きたくなるんだろうなと思います。

福岡には、古くからの親友もいるし。
また、福岡や熊本、鹿児島には友人もいるし。
全く知らない土地に休みに来るよりは、こういう土地の方がいいなと。

 

けど、やっぱり私は関東が何となくあっていて、関東でわいわいやりたいと思うので、
普段はこっちにいますが。

定期的に行きたいですね。まぁ、予算と時間が許してはくれなそうですけれどね。

 

そうそう、東京と言えば。
テレビで映す東京よりも、下町に生きる東京の方が実にいいですよ。

そんなこんなで、ブラタモリをまた見てしまう。

 

東京の下町や千葉の田舎の方で私が周りの人から感じる「小粋さ」というか。

相手を大切に思ってくれるんだけど、それを全面的に表すんじゃなくて、
こう、ちょっと表してみるとか、なんっていうのかな。

江戸っ子の粋さとでも言うんですかね。私江戸っ子じゃないですけど(地理的に)

そういう、江戸日本風情みたいなものが感じられるところが好きで、
そういうものを感じさせてくれる人が好きで。

 

なんだろう、福岡ってそう考えると、東京から遙か遠く離れているけれど、
同じ「粋さ」を持っている、遠くて近い、そんな所なんじゃないかなって。

そして熊本は、千葉に広がっているような人々の暖かみというか、
そういうものがどこよりも一番強く、そして地元に近い感じがして、
本当に遠くに来ているような感じがしませんでした。

 

P.S.

私の部屋も完成に近づいていて、今度九州からみんながやってきた時は、
泊まらせることも出来るかもしれません。

ただ、東京から遠いのであれですが。

東京開催とか、もしくは何を思ったか千葉開催とかになって、今回のメンバーでまた参加することになったら、
是非とも今度は私がおもてなしする番ですね。

休息のすすめ。

どうもおひさしぶりです。みむらです。
最近忙しいんやらなんやら、よくわからないまま、荒波に揉まれつつ気づいたら3月入ってました。

えーと、よくないですね。

 

よくないと言えば、
8日でしたか、9日でしたか、猛烈に布団から出たくなくて、
一日中布団に潜っていました。

ついでに、電子機器には普段と比べたら全くといっていいほど触らないぐらいの感じで。
(でも全く触っていない訳ではなく。)

 

普段であれば、やばいあれやらないと! という焦りに駆られて飛び起きて作業を始めるわけですが、
その日に限っては素直に布団に潜ってました。

その日だけは開発進んでません、関係各位申し訳ないです。

 

でもふと思ったのが、
こういう日が1日ぐらいあってもいいんじゃないかなと。

おかげさまで、ものすっごく気分がよくなりました。
いあ、布団パワーは恐ろしいですね。

 

温泉は有料ですが、布団ならタダですよ。これはおいしい。

 

もしかすると、連続して作業続けるよりも、
睡眠時間をきっちり取った方が作業時間が長いのではないかと。

そういや、AVTOKYO でもそんなセッションがあったような。 うむ、嘘ではなかったらしい。

 

そんなこんなで、

気分が落ち着かないときとか、
動と静の狭間で葛藤を繰り返しているようなら、一回布団に潜って寝た方がいいのかもしれませんね。

体が休まる、というか心が安まります。

 

 

・・・・そういえば、記事冒頭にあげた楽曲。
運動会ではおなじみですが、「トランペット吹きの休日」という楽曲です。

おそらく、普段の私はこんなんじゃないぜ、うぉぉぉぉ ってな感じで作った楽曲な気がしますが、

 

私の場合の解釈だと、休みもやるぜ、うぉぉぉぉぉぉ となるので、いつかぶったおれますね()
私の周りの人でも倒れそうな人を見かけますが、大丈夫ですかね。。

SECCON CTF 福岡大会に参加してきた。

 

\ておくれた/

 

IMG_0847

 

どうも、久しぶりにおかしいチームでがんばってきました。

ちょっと説明しておくと、

CTFとは、世界各地で開催されている著名な旗取り合戦競技(Capture The Flag)のことで、セキュリティ技術を競うコンテストの総称です。

http://www.seccon.jp/

ということ。

要は、セキュリティ方面を日本でも伸ばしましょう! ということで開催されたのが、
今回の SECCON CTF ということになるわけです。

 

チームのメンバは、ておくれなひと、イケメンなひと、お茶くみ担当 x2
わさお、まひるんちゃん、かーみーさん、私の4人組です。

チーム名は: wasamusume and mi17u

この記事の執筆時点で、チームメンバの記事としては、

まひるんちゃん : SECCON CTF 九州地区予選  – おもちゃ箱
http://toooybooox.blogspot.com/2012/02/seccon-ctf.html

かーみーさん : SECCON CTF 福岡大会に参加してきた – かーみーのチラ裏
http://diary.carme-ln.net/2012/02/22/seccon-ctf-fukuoka/

わさお:土日月まとめ
http://blog.twiwt.org/e/8a4267

たぶん、併せて読んでいただけると、おもしろい感じが伝わってきそうな。

 

結果は、
http://www.seccon.jp/2012/02/1seccon-ctf.html
ここに掲載されていますが、第4位。

ておくれていたのに、「実はておくれ度合いはそこまでひどくなかった」というのが結果でした。

このCTFは学生向けなので、学生のみランキングに並べられますが、
社会人チームがとてつもなく強かったです。

 

自分たちのチームの特徴としては、
本来妨害のために流される音楽やアナウンスに全力で乗るというところでしょうか。

もうそれ、普通の人ならば「妨害されている」と言うことになりますが、
むしろこっちのチームの場合、ああいう音があればあるほど、パフォーマンスが上がります。

ほかのチームは無音ならパフォーマンスが上がり、
うちのチームは無音だとパフォーマンスが下がる。

やっぱり、ておくれなんでしょうか。

 

とりあえず、もって行ったのはノートPC3台

まひるんちゃん用 VAIO と、私用VAIO と Mac

次回は是非とも VAIO 2台でお話がつくように構成したいものですね。
いあ、Mac がめちゃくちゃ重かった OTL

 

チームメンバでお風呂に入りに行ったり、夜通し問題解き続けるとか、

足くすぐってみるとか。お風呂でばしゃばしゃしてみたり。

まー、中学生の修学旅行みたいな感じがありましたが、
それはそれで好きなノリだったのでよかったかなと。

 

次回もこういうのがあったら、また突撃したいなと思います。

今回のCTFでは、
それぞれがそれぞれの利点を生かしてベストパフォーマンスを出せたんじゃないかなと。

終わった後にみんなでにっこにこしてるのが一番いいなぁと思います。

 

最後に。
公開しても問題ないであろう範囲で、解いた問題をひとつ。

https://gist.github.com/1862598

2以上30以下の素数は次の10個です。

2 3 5 7 11 13 17 19 23 29

これらの素数の中で一番多く出現する数字は1で、5個出現します。2番目に多く出現する数字は2と3がそれぞれ3個ずつ出現します。

2以上10000以下の素数は1229個あり、それらの素数の中で一番多く出現する数字の個数は1の681個です。また2番目は3の677個、3番目は7の652個です。

2以上1億以下の素数は5761455個ありますが、この中で3番目に多く出現する数字の個数はいくつでしょうか?

私はこれを C# で総当たりで求めました。

github に上がっているコードでは、既存のリストをもってきましょーね っていう形らしい。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        long[] counts = new long[10];

        foreach (char c in Primes(100000000).SelectMany<int, char>(x => x.ToString().ToCharArray()))
            counts[c - '0']++;

        for (int i = 0; i < counts.Length; i++)
            System.Console.WriteLine("" + i + " - " + counts[i]);
    }

    static IEnumerable<int> Primes(int maxnum)
    {
        int[] primes = Enumerable.Range(0, maxnum + 1).ToArray();
        primes[1] = -1;
        int squareroot = (int)Math.Sqrt(maxnum);
        for (int i = 2; i <= squareroot; i++)
        {
            if (primes[i] > 0)
                for (int n = i * 2; n <= maxnum; n += i)
                    primes[n] = -1;
        }
        return primes.Where(n => n > 0);
    }
}

エラトステネスのふるいで求めました。

http://gushwell.ifdef.jp/etude/PrimeNumber.html

よく RSA 暗号とかが話題に上るときに出てくる用語ですが。

 

とりあえず、実行すると、

image

ということで、1億までは5秒ほどで計算が完了するので、

あとは数え上げるだけー。

ってことで、今回の場合の回答は3つめということですから、

5443074

これが答えになるという感じです。

 

ということで、たのしかったです!