「みんな教えて! 選手権!!」開催のお知らせ

初めて質問します。よくわからないなりに調べてみたのですが行き詰ったので教えてください。
ネット閲覧ができるのですがコマンドプロンプトからのpingが通らないなんてありえるのでしょうか?

ここ数日ネットへの接続トラブルに見舞われて解決できなかったのでOSを再インストールしてしばらく後の症状です。

ブラウザ:chrome最新版, IE9(基本的にどちらも試しています)
OS:windows7(ノートパソコン)
ネット環境:海外なのであまりよくわかりませんが、アパートの各部屋にケーブルが引いてあって有線で直接接続しています。いったんプロバイダ?のページへ飛んで認証を受けるとネットが使えるようになります。
セキュリティ:Microsoft security essentials(アンインストールしても症状は変わらず)、windows firewall(オンオフで症状に影響なし)

コマンドプロンプトからping "デフォルトゲートウェイのアドレス" と打つと問題なく応答があります。
ping www.google.com (その他任意のアドレス)と打つと「要求がタイムアウトしました」となります。
nslookup www.google.com (その他任意のアドレス)と打つと必ず2回タイムアウトした後三回目で成功してアドレスが表示されます。

しかしブラウザでは正常にすべてのサイトが閲覧できます。ただし、時々ページが見つからないエラーが生じます(原因はよくわかりません。更新するとつながります)。


僕の(2日間の付け焼刃の)理解ではpingを打つというのはブラウザなどが行っている通信を原始的にテストするためのコマンドで、ブラウザがつながるのにpingが応答しないというのは理解できません。

原因(理由)を理解するためになにか参考になる方法などがありましたら教えていただけますか?
残念ながらパソコンは一台しか持っておらず他のパソコンで同じ回線を比較することはできません。
月曜日になったら職場の回線でこのパソコンを試すことはできます。

(実用上は問題ないともいえますが、解決しない場合はもう一度リカバリーしてみるつもりです。)

A 回答 (4件)

#1です。



ほぼその通りの認識で構いません。

良心的でないと考えるよりも、その管理者が1つは
安く回線を入手したいということがあります。
日本国内でマンションで独自にネットをひくとなると
複数固定IPサービスになるわけで
たとえば、13戸いるとしたら、2,30000円も
プロバイダ代にかかります。
ですが、1IPで運用すれば、数1000円ですので・・

ですが、ここまで良いです。
pingが通らないのは、セキュリティーポリシーを厳しくしておいて
なにか居住者がやらかしても、管理コスト(やられた側へのサポートコスト)を
0にするために、行っているにしかすぎません。
一応WindowsやMacの標準コマンドにpingがあるとしても、
パソコンを買って、インターネットを接続する前に、
pingをして、接続されているかどうかわかる方法もありません。

ですので、そういうわからないもので、かつ攻撃の元になるものを
遮断していく、もしくは、余計なものを遮断していくことで
管理コストのひとつを削減していると考えられます。

おそらく、これは、大家さんあたりが、更に上に別のプロバイダー?から
機器一式を購入 またはレンタルして運用しているものと考えられますので
大家さんに、pingが通らないよ!といっても、わけわからないはずです。

ですが、上の別のプロバイダー?に言っても、めんどうがって
やってくれないオチでしょうか。

この回答への補足

職場(大学)で試してみたので報告します。

自分のパソコンの場合
有線:デフォルトゲートウェイにはpingが通る。googleには通らない。
無線:どちらにも通る。

職場のパソコン(ubuntu)
有線のみ:どちらにも通る。

有線での比較はケーブルを直接差し替えただけなのですが。

補足日時:2012/11/14 02:42
    • good
    • 2
この回答へのお礼

いろいろ疑問はつきませんが、
・実用上の問題はない(と思う)
・職場のネットワーク管理者との間には分厚いローカル言語の壁がある
という点を考慮してこれ以上はいったん忘れようと思います。
もし別のノートパソコンを手に入れたらそのときに比較してみるともっといろいろはっきりするでしょう。
いずれにせよ皆さんに教えていただいたことはいろいろと勉強になりました。ありがとうございました。

お礼日時:2012/11/14 02:51

>>ネット閲覧ができるのですがコマンドプロンプトからのpingが通らないなんてありえるのでしょうか?



No.1さんの回答にあるように、WebとPingのポート番号は違っています。接続先のサーバがどのポート番号を生かすかは、通信相手のサーバ管理者の考え方しだい。だからPingが通るけど、Webがダメってこともあります。
質問者さんの「こうであるはず」というのは単なる思い込みであり、「ありうる」ことです。

ただ、私のPCでは、ping www.google.com は通るので、googleはpingを返します。なので、No.1さんの回答にあるように、アパートが使うネットワークの管理者が「pingが使えると悪意を持った使い方に通じる可能性がある。普通のユーザにはpingは要らない。だからpingは通さない」と設定している可能性が大きいです。

でも、同じ部屋の環境で、しばらく前はpingが通っていて、何らかのトラブル、あるいはPCを買い換えた後にpingが通らなくなったというなら、リカバリーとか、アンチウイルスソフト等の設定を見直してみる価値もあると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。皆さんの書き込みを順番に何度も読んでなんとかおっしゃることがわかってきました。ちなみにpingを試したのは今回が初めてなのでなんともいえません。
このパソコンを他回線で試してpingが通るようでしたらネットワーク管理者によってpingが遮断されているのだろうということで質問を締め切ろうと考えています。

お礼日時:2012/11/10 16:27

pingについての理解が微妙に間違っていると思います。


pingを打つというのはICMP echo requestという制御用の命令を送るということです。
通常はこれにICMP echo replyが返ってくるので、echo requestを送ってからecho replyが返ってくるまでの時間やecho requestが相手に届くまでに何ホップかかったかを表示することができます。

ブラウザでどこかのサイトを閲覧するには対象にTCPで接続し、多くの場合はport 80やport 443にHTTPというプロトコルで内容の送信を要求し、その内容を得ます。あとはブラウザが返信されてきたHTMLを解釈して描画します。

nslookupはUDPで(TCPもあるが、あまり使われていない)システムに登録されているDNSリゾルバーにドメインに対応するIPアドレスを請求し、リゾルバーの方で調べてもらった後に、結果としてIPアドレスを送ってもらいます。この際、途中で調べた内容はキャッシュされます。例えば、www.example.comをnslookupした場合、リゾルバーはキャッシュがないときは予めDNSリゾルバーに登録してあるルートネームサーバーにcomを管理するネームサーバーのIPアドレスを教えてもらい、comを管理するネームサーバーにexample.comを管理するネームサーバーを管理するネームサーバーのIPアドレスを教えてもらい、example.comを管理するネームサーバーにwwwのIPアドレスを教えて貰い、それをnslookupコマンドに返信します。この際、com、example.comを管理するネームサーバーのIPアドレス、www.example.comのIPアドレスは返事が来た時にキャッシュされます。

インターネット上の通信では、送受信するデータはパケットと呼ばれる一定の大きさのデータに分割されてやり取りされ、ルーターを経由してやり取りされます。このルーターは宛先のアドレスを見てそこに送るという仕事をしていますが、次の宛先に送れる量以上のパケットが来たら捨てて良いことになっています。つまり、たくさんの人がルーターが送れる以上のパケットを送った場合はそれだけパケットが捨てられ、スムーズに通信できないことになります。

TCPだとどれが届いてどれが届いていないかを番号を振って管理していて、届いていないものは再送してもらうようになっているのでパケットが落ちると再送しますが、UDPやICMPはパケットが落ちるとそこで通信は完全に失われます。つまり、UDPやICMPだと返事が来なくても自動的にはリカバリーされません。逆に、ソフトウェアの方でリカバリーするように作ってあるとUDPでも安定した通信ができると思います。

DNSの例に戻ると、リゾルバーがつながっているネットワークの調子が悪いと何度もパケットが捨てられて何回かやってやっと見つかるということかもしれません。リゾルバーでは以前引いたネームサーバーのIPアドレスはキャッシュされているので何度かやると調子が良くなることがあるのでしょう。
ブラウザからの場合うまく行くのはブラウザの方で成功するまで何度も試しているからではないでしょうか。

まとめると、pingを打つ場合とブラウザでどこかのサイトを閲覧するというのは使っているプロトコルが違います。一方はICMPという制御用のプロトコルを使い、もう一方はTCPという通信用のプロトコルを使います。自分が思うに、その回線がICMPを通さないように何らかの制限をかけられているか、通信量が多すぎてパケットロスが発生しまくっているのかのどちらかだと自分は予想します。

なんで全部の通信にTCPを使わないの?とかなんでリカバリーするようのプログラムを書かないの?とか思ったら、「TCP UDP 違い」などで検索して自分で調べてみてください。
    • good
    • 0
この回答へのお礼

詳しい説明ありがとうございます。いろいろと違いがあるのですね・・・。
本題からは外れますが、、、

nslookupのオプションで-vcでTCP接続で検索できるというのを見つけたので実行してみました。この場合、サーバーはunknownと表示され、unknownがwww.google.comを見つけられません。とエラーが出ます。
ところが、DSNサーバーを8.8.8.8(google)に指定すると直ちに回答がありアドレスが表示されます。このような違いはなぜ生じると考えられるのでしょうか。
もし何かご存知でしたらよろしくお願いします。

お礼日時:2012/11/10 16:22

こんにちわ。



うちもこれだけではわかりかねますが、おそらく、これでしょう。

ネット環境:海外なのであまりよくわかりませんが、アパートの各部屋にケーブルが引いてあって有線で直接接続しています。いったんプロバイダ?のページへ飛んで認証を受けるとネットが使えるようになります。

おそらく、海外のオレオレプロバイダー的なもので、日本でそれをあてはめると
レオネットにあてはまる可能性があります
http://www.leo-net.jp/

#レオネットも所詮、オレオレプロバイダーのようなものです。

それですので、今はそうひどくはないのですが、当初から
レオネットのユーザーは、被害者の会とかいうページを
たてていたりもします。
http://www32.atwiki.jp/leopalace-higai/

#いいかえれば、レオパレスに入ると、物理的にも
他のプロバイダーに入りにくい・・・

ここまでは余談なのですが・・・


このインターネット接続において、普段使用するポート
(Webは80番とか、メールは25、110等)以外は
閉鎖している可能性もあります

それですので、ping (ICMPでポート番号はない)は、
悪意な使い方をしますと、サーバーや回線に攻撃できるということで
閉じられている可能性があるということです。

更に、アパートのオレオレプロバイダーということで、もしかしたら
プライベートIPからでの接続であるかもしれません。


ちなみに、googleは通るのですが、Webサイトやサーバーによって
pingが通らないことは、セキュリティー的に今は当たり前に
なってきてしまっています。
    • good
    • 0
この回答へのお礼

勉強になります。ありがとうございます。自分の理解したところを書きますのでもし間違いがありましたら指摘してください。

セキュリティ上の理由でネットワーク管理者がICMPを遮断している可能性が高い。この場合pingが通らない。ブラウザからのweb接続は方法が異なるので影響を受けない。

この回線は”オレオレプロバイダー”的なあまり良心的でない?サービスかもしれない。アパート単位(もっと大きい?)でグローバルIPが割り当てられており個人はプライベートIPしか持っておらず、オンラインゲームやサーバ設置など利用不可になるサービスが存在する。ただしpingが通らない問題とは関係ない。

お礼日時:2012/11/10 15:59

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A