「IPアドレスから名前がわからない!」を解決する、DNS逆引き(PTR)の歩き方
ネットワークエンジニアとして現場に立っていると、深夜の障害対応で「え、この怪しい通信をしているIPアドレスは一体どこの誰なんだ?」と頭を抱える瞬間が必ず訪れます。
画面には無機質なIPアドレスの羅列。それがどこのサーバーで、どんな役割を担っているのか。手がかりが何もない状態から、その正体を暴くための強力な武器が、今回紹介する「DNS逆引き」です。
今日は、初心者エンジニアの皆さんと一緒に、この「IPアドレスから名前を特定する」という魔法のような仕組みを、身近な例えを交えて紐解いていきましょう。
—
そもそも「逆引き」って何?
普段私たちがWebサイトを見る時は、google.com のようなドメイン名を打ち込めば、DNSサーバーが「それは 142.250.xxx.xxx ですよ」と教えてくれます。これを「正引き」と呼びます。
では、逆引きはその逆。142.250.xxx.xxx という数字を見て、「ああ、これは Google のサーバーですね」と教えてもらう仕組みです。
郵便配達で例えてみよう
これを「郵便」に例えると分かりやすいですよ。
- 正引き(ドメイン→IP):住所(ドメイン名)から「この家はどこにあるか(緯度経度・IP)」を調べること。
- 逆引き(IP→ドメイン):届いた手紙の裏側に書かれた「差出人の住所」を見て、「ああ、これは〇〇市〇〇町の〇〇さんから届いたものだ」と確認すること。
インターネットの世界でも、「この怪しいアクセスはどこから来たの?」と突き止めるために、この逆引きが非常に重要な役割を果たすんです。
—
現場のエンジニアが愛用するコマンド dig -x
LinuxやMacのターミナルを開いて、まずは以下のコマンドを打ってみてください。これが逆引きの基本中の基本、dig -x コマンドです。
# GoogleのDNSサーバー(8.8.8.8)の正体を逆引きで調べてみます
dig -x 8.8.8.8
このコマンドを実行すると、ターミナルにはたくさんの情報が表示されますね。ここで注目してほしいのは、ANSWER SECTION という項目です。
;; ANSWER SECTION:
8.8.8.8.in-addr.arpa. 21599 IN PTR dns.google.
この PTR というのが「ポインター」の略で、これがまさに「逆引きレコード」のこと。8.8.8.8 という数字が指し示す先には dns.google という名前があるよ、と教えてくれています。
—
なぜ「in-addr.arpa」なんて変な名前が出てくるの?
先ほどの実行結果に 8.8.8.8.in-addr.arpa という見慣れない文字列が出てきたはずです。初学者の皆さんが一番混乱するのがここですよね。
実は、DNSは本来「名前から数字を調べる」ことに特化したデータベースです。でも、IPアドレスから名前を引くために、わざわざ数字を逆さまに並べて in-addr.arpa という特別な「逆引き専用の住所録」を作ったんです。
8.8.8.8を引くとき、DNSは裏側で8.8.8.8.in-addr.arpaという名前を検索しに行きます。- この特殊なドメインを辿ることで、数字から名前にたどり着けるようになっているんです。
「なぜわざわざ逆さまにするの?」という疑問については、「ネットワークの階層構造を管理しやすくするため」という深い理由があるのですが、まずは「逆引き専用の特別な検索窓があるんだな」と捉えておけば今は十分です!
—
トラブルシューティングでの実践活用術
現場でよくあるのは、「大量のアクセスログの中から、怪しい送信元を特定する」といったケースです。
もし、Webサーバーのアクセスログに 192.0.2.1 というIPが頻出していたら、以下のようにして調査します。
# 特定のIPアドレスを逆引きして、どんなサービスかを確認する
dig -x 192.0.2.1 +short
+short オプションを付けると、余計な情報を省いて「名前だけ」をズバッと返してくれるので、スクリプトで自動処理させたい時や、パパッと確認したい時に重宝します。
注意点:逆引きは「嘘」をつくこともある
ここで一つ、シニアエンジニアからの忠告です。逆引きの結果は、そのIPを管理している人が設定したものです。つまり、悪意のあるサーバーが「私は有名な金融機関ですよ」という偽の名前を登録している可能性もゼロではありません。
「逆引きで名前が出たから絶対に安心だ!」と過信せず、あくまで「手がかりの一つ」として扱うのが、プロの運用の心得です。
—
まとめ:一歩ずつ理解を深めていこう
今回は dig -x を使った逆引きの基本についてお話ししました。
1. 逆引きは「IPアドレスという数字の差出人」を確認する仕組み。
2. dig -x <IPアドレス> で簡単に調べられる。
3. PTR レコードがその答えを教えてくれる。
ネットワークの現場は、目に見えないパケットと向き合う孤独な戦いのように見えるかもしれません。ですが、こうして一つずつコマンドの意味を理解し、その裏側にある仕組みが見えてくると、障害対応が「恐怖」から「謎解き」へと変わっていきます。
今日から皆さんも、ターミナルを開くたびに「このIPの裏側にはどんな名前が隠れているんだろう?」と dig -x を試してみてください。それが、ネットワークエンジニアとして成長する第一歩ですよ!
それでは、また次回の記事でお会いしましょう。現場からは以上です!
コメント