• ベストアンサー

IPアドレスについて

Linuxの端末(emaxなど)を利用して、ルーティング情報を取得したりして練習をしているのですが、分からないことがあったので質問します。 (1)サーバーが所属しているサブネットに所属しているIPアドレスの範囲を示したいのですが、どうすれば示せますか? (2)自分がログインしているマシンが把握しているMACアドレス<->IPアドレスの対応表を取得したいのですが、どう入力すればよいのでしょうか? 例えばルーティング情報取得するときは「netsta -r」で実行すれば出てきます。おそらくnetstatやifconfigやtelnetを使うと思うのですが、いまいち分かっていないので、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

(1) ifconfigでネットマスクが表示できますが、これを利用して求めます。 ネットマスクとは、そのネットワークセグメントにおけるアドレスの範囲を示したもので、例えば255.255.255.240となっていた場合、2進数で示すと11111111.11111111.11111111.11110000となりますから、下位4ビット(=10進数の16)だけがサブネット内で利用可能という意味です。範囲としては、下位4ビットが0000~1111までの16個という意味ですから、例えば192.168.100.100(11000000.10101000.01100100.01100100)が属する255.255.255.240のネットワークセグメントのIPアドレスの範囲は、下位4ビットを0000~1111まで変化させた192.168.100.96(11000000.10101000.01100100.01100000)~192.168.100.111(11000000.10101000.01100100.01101111)となります。 192.168.100.100が属する255.255.255.248のネットワーク、ということだと、マスクが11111111.11111111.11111111.11111000となりますから、下位3ビットがセグメント内で利用可能という意味になり、同様に計算すると、192.168.100.96~192.168.100.103(11000000.10101000.01100100.01100000~11000000.10101000.01100100.01100111)となります。 実際には、この範囲のうち、一番先頭はネットワークそのものを表し、一番最後はネットワーク内のブロードキャストですので、各々利用可能な範囲から除外されますので注意が必要です。 (2)arpコマンドで表示可能です。

pikatyu77
質問者

お礼

(1)ですが、非常に分かりやすいご回答で理解が深まりました。ありがとうございました!

その他の回答 (3)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.4

>(2)に関してもう少し質問したいのですが、MACアドレスとIPアドレスの対照表を見ることで、分かることなどありますか? 基本的にIPアドレス(ホスト名/NIC)とMACアドレスの対応が分かるだけです。

pikatyu77
質問者

お礼

ありがとうございました!

  • Lean
  • ベストアンサー率72% (435/603)
回答No.3

(1)  そのサブネットのIPアドレスの開始とサブネットマスクで表せばいいと思います。  例)192.168.1.0から128個のIPアドレス   IPアドレス:192.168.1.0   サブネットマスク: 255.255.255.128   CIDR(Classless Inter-Domain Routing)表記   192.168.1.0/25 どのように表記すればいいかは、以下のRFC 1878を参考にしてください。 ○RFC 1878(Variable Length Subnet Table For IPv4)  http://www.nic.ad.jp/ja/translation/rfc/1878.html (2)  イーサネット通信のために用いられるIPアドレスとMACアドレスの対照表であるARP(Address Resolution Protocol)テーブルが作成されているのでarpコマンドで表示すればいいです。  # arp -a  ※Linuxでも上記で大丈夫のはずですが、一応manデータ(オンラインマニュアル)で確認してください。

pikatyu77
質問者

補足

(2)に関してもう少し質問したいのですが、MACアドレスとIPアドレスの対照表を見ることで、分かることなどありますか?

  • shuka79
  • ベストアンサー率50% (8/16)
回答No.2

(1)サーバとあなたがログインしている端末は違うものとして話をしますと、 ・サーバと端末が同じサブネットにいるなら   端末のサブネットのIPアドレス範囲=サーバのIPアドレス範囲  なので説明不要ですね。自分の端末のIPアドレス、サブネットマスクは  ifconfig -aで見られるので、そこから計算できます。 ・サーバが別のサブネットに属している場合、端末からサーバのサブネットの  IPアドレス範囲を知ることはできません。もしサーバがインターネット上の  ものであれば、whoisサーバ(例えばhttp://whois.jp/)からサーバが属して  いるネットワークに関する「登録情報」を得ることはできます。ただしこれ  はあくまでも登録情報であって、実際にサーバが属しているサブネットとは  限りません。(もっと細分化されてる可能性あり) (2)「arp」で見られませんか?  (ルート権限が必要かも)

pikatyu77
質問者

お礼

No1に加えてありがとうございました☆