Linuxゲリラ戦記

「な、なぜ俺が犯人だと分かった!?」
「くっくっく……。現行犯逮捕だからだ」

左を向いているペンギンみたいなキャラクター、ナックス

34.私のハッキングはなぜバレるのか。whoisコマンド。nslookupコマンド。ifconfigコマンド。

ナックス「はい。というわけで今日はなぜハッキングがバレるのかを解説したいと思います」

デビー君「はーい」

ナックス「実は、サーバーというのは基本的にログ機能を持っています」

デビー君「ログ機能?」

ナックス「ログ(記録)機能。つまり、サーバーに対してどこのIPアドレスからどんなアクセスがあったかだとかをファイルに自動的に記録しておく機能です」

デビー君「『IPアドレス』ってなに?」

ナックス「IPアドレスとは、ネットワークの世界から見たあなたの住所です」

デビー君「え!!IPアドレスを見たら僕の住所が分かるの!?」

ナックス「いや。そんなにはっきりとは分かりません。ぼんやーり。なんとなーく分かります」

デビー君「何、その奥歯にもののはさまったような言い方は……」

ナックス「説明するより見る方が早かろう。まずあなたのIPアドレスをこちらでチェックしてください」

あなたのグローバルIPアドレス

デビー君「ん?なんだか 123.45〜 みたいな変な数字が書かれてるぞ?」

ナックス「そうです。それがあなたのIPアドレスです」

デビー君「え!?僕の情報はもうナックスに盗まれたの!?」

ナックス「いえ。盗まれたと言いますか、正直IPアドレスなんて言うものはインターネットをやっている限り駄々漏れです。全てのウェブサーバーが基本的にログ機能を持っています」

ナックス「が!IPアドレスから個人を特定することは基本的に不可能です」

デビー君「え?一体どういうこと?」

ナックス「はい。そんなこんなで早速CUI環境を立ち上げましょう」

CUIを起動する

デビー君「立ち上げました」

ナックス「今回はコマンドであなた自身のIPアドレスからあなたの情報がどこまで分かるか、をやってみたいと思います」

ナックス「まずは nslookup コマンド。DNSサーバーに問い合わせてホスト名からIPアドレス。または逆にIPアドレスからホスト名を検索できます」

$ nslookup

nslookupコマンドを起動する

デビー君「ん?>で止まっちゃったけど?」

ナックス「ここで、先ほどのあなたのIPアドレスを入力してEnterキーを押してください」

nslookupコマンド詳細

デビー君「おー。何やらわけの分からない情報が……」

ナックス「はい。IPアドレスとは分かりやすく言えば『コンピュータにとって理解しやすい住所』です。ですが、IPアドレスを数字のまま扱うと人間には分かりにくいですよね。ホスト名とはIPアドレスを『人間にとって分かりやすい様に表現を変えた住所』です。DNSサーバーもWebサーバーなどのようなサーバーの一種で、Webサーバーがサイトを見せるサービスを提供しているのに対して、DNSサーバーはホスト名とIPアドレスの対応付けを行うサービスを提供しています」

ナックス「さて、結果を見てみましょう。私もネットワークは苦手なので正確に理解しておらず、ヤバそうなものはとりあえず消していますが、我々のような素人でも分かる情報。『このIPアドレスの人はso-netのプロバイダーを使ってる』ってことです」

デビー君「プロバイダーって、確かパソコンを購入した時に契約したインターネット接続業者のことだよね。確かにso-netという文字が」

ナックス「さてnslookupコマンドの終わり方はexitと入力してEnterキーを押してください(ちなみに、他にも調べたいIPやホスト名があれば、このまま入力してEnterキーを押すことで調べることが出来ます)」

ナックス「nslookupコマンドは以下の様に直接IPアドレスまたはホスト名を指定して使うことも出来ます」

$ nslookup ホスト名またはIPアドレス

ナックス「さて、次はwhoisコマンド」

$ whois ドメイン名またはIPアドレス

ナックス「whoisコマンドはドメイン名、またはIPアドレスからドメインの情報を取得します」

whoisコマンドでドメインの情報を取得する

ナックス君「ここでは、IPアドレスからそのIPアドレスを管理しているのがSo-netであること。更にSo-netの情報などが表示されてることがなんとなーく分かります」

ナックス「基本的に、知れる情報はここまでです」

デビー君「え!?これだけ!?僕の住所は!?」

ナックス「調べられません。なんとなーく分かるのはプロバイダくらいです。ただプロバイダが特定地域のプロバイダである場合はプロバイダ名から『あのプロバイダは秋田県でしか営業してないからこのIPの人は多分秋田に住んでるな』などが分かったり、ホスト名にakitaなどと使われていたりしたら『あぁ、多分秋田からだな……』などと分かりますが、だからどうしたと。マニアな人だとIP情報を収集、分析すればある程度場所とか分かるみたいですけど、ピンポイントでは無理です」

ナックス「さらにグローバルIPアドレスは一定期間が過ぎると(基本的に)変わります。なので、もし仮に『このIPアドレスはこいつが使っていたのか!!』って分かっても、一ヶ月後位には別の人がそのIPアドレスを使っていて、あなた自身には他のIPアドレスが割り振られていたりします」

デビー君「じゃあ僕のハッキングはバレないじゃないか!」

ナックス「いいえ。グローバルIPアドレスとあなた個人を特定する唯一の情報を持っているのがプロバイダーです。プロバイダーはあなたにグローバルIPアドレスを割り振って、あなたがネットの世界で自由に活動が出来るようにするサービスを提供しています」

ナックス「そして、あなたはプロバイダーと契約する時に当然あなた自身の住所や名前などを申告しています。IPアドレスは確かにランダムで変わりますが、あくまでもそのプロバイダーが管理しているグローバルIPアドレスの範囲での変更です」

ナックス「つまり、あなたがハッキングした『時間』とその『IPアドレス』さえ分かれば、警察はプロバイダーに問い合わせる事で『あぁ、その時間にこのIPアドレスをつかっていたのはデビーさんですね』と分かるのです」

ナックス「ちなみに、サーバーのログには当然アクセス時間も記録されています」

デビー君「そ、そうなのか……」

ナックス「そうです。でも、もちろん一般の人がプロバイダに問い合わせても個人情報なんて教えてくれるわけがありません。つまり『貴様のIPアドレスを分析してやったぜ!』と言われたら『し、しまった。俺が秋田県に住んでいることがバレてしまう!』くらいにはビビっても良いけど、それ以上は特にビビらなくても良いのでは、と」

ナックス「さて、最後にあなた自身のIPアドレスを知る方法ですが、ifconfigコマンドを使います」

# ifconfig

デビー君「お。左側の記号が $ ではなく # ということは su - でrootユーザーにならなければいけないんだよね」

$ su -
パスワード:
# ifconfig

CUIを起動する

デビー君「あれ?さっきのIPアドレスと別のIPアドレスが表示されてる……」

ナックス「そう。少なからぬ人が先ほどのIPアドレスとは別のIPアドレスが表示されていることでしょう(もちろん、同じIPアドレスの人もいると思いますが)。それはプライベートIPアドレスです」

デビー君「プライベートIPアドレス?そういえば、ナックスはさっきは『グローバルIPアドレス』って言っていたね」

ナックス「実は、グローバルIPアドレスは文字通り『世界のネットワークから見たあなたの住所』であり、あなたの家ではそれとは別に『あなたの家のネットワークだけでみたあなたのパソコンの住所』、すなわちプライベートIPアドレスというものがあります。おそらく、あなたの家ではルーターを使っているのではないかと」

デビー君「ルーターってあのパソコンと電話線の間にあるたくさんのケーブルが接続できる謎の物体?」

ナックス「それです。最近のルーターは高機能で、自動的にあなたのパソコンにプライベートIPアドレスを割り振ってくれるのです。ルーターは言わばあなたの家の中のネットワーク世界と、外のネットワーク世界との境界線を司るものなのです」

ナックス「そして、グローバルIPアドレスに関してはそのルーターが管理しています。つまり、あなた自身が自分のグローバルIPアドレスを知りたいなら、ルーターをプロバイダからもらった(あるいは買った?)時に一緒にもらったルーター管理ソフトで調べる他無いです」

デビー君「調べる他ない?」

ナックス「つまり、Linuxのコマンドからは調べられないのです」

デビー君「え!そうなの!?」

ナックス「そうなんですよ。私も今回の解説を行うにあたり調べてみたのですが、ルーターを使っている場合はLinuxのコマンドからグローバルIPアドレスを調べる手段は無いそうですよ。ビックリ」

ナックス「どうしても自分のグローバルIPが知りたい!!って時は、ネットで『自分のIPアドレス』とかいうキーワードで検索すればちゃんと外の世界から見たあなたの住所、すなわちグローバルIPアドレスを表示してくれるサイトがそこら中にあるので活用してください」

デビー君「なるほど。でも、ウェブサイトを運営している人に僕のIPアドレスが調べられ放題っていうのはなんだか気持ちが悪いなぁ……」

ナックス「ならばこちらも調べ返せばいいじゃない」

デビー君「え?」

ナックス「次回!ウェブサイトの情報を探れ!(35.ネットワークをちょっと知る。pingったりtracerouteったり)」