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と関連する良く見られている質問

QコマンドプロンプトはC:\WINDOWS\system32\cmd.exe ?

いつもアクセサリ⇒コマンドプロンプトで起動していたのですが、ふとコマンドプロンプトってなんだろう、と思ったのですが、C:\WINDOWS\system32\cmd.exeを起動しているということなのでしょうか?

そして、このプログラムのなかに、例えばipconfigのような機能(?)が用意されている、ということなのでしょうか?

よろしくお願いします。

Aベストアンサー

もう少し詳しく言うと、cmd.exeはユーザとOSの間の仲介を行う、"shell (シェル)"と呼ばれる種類のプログラムになります。
コマンドプロンプトでは、ユーザはコマンドラインでプログラムを指定して実行します。なので、コマンドプロンプトから"notepad.exe"と入力すると、メモ帳が立ち上がります。

"ipconfig.exe"はコマンドプロンプト上で実行することを前提としたプログラムの1つです。

もっと詳しく知りたい場合は、OS(カーネル)とshellの関係について調べてみてください。

QC:\WINDOWS\system32\ntoskrnl.exe が存在しないか壊れている

下記のエラーが表示され Windows が立ち上がりません。

"C:\WINDOWS\system32\ntoskrnl.exeが存在しないか壊れているためWindowsが起動できません。上記のファイルをインストールしてください。"

Windows 2000/XP の緊急修復ディスク (ERD) を作成し、起動試みましたが結果変わりません。

レスキュー方法を教えて下さい。

OS : Windows 2000
Model : FMV 7000FL

[追記]
色々調べているうちに、「これは実際に ntoskrnl.exe や hal.dll が破損している場合よりも、boot.ini の記述が実際の情報と食い違っている場合に発生する」というものを見つけました。
この場合の対処として「boot.ini ファイルの記述を見直してください」とありますがどういうことなのでしょうか?
<http://homepage2.nifty.com/winfaq/w2k/boot.html#1208>

Aベストアンサー

Win2000インストールCDはお持ちですか?

お持ちなら別のPCでBOOT.INIを作りフロッピーなどに保存しておき、
Win2000のCDから起動して回復コンソールのCOPYコマンドでBOOT.INIを上書きさせます、

BOOT.INIの記述は、
オンボードIDEのプライマリマスタの第一パーティションが起動させたいパーティションであれば、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

となります、

http://nobumasa-web.hp.infoseek.co.jp/multi_boot/windows.html#kaifuku

HDDを取り出して他のPCに接続できるなら、
BOOT.INIを直接編集でも可能。

Win2000インストールCDはお持ちですか?

お持ちなら別のPCでBOOT.INIを作りフロッピーなどに保存しておき、
Win2000のCDから起動して回復コンソールのCOPYコマンドでBOOT.INIを上書きさせます、

BOOT.INIの記述は、
オンボードIDEのプライマリマスタの第一パーティションが起動させたいパーティションであれば、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professiona...続きを読む

QC:\WINNT\Tempの中身は削除してもよいですか?

タイトルとおりです。
C:\WINNT\Tempの中身は削除しても問題は
無いでしょうか。
よろしくお願いします。

Aベストアンサー

通常一時ファイルの入る場所なので
消しても問題ありません。
但し、現在使用中で消せなかったりする場合も
あります。

Q電源が突然切れる、syutem32\drivers\ntfs.sys

昨日 突然電源が落ちました。 その後下記のような文字が出て再起動できません。


次のファイルが存在しないか壊れているためWINDOWSを起動できませんでした。
SYSTEM32\DRIVERS\NTFS.SYS
オリジナルセットアップCD-ROMからWINDOWSセットアップを起動してこのファイルを修復出来ます。
修復するには最初の画面でRキーを押してください。



機種はSOTEC WL7160Cです。

カスタマーサポートに連絡したところ、
「リカバリーしかありませんね。データーは消えます。」
と、軽く言われてしまいました。

おそらく ウィルスか何かだと思うのですが、マイドキュメントのデーターがほしいので 何とか そのSYSTEM32 だけを直す方法 MSDOS からなどの 裏技
わかる方いらっしゃいませんか?

かなり落ち込んでいますので よろしくおねがいいたします。

ちなみに、 時々 短い時間ですが (バックアップをとるほど時間はないです。)OSが立ち上がるときもあります。 いつまで続くかわかりませんが、、、。

昨日 突然電源が落ちました。 その後下記のような文字が出て再起動できません。


次のファイルが存在しないか壊れているためWINDOWSを起動できませんでした。
SYSTEM32\DRIVERS\NTFS.SYS
オリジナルセットアップCD-ROMからWINDOWSセットアップを起動してこのファイルを修復出来ます。
修復するには最初の画面でRキーを押してください。



機種はSOTEC WL7160Cです。

カスタマーサポートに連絡したところ、
「リカバリーしかありませんね。データーは消えます。」
と、軽く言われてしまい...続きを読む

Aベストアンサー

WindowsXPのCDがあれば下記サイトの方法で
修復できます。(ただの上書きですが)
※リカバリCDではできません。

http://www7.plala.or.jp/asahikawa-ing/winxp_16.html

Q\system32\ntoskrnl.exe

PCに詳しくないものです 下記のように操作ミスでどうにもならず困っています 助けてください
IBM PC Vistaで起動時(1) windows2000から起動又は(2)windowsから起動のところ誤って(2)を押し
 次のファイルが存在しないか壊れているためwindows2000を起動できませんでした
 <windows2000root>\system32\ntoskrnl.exe
   上記ファイルをインストールし直してください  と出てリカバリーデスクを入れ電源を入れても全く動かず いろいろ調べたのですが分からず困っていますどなたかご教授ください 宜しくお願いいたします。

Aベストアンサー

質問時の
Vistaで起動・・
(1)Windows2000から・・・
(2)Windowsから起動・・・
のことはインストールOSは2000との訂正があったので、Windows2000として考えたみました。

2000のSPなしは、CDから直接インストールできないようなことの書いてあるのを見たような気がする。
そうなら、質問者さんのFDから起動が正しいように思いますが、何も起こらないなら起動FDが壊れているかFDDドライブの故障も考えられます。←これらについてはこれ以上の情報が無いため補足できることを持ち合わせていません。

別途対策法ですが、他にWindows2000のパソコンがあれば、そこから”ntoskrnl.exe”のファイルをコピーして(1.8Kbぐらいだった記憶)問題のパソコンのHDDにコピーするだけ。
ただし今回の不具合はパソコンが起動できないわけだから、そのHDDを外してUSB外付けアダプターに取り付け、正常な他のパソコンに接続して、そのパソコン(正常なパソコン)から同名ファイルを不具合のHDDにコピーして、不具合だったHDDを元に戻して起動してみてください。
本当に壊れたファイルがこれだけなら、起動できるはずです。

しかし、こんなファイルが壊れているということは、次にまた何かのファイルが壊れていると告げられるのを覚悟しておいてください。

もしこのようになれば、再インストール(または購入時の状態にもどす)するのが根本的解決策といえます。
もし不具合のパソコンがセーフモードででも起動できるなら”C”にチェックディスク掛けてみるのも試してみる価値ありです。

また両機でFDが使えるなら正常な”ntoskrnl.exe”ファイルをFDを使ってコピーする方法も可能す。
どちらにしても”ntoskrnl.exe”ファイルを不具合の方のHDDにコピーするときに間違いなく同じディレクトリーにコピーすることです。やり方に間違いなければ「同名ファイルがすでに存在します。(これを)置き換えますか ”Y/N”」の警告が出るはずですので、もちろん”Y”を押してください。


(ややこしい文章になりましたが適宜解釈してください。)

質問時の
Vistaで起動・・
(1)Windows2000から・・・
(2)Windowsから起動・・・
のことはインストールOSは2000との訂正があったので、Windows2000として考えたみました。

2000のSPなしは、CDから直接インストールできないようなことの書いてあるのを見たような気がする。
そうなら、質問者さんのFDから起動が正しいように思いますが、何も起こらないなら起動FDが壊れているかFDDドライブの故障も考えられます。←これらについてはこれ以上の情報が無いため補足できることを持ち合わせていません。

別途対策法です...続きを読む


人気Q&Aランキング

おすすめ情報