IPアドレスのゼロパディングはNG

備忘録
この記事は約3分で読めます。

今回は仕事上で改めて記憶しておこうと感じたものを書いてみました。恐らく興味の無い方には全く意味の無い記事となりますので(笑)、スルーして下さい。

しかし時間があるんでちょっと読んでみるかという方がいらっしゃるかもしれませんので、自分なりの説明(間違っていたらすいません)も付けてみようと思ってます。

 
仕事がら「PINGコマンド」は良く使うのですが、先日会社の人より受けた質問で調べたものがあったので記載しておきます。知っている方は恐らくタイトルだけで感じ取って貰えるかと(笑)

PINGコマンドとは?

Pingコマンドとは何か分からない方もいらっしゃるかと思いますので、ネットで検索してみると、

pingは、ネットワーク疎通を確認したいホストに対してIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンド

 
とありました。IPパケットなどの用語は省略しますが、要はこの相手先の機器との通信が取れているかどうかが確認出来ます。

 
取れている場合だとこんな感じで、TTLのところに数字が表示されます。(数字の意味は割愛します)

 
取れていない場合だとこんな風に返ってきません。

で、今回はこのPINGコマンドを入力する時のIPアドレスの入力方法のお話です。

ゼロパディングとは?

まずは「ゼロパディング」という用語。これもネット上で調べてみると、

ゼロパディングとは、数値を文字として表現・表示する際に、指定された桁数に足りない分だけ左右に「0」を追加する処理のこと

 

と書かれているので、PINGコマンドを使用する時にこんな形で入力することになります。

 
通常は下記の様にIPアドレスは「192.168.100.50」といった形で入力します。

 ;
しかし、ゼロパティングだとIPアドレスは「192.168.100.050」と最後の050の部分の様に桁数を揃えるために余計に「0」を追加して入力。

 

そもそものお話は?

今回のお話は会社の人がある業者さんから受けたものを聞いたものです(又聞きで要約しています)。

業者
当社の機械と御社の機械がつながらない
担当者
PINGは通りますか?
業者
指定先の192.168.100.50には通らないが、192.168.100.050なら通る どう言うこと?
担当者
???

といった流れでこちらに相談が来ました。

原因は?

で、原因ですがやはり先に書いた「ゼロパディング」。

つまり今回の事案だと192.168.100.050と第4オクテットを「050」にしてしまうと実際には「192.168.100.40」にアクセスしてしまうと言うこと。IPアドレスの数字の前にゼロを付けてしまうと8進数で扱われてしまう様です。

さらに今回は不幸?にも192.168.100.40に機器があったため、PINGが通ってしまったんですね。。(TTLの数字で機器の判断も出来たのですが。。)ちなみに繋がらなかった状態は機器の再起動で解決したとか。。

以上、IPアドレスのゼロパディングはNGというお話の備忘録でした。

タイトルとURLをコピーしました