Lucky Life Manのブログ

日記の延長みたいなもの

接続相手先の使用OSを知る方法

pingの意外な使い方

接続しようとしたパソコン等に接続確認をする際にまず行うのがコマンドプロンプトからpingを実行することだ。

接続されていると以下のコマンドが返ってくる。

C:\Users\hage> ping 192.168.0.10

windows.example.com [192.168.0.10]に ping を送信しています 32 バイトのデータ:
192.168.0.10 からの応答: バイト数 =32 時間 =1ms TTL=128
192.168.0.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.0.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.0.10 からの応答: バイト数 =32 時間 <1ms TTL=128

192.168.0.10 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms



一般的には接続確認に使うのだが、この中にはあまり気にしないが、そこそこ貴重な情報が含まれている。

相手先が使用しているOSがわかる
コマンドをたたいて帰ってくる値にTTLがある。
この値はOSごとに決まっていて、Windows(デフォルト)は128 Linix(RJEL)は64、ネットワーク機器(ルータ、スイッチ)は255である。
出社して、たまーーーーーーーーーーーーに、IPアドレスがすでに使われているんですけどって質問を受けるときがある。そのとき、pingを打って調査すると、値が戻ってくる。TTLが128であれば、クライアント側で不正にIPを使用しているため、一斉メールを流し、犯人をつきとめるが、犯人がでてこないときがある。その時、TTLが役に立つことがある。TTLに64が入っている場合だ。普通使用しているクライアントPCはWindows。往々にして64はLinuxでサーバーとしてすでに割り当てているIPアドレス。サーバーのアドレスを変更することはめったにないので、Windowsのクライアント側のIPアドレスの問題として切り分けできる。最初から、正式なIPアドレス表を見ればいいのだが、pingを打った方が手っ取り早いというのもあり、まずはpingを打ってしまう。結局、原因はわからないが、クライアントのIPが変わってしまい、サーバーとIPの競合が発生し、正式なIPアドレス表を見て、クライアント側でIPを割り当て治してもらって対処している。