Tag Archives: Server

ハッキングシミュレーションゲーム「Hacknet」をプレイしてみた。

いつだったかITプロで「Steam」で遊べるハッキング(クラッキング)シミュレーションという珍しいジャンルの「Hacknet」というゲームが紹介されていたので軽くですがプレイしてみました。 チュートリアルからちょこっと進んだ程度なので、全体像は把握していませんが、ゲームとはいえ少しはコマンドの知識なりがある方が楽しめそうな気がします。なくても大丈夫です。 あくまでゲームなので(重要?というかそこが楽しさというか)ツールの類いはどこかからコピーしてきたりですね。ハッキングシミュレーションであって、ハッカーシミュレーションではないようです。 ハッカーシミュレーションってなんだよって気もしますが、ニュアンスが伝わればいいなあってな感じで。 というかプレイすればわかります。 まずはユーザ作成ですな。インターフェースはこんな感じです。 まずはチュートリアルをしながら、基本的なハッキングの流れとコマンドの叩き方なんかを教えてくれます。 nmapして空いてるポートを見つけてますね。 ls なんかもこんな感じで使えます。ゲーム内のコマンドもあるので使えるコマンドをメモってた方がいいなあと少しメモってましたが、進行途中に出てくるサーバの中にコマンド表みたいなテキストがあるのでとくにメモらなくても大丈夫ですww 最初の方のミッションは色々調べたりしたあとはログが残るからちゃんと消そうぜーという感じだったと思います。 リアル感もありますね。 載せている写真はコマンドベースですが、ちゃんとマウスでポチポチできるようにもなっているので安心してください。 あくまでゲームなのだから。 コマンドの説明をしてくれます。 rm * ですね。 チュートリアルが終わったらこのプログラムをKILLします。 なんかユニークです。 これがたしか最初のミッションです。メールが来てこれ頼む!みたいな感じで、やり取りはメールで進んでいきます。 あんた誰やねんって感じですけど。 んで進んでいくと難度も上がり、時間制限のあるミッションとかもあるみたいですね。 そんな感じです。 Hacknet、900円です。どうですか。 Steamのサイト

The Thing Is, Just Do Web Contents!

today is the 4th anniversary and I congratulate me, so I will always do. The annual content is most popular articles on the my website. Well, Let’s go at once. Please note that, indicating the language of a link destination is Japanese. No 1 Let’s make a web app with Sinatra + ActiveRecord + MySQL. Japanese title: Sinatra + ActiveRecord + MySQL で簡易アプリつくってみる This is the artcle that was affected by the Twitter or the Hatenabookmark. At once, I had achived 10,000 page views at one month conversion. One day, Based on this article, I’ve to write a program that tried use the Ruby on rails. At the time, it […]

月間1万PV達成した!

まずは ご覧いただきまして、ありがとうございました。 賛否両論はあるかと思いますが、先日のはてなブックマークとTwitterのハーモニーで特大のアクセスをいただいて、その余韻も続いている状態で、まだ4月ですが今年の目標にしていた月間1万PVを達成することができました。 わーい(^_^)v 素直に喜んでおきます。 突発的な増加ですが、アベレージのPV数も上がっている上でのトータルPV数なのでOKってことで! にっくきリファラースパムも差っ引いて1万Overです。 もっと価値のある記事を 今まではとりあえずやってみよう!をモットーに更新を続けてきた訳ですが、次の目標である3万PVを視野にいれるとなりますととりあえずでは難しいでしょう。 まずは今よりも一歩進んだGoodなネタを目指そう。 ただぼくは記者ではないので、Goodなネタっていう意味をしっかりじっくりコトコト煮込んで考えていきたいです。さもありなん。 とりあえずやってみたけどどうかな?という事を書くことは比較的カンタンだけど、これはこうなんだ!!という事を書くことは自信なさげなぼくにはなかなか難しい事なのです。 その裏付けを取るのはしっかりした土台と検証が必要になってきます。などと考えだすと固くなってしまいます。が、あまり固くならずにあくまでも日記だというコンセプトは忘れずにしたい! それは逃げ道を作っているだけだ!という人も居るかもしれませんがw おもしろいことをやろう!という絶対的なところはそのままで、もうちょい頑張ってみよう。 今年の目標どないしまひょう うーん・・・。 悩む。 3桁のはてなブックマークも同時に達成できましたし、これからやろうとしていることも決まっていて RubyとPythonの学習 メタプログラミングを押さえる OpenFlow OpenStack アプリケーション作成 ってのは決まっていて、おそらく1年くらいはかかっちゃうんじゃないかと予想しています。 いろいろ書いてるけどだいたいRubyです。 他にもやっぱりSytemdとかOSの事とかは最低限抑えておきたいんだな。 どのくらいのレベルまでかっていうのは想定していませんが、さっき価値のある記事を!って書いちゃってますし、後には引けないぜぃ。とくにプログラミングはそれなりの事はできるようになる予定です。 そんな訳で、目標設定が難しい・・・。 勢いで言っちゃいますか、じゃあ 今年の目標は月間3万PVに上げます。上げマッスル。 さらっと書いていますが、突発的なアクセス増加の場合に月間3万が狙える規模となると今のサーバーの設定だと、実はちょっと厳しいです。 アクセスの増加に合わせてその辺のこともちゃんと考えないといけないのでした。 では、ご武運を

ひたすら詰め込んでから実技で伸ばすぜ

詰め込み型も後から実技をやるのが前提の話ならば、役に立ったりもする 日本の教育は古くから詰め込み教育なんて言われてまして、それが宜しくないということでゆとり教育なんてのが始ったようで、いったい何が変わったのかと昔の記憶をたどってみると休みが増えたって事くらいしか記憶になく、そもそも先生の教え方が同じだったら同じだろうΣ( ̄ロ ̄lll)というツッコミはさておき、とにかくひたすら詰め込んでおいてその上で実技をあとからやるとすると色々捗るということもあったりする。っていうか、あった。 考えさせる事とのハイブリッド型ならかなり有効に思えるけども、子供心に楽しく学ばせるのは難しいような気もするけれど、大人になってから好き放題、好きなジャンルを学ぶというのもそれもまたいいけれど、大人になると時間の制限も考える必要があって、それが職業につながってくる勉強となるとなおさら色々と考えてしまうのだな。これが。 どんな効果があったのか。 日記を読み返すと、最初の頃はCentOSで自宅サーバー構築を参考にして、ひたすら構築をしていた。ネタが尽きるまでひたすらと。Howtoを見ながら構築してましたというと詰め込み教育なのかというとちょっと微妙なところで、今ではChefだのVagrantfileだのと触手を伸ばせてますが、最初の頃はもう何をするにも試行錯誤の連続だったので、よく考えると詰め込みでもないのかなw サーバーを弄りだして数ヶ月頃からSoftwareDesignを読みだした。これは詰め込みに近いし。当時はミニ特集のしかも端っこのちょこっとした記事くらいしか読めなかったのだ。最初はほとんどが良く分からない記事でも買って読んでいたw 勉強のために読んでいたというよりも、刺激になっていたという意味合いのほうが強かったのかも。 んで、これはいわゆる一つの転機というのかな。サーバ/インフラを支える技術を読んだ時期がだいたい10ヶ月目くらい。これはかなり背伸びして購入した(という記憶があるけれど)、以外と読めた。当時の感想を見てみると、なんとなく意味が分かる所が60%、全く分からん所が30%分かった!という所は10%くらい。らしい(読めてないやんw)。だけど、この本はかなり強烈なインパクトがあったんだ。本を読んだのが2012年で、後々の2013年、2014年の仮想環境の構築とか負荷分散とかの検証に多いに影響があった。その頃に仕事の話なんかも何件か来たりして自信もつきながら、そしてその検証もまたとってもいい経験になった。 ちなみに2回目はまだ読んでいないw 何に対しても有効なのかいな プログラミングに対しても効果はあるのかというと 正直分からん! 今はRubyブームで、オライリーのプログラミング言語RubyとパーフェクトRubyを読み進めているところ。本の前半にあたる基本の部分と文法の部分までは良かったものの、メソッドやクラスの深い話になってくるとこれがまた訳が分からん… 最初は余裕だったので、フフンと思っていたのが後半に進むにつれてアベシになってきた。 とにかく読んで、書けるところは書いて実行してという感じに200%なっています。あまりにもワケガワカラナイところはGoogleで調べて難を逃れるという感じなのです。 まぁまた新しいことを始めているので昔のような勢いよりも控えめなのは致し方ないのですが 今の方向性で進めていてもいいのかしら〜(´ω`)‥ というちょっとした葛藤がじわじわと生まれてきたので、昔を振り返ってみて冒頭で話したような実例を思いだしたりなんかして、とにかく読み進めても後から役に立ってたじゃないかと無理やりこじつけているのです。 モチベーションを高めるというやつです。 なぜこんな話を急にしたのか 実はとくにネタもなくて更新が滞りそうだったので、っていうTNTで、こんな話をしてますw なんて言うとどうしようもないが。最近よく見かける〇〇を初めて〇〇ヶ月で〇〇作った(できた)みたいなスゲーなおい!ってのがありますが、自分はこんなもんです! ドラゴンボールでいうところの、ちょっと昔の回想シーンを使って引き伸ばす回みたいなもんですわ。 凡人は凡人のススメ方をするのだ。 小ネタはちょこちょこ更新しているよ Qiitaの方では何回か更新していたりするので、よかったら覗いてやってください。 Qiita @takekentw そんな感じです。

Sinatraで作ったアプリのデータがぼちぼち増えてきたので整理しますか

増えてきたと言うても、ディスク容量は余裕。では何故にぼちぼち整理が必要かというと、理由はレスポンスがモッサリ〜ニな事が原因です。SlowQueryを見ているとサーバー側の負荷なんてのは全くないですし、モッサリ〜ニなのは完全にブラウザ側の負担なのでした。 Jqueryでちょこっと機能を負荷しているだけで、なんの工夫もしてないからね。当然といえば当然なのです。 整理をしますか!というと、Sinatraで作ったアプリが〜とか言っていますし、流れ的にもプログラムでやるのがセオリーと言うか、最近はプログラム勉強日記みたいだし、そうじゃないの?と思うことでしょう。自分もそう思います。 違います。 サーバーでやります。 決して、プログラムを書くのがめんどくさいからではない!! こっちの方法が楽だからだ!! アルゴリズム的なことを考えますか。過去の勉強会のデータは要らないので。 ・古い日付のデータを削除する。 以上だ。 1行でまとまってしまったぞ。 では行動に移すぞっと。 数ヶ月間放置しているので、ちょっとワクワクで容量はどのくらいかなと調べると すくねー。ぜんぜん増えてないし!!テキストデータだしね。やっぱりプログラム側でブラウザに表示される項目を制限した方が効果は高いんだろうなぁ。後でやりますか。 せっかくサーバーにログインしたので、データベースのデータも整理してしまいましょう。 テーブルはこんな感じです。 Started_atから過去のデータを削除するのが楽やろうね。 ブラウザからだとモッサリしますが、まだまだこんなもんです。 今年の3月より過去のものは削除しましょうか。   終わりました! でもこれだとプログラムはそのままなので根本的な問題が解決できていないんだよね。いや、DB側で対処したので根本的な問題を解決したのか。うーん。これはトゲゾーのジレンマだな。 まぁどちらにしろ問題は解決して、アクセスしてみると随分軽くなりました。 削除の作業なんでわずか数秒の出来事です。プロのプログラマーなら数秒でコードが書けるかもしれませんが、わたしはアマのプログラマー、アマグラマーなのです。 ええ、アマグラマーって使ってみたかっただけです。はい。 ではCronにでも入れておきますか。まずはCronで回すスクリプトを作成しましょう。 10日前の日付ゲット。 出来上がったのがこんな感じ。 これでだいじょうぶなはず。毎日回して10日以前のデータは蓄積しない状態になりました。あとはプログラムを書き換えてブラウザに表示される項目を減らせば完了ですね〜。 RAILSにリメイクしようと思っていましたが、それもまた今度ですね。 今回は終了です。 次回はいったいいつになるのやら。

Mechanize+Rubyを使ってみるテスト さくらのメンテ・障害情報を拾ってくる

Mechanizeを使ってみよう Mechanizeというブラウザのエミュレータのようなライブラリがあり、nokogiriの成分も含んでいるので、スクレイピングにもたまに用いられているクールなライブラリのようです。 ブラウザのというだけの事はあって、フォームへのポストやSSL証明書の取得なんかもできるようです。 機能はいろいろあるけれど ちょこっと使ってみようと思っただけなので、スクレイピングだけやりますw 何やるの タイトルの通り「さくらのメンテ・障害情報」を拾ってこようと思います。 ここですね。   Mechanizeのこと ざっくりと説明をしていきたいと思います。 ライブラリを呼び出して、エージェントを作ります。 ユーザーエージェントの作成。 URLを設定します。後から選択できるように引数にとるようにしました。 all rs vps ss idc と文字列が使えました。 でもってこの辺が通常の?スクレイピングだけのライブラリと違う部分のようで(多分)リンクの要素を選択して、その先のHTMLを引っ張れます。 下のスニペットは、引数で何番目の要素かを取り、そのリンク先のDIVタグのtxt-blockというところのテキストデータを引っ張ります。というものになっています。 この部分はnokogiriのはずです。 要素から空ならぬるぽ(Rubyはnilもオブジェクトですが、お遊びです)、あったら返すという感じ。 色々と調べてみると まずメンテ・障害情報のページは2個に分割されています。 現在発生中の情報(12時間前後) メンテナンス予定の情報 32個目の要素が現在発生中の情報にあたるようです。で、メンテナンス予定の情報の要素までに必ずぬるぽが1回入ります。 それを踏まえると32番目の要素からぬるぽまでループさせれば現在発生中の情報は引っ張ってこれますね。 1個だけ取ってくるケースだと、こんな感じに引っ張ってこれます。<pre>なのでCUIでも、Webのそのままが出るようですね。 [takeken@centos /home/takeken/mainteview]$ ruby view.rb rs 32 メンテナンス・障害情報・機能追加|さくらインターネット公式サポートサイト                                                                                    2015年02月27日掲載                    障  害  発  生  の  お  知  ら  せ                                         さくらインターネット株式会社    平素よりさくらインターネットをご利用いただき、誠にありがとうござ  います。  本日、ご提供サービスにおきまして、以下の通り障害が発生いたしました。  ご利用中のお客様には大変ご迷惑をおかけいたしましたことを深くお詫び  申し上げます。                                 < 記 >    発生日時 : 2015年02月27日03時36分~2015年02月27日04時32分    影響範囲 : さくらのレンタルサーバの一部               ホスト名が下記の範囲のお客様               www212.sakura.ne.jp ~ www216.sakura.ne.jp    障害内容 : サーバに接続できなくなる障害が発生しました。   ———————————————————————    追    記 : 復旧作業が完了しました。                                                                 以上 ソース 上のは企画単体物で、取得部分をループにしました。   テキストだとループの表示が分からないので、現在発生中のものを一括で取ってみたものの一部をキャプチャしました。こんな感じでずらずらと表示されて、最後にぬるぽと出ます。 1回インクリメントを書くのを忘れていて、アタックのようになってしまいました。すみません。 壁紙はなぜベストを尽くさないのかの上田次郎先生です。 こないだ立ち読みした本に書いてあった「作る必要のないものは作らない」という言葉にムムムと考えさせられたので、今回の日記はアップするかどうか悩みました。 いくらMechanizeのテストだからといっても、意味がなさすぎだろうと。 はっきり言って ブックマークしていた方が120%いいと思います!   しかし サーバーが落ちたかな?って時にタタンとそのままCUIで障害情報が出ていないか確認するときには使えるんじゃないか?と思っていたところで www212.sakura.ne.jp […]

LPIC303 OpenSSH

Rubyであれこれやりたい事は出てきているけれど、最近ちょこっとスピードダウンしてきた感があるので、気分転換も兼ねてLPICに戻ろうかと思います。 なんとなく5章~4章~3章と逆から初めて、今は3章です。 3章はアプリケーションのセキュリティーの題目ですが、LPIのサイトによると出題される重みがそれほど高くないせいか、LPILevel3問題集も3章に関しては情報量が少ないのだ。重みが低いというよりかは、Level1・Level2を通してアプリケーションの基本的なところは出題されているからかなぁと推測。 という事で、しっかり身についてないとテストで泣くことになるのかね。 まぁ、一番重要度が高かったOpenSSHだけさらっとやっとこうと思います。 んでこういう時に役に立つのがDockerで、空っぽの状態のOSを一瞬で用意できちゃいますの。 これでCentos5の環境が出来上がりました。 Centos5のイメージはすでに持っていたので1秒も経ってないです。 でもって、opensshとopenssh-serverを普通に入れました。 色々見ていきます。 デフォルトで有効な設定を確認してみます。 最低限知ってた方がいい設定項目。 protocol 2 ssh2のみ許可ってこと。 SyslogFacility AUTHPRIV Authprivなら認証やセキュリティに関するメッセージを吐く。 UsePAM yes PAMを使って認証するか否か。Noなら/etc/shadowで認証。 #PermitRootLogin yes Rootでログインできるか否か。 #PubkeyAuthentication yes 鍵認証を許可するか否か。 #PasswordAuthentication yes パスワード認証を許可するか否か。 GSSAPIAuthentication yes GSSAPI ベースのユーザ認証を使用するか では、これで終わっちゃうのもアレなんで、と思いましたが突然乾電池がパチパチ鳴りだしてやばそうなので今回は終わり!