WindowsNTにおいて、WinNT\System32\Drivers¥etc内に「hosts」というファイルがありますが、これをメモ帳などで開き、その中にネットワーク内のクライアントの「名称」「IPアドレス」を記入する場合、具体的にどのように(ここからこういった感じで)行えばよいのでしょうか?後、これを行うと、どのような効果があるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

DNSはご存知でしょうか?


DNS(Domain Name System)はホスト名(例えば、www.okweb.ne.jp)
からIPアドレス(192.168.1.1のようなやつです。)を割り出す仕組みです。
現在、インターネットではDNSサーバへホスト名を問い合わせて、IPアドレスを
取得し、実際に接続するという方法が主流です。
hostsファイルは、この仕組みができる前の名残りで、ホスト名とIPアドレスの
対応表を書いたファイルです。
DNSを使わず、このhostsファイルだけで名前解決を行おうとすると、世界中の
ホスト名とIPアドレスの対応表を、各パソコンが持っていなくてはならず、
現実的ではありません。
その為、現在ではあまり使われません。

ただ、LANなどで、ちょっとホスト名とIPアドレスを紐付けしたい、といった
場合は有効ですので、利用されます。

[IPアドレス][スペース][ホスト名] の形式で記述します。例えば、

192.168.1.101 mypc_address

のように書いておけば、そのPCからmypc_addressというところに接続
しようとする(例えばブラウザでhttp://mypc_address/などと入力した場合)と
IPアドレスが192.168.1.101のホストに対して接続しに行くようになります。

ちなみに、DNSとhostsどちらが優先されるかはシステム依存ですが、通常のWindows
アプリでしたら、hostsを見に行って、名前解決ができなかったらDNSを使います。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2002/03/25 17:36

昔のネットワークは名前とIPの対応表を各マシン同士が


hostsファイルと言う形で管理していたはず、これだと
一台のマシンのIPが変更になったときにそのネットワークに
参加している全てのマシンのhostsファイルを変更しなければいけない
そのため、現在ではDNSがその役目をしている。

DNSに関しての参考URL
http://www.atmarkit.co.jp/fnetwork/rensai/dns01/ …

WindowsでのhostsファイルはLMHOSTSといって、NetBIOS名とIPアドレスの
対応するための物で、ルータを越えた場所にあるドメインへログオンしたり、
そのようなドメイン間で信頼関係を結んだりする場合使われることが多い。
現在では、各マシンのIPはDHCPで運用されている場合が多いので、
hostsファイルによる運用はあまりどこもやっていないが、DNSによる名前解決
が出来ない固定IPのサーバを記述しておくと便利に使うことが出来る。
デフォルトの設定だと、名前解決の順番はhosts→DNSとなっている。

例えば、自宅と会社両方を行き来するノートPCが合ったとして、自宅から
会社にPPTP等で接続することが出来る環境があるとする。
通常のWebは自宅のプロバイダが指定したDNSを利用しているので会社内の
サーバのIPは問い合わせてもこたえは得られない。そんなときに、hostsに
会社のDNSと同じように記述しておくと、会社でも自宅でも同じようにサーバを
名前で運用することが可能になる。

また、SpyBlockerというスパイウェアからPCを守ってくれるソフトがあり、
これはスパイウェアが情報を送信する先を127.0.0.1にすることにより、
情報を外に出さないということをやっている。

hostsファイルの書き方はいくつかありますが、
大体次の様な感じで書かきます。

127.0.0.1localhostlocalhost.localdomein

一番左:IP
真ん中:マシン名(ドメイン無し、もしくはエイリアス名)
一番右:マシン名(ドメイン付き)

それぞれの間は"スペース"または"タブ"を使うのが一般的

hostsファイル
http://www.atmarkit.co.jp/icd/root/11/5784411.html

LMHOSTSファイル
http://www.atmarkit.co.jp/icd/root/74/6425474.html

参考URL:http://www.atmarkit.co.jp/icd/root/11/5784411.html ,http://www.atmarkit.co.jp/icd/root/74/6425474.html
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2002/03/25 17:37

hostsは、TCP/IPで通信を行う場合に使用されるファイルで、これに設定を記述しておくことで、DNSを使用しなくても名前の解決ができます。



通常は、DNSを利用しても名前の解決が出来ないような状況に陥った場合(こちら側or相手側がDNSを利用していない、など)に利用します。
つまり、「IPアドレスでは接続できるが、本当はホスト名(コンピュータ名)でアクセスしたいんだよ~、でもできないんだよ~、え~ん」(ぉぃ)という場合に、hostsに
IPアドレス  ホスト名1  ホスト名2 ....
と書いておけば、名前の解決ができるわけです。
※IPアドレスとホスト名の間は、タブか半角スペースを使用のこと

例) 192.168.1.1 hoge1.hoge.net hoge1
   ※この場合、例えば「ping hoge1.hoge.net」でも
    「ping hoge1」でも結果が返ってくる、はず。
    むろん、ホスト名は一つだけでもOK。

ちなみに、「hosts.sam」というサンプルファイルがあったと思うので、エクスプローラで表示させるときには拡張子を表示させて確認してください。
「hosts.sam」にいくら記述しても有効にはなりません。
「hosts」が正解です。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2002/03/25 17:36

「127.0.0.1 localhost」の下に同様に書けばいいです。



例:www.goo.ne.jpの場合は「211.14.13.65 www.goo.ne.jp」となります。

この設定を行うと、www.goo.ne.jpにアクセスした場合、必ず先に211.14.13.65に接続に行きます。これは、大昔DNSの無かった時代にホストを参照するためにあったファイルだそうです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2002/03/25 16:55

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング