「0.0.0.0」のIPアドレスが割り当てられているデバイスと通信する方法


20

VxWorksと呼ばれる非常に基本的なOSで動作する産業用機器があります。通常、IPv4 IPをローカルIPと同じ範囲に設定し、診断ソフトウェアを実行することにより、トラブルシューティングのためにシステムと通信します。

数週間前、私は何らかの奇妙な理由で、システムのローカルIPアドレスがに設定されていることを発見しました0.0.0.0。今、私はそれを変更するために診断に入りたいが、私のPCはで始まるIPの設定を許可しない0

0.0.0.0Windows PC を使用するローカルIPを持つデバイスと通信する他の方法はありますか。

メーカーに出荷せずにデバイスを工場出荷時のデフォルト設定にリセットする方法はありません。


14
他の状態0.0.0.0はルーティング可能なアドレスではありません。多くのソフトウェアがバインドし0.0.0.0て、そのソフトウェアがネットワークインターフェイスに割り当てられているIPアドレスにバインドできるようにします。これにより、たとえば、デバイスをDHCP設定に配置しやすくなり、デバイスのIPアドレスを取得するだけで接続できます。私の大きな疑問は、マシンのIPv4 IPをローカルIPと同じ範囲に設定してから診断ソフトウェアを実行する理由です。意味がありません。デバイスのIPアドレスを取得して接続するだけです。とはいえ、私にはアイデアがあります。回答を投稿します。
JakeGould

VX WorksはDHCPを実行しない可能性があるため、VX Worksで内部的に行う必要がある静的IPアドレスが必要になる場合があります。それに加えて、VX Worksマシンと通信するPC上のソフトウェアまたはインターフェースは、そのIPアドレスを知っている必要があります。VX Worksマシンと通信する必要があるすべてのマシンがIPアドレスを知っていることを確認する必要があります。自動入力される場合と、手動で入力する必要がある場合があります。all-0sアドレスはデフォルトゲートウェイとして機能しますが、VX Worksマシンとホストの両方が通信したい場合、そのゲートウェイは共通です。
シャンケンシュタイニウム

7
デバイスが0.0.0.0のIPアドレスを使用していることをどのようにして判別できましたか?ネットワーク経由でデバイスと通信できるソフトウェアを使用しましたか、またはデバイス上にIPアドレスを表示する基本的なヒューマンマシンインターフェイス(HMI)がありますか?また、明らかな質問を回避するために、それをオフにしてから再度オンにして、正常なアドレスを取得するかどうかを確認しましたか?
サムスクース

5
0.0.0.0IPスタックが標準に準拠している場合、文字通りアドレスを割り当てることはできません。これにより、いくつかのオプションが残ります。10.0.0.0 . IPアドレスの割り当てに失敗したことを通知する方法として表示されます。2.壊れたIPスタックがあり、どういうわけか自分自身を割り当てることができました0.0.0.0。VxWorksについては、2つのうちどちらが最も可能性が高いかについて十分に知りません。アドレス0.0.0.0が本当に割り当てられている場合は、通信するためにハッキングされたIPスタックが必要です。ただし、アドレスがまったく割り当てられていない場合、それはあまり役に立ちません。
カスペルド

4
IPアドレスが0.0.0.0であるとどのように判断しましたか?端末にいる場合は、それを使用してIPを設定できます。
CramerTV

回答:


23

0.0.0.0有効なIPアドレスではありません。RFC1700(a)では、0.0.0.0/80.anything.anything.anything)は送信元アドレスとしてのみ予約されています。

通常、システムとアプリケーションはポートをバインドします。0.0.0.0これは、どのインターフェースからでもポートにアクセスできることを意味します。

私はVxWrksに精通していませんが、他のコンピューターデバイスとのインターフェイスにローカルIPを指定する方法があると思います。

WindRiverには、IPセットアップの構成方法に関するさまざまなマニュアルがあります。


0.0.0.0sourceとしてのみ有効な場合、ポートはどのように0.0.0.0アクセス可能にバインドされますか?私は詳細が欠けていると確信していますが、これは矛盾のように聞こえます。
キャプテンマン

20
@CaptainMan:ソケットAPIの側面とIPプロトコルの側面を混同しています。バインディング0.0.0.0は、ローカルに設定されたアドレスに宛てられたパケット/接続を受け入れるAPIレベルのものです。0.0.0.0プロトコルレベルのどこにでも移動するためのパケットは含まれません。
R ..

1
@CaptainMan:0.0.0.0空の文字列として扱われます。サーバーからの接続を許可するように設定する0.0.0.0と、任意のIPアドレスからの接続を許可します -それが0.0.0.0意味することです。バインドしない場合0.0.0.0、サーバーは単一のIPアドレスからの接続のみを受け入れ、ネットワーク上の他のマシンからの接続を拒否します。0.0.0.0以外のバインディングを一種の組み込みファイアウォールと考えてください
-slebetman

13

PCをだまして、デバイスに実際のIPアドレスがあると思わせることができます。ただし、物理アドレス(MACアドレスとも呼ばれます)、2桁の6桁のフィールドが必要です。これを行うには、ARP解決テーブルに追加します。Windowsでは、cmdターミナルを開き、arpを使用します。

arp -s <IP address> <physical address>

もちろん、ネットワーク内で一意のIPアドレスが必要です。そうでない場合、スタックは別の場所に再ルーティングされます。この時点で、デバイスにアクセスできるはずです。ネットワークインフラストラクチャは、物理アドレスに従ってルーティングします。

Linuxでも同じです。ターミナルを開き、arpを使用します。

うまくいかないかもしれない!! 一部のデバイスは、自分のIPにのみ応答します。しかし、私はそれがあなたの場合ではないと推測しています。


1
これがうまくいくかどうか知りたいです。間違いなくクールなトリック。
トログナンダー

@BaileySああ、それは通常の状況では大丈夫です。アドレス解決の手動オーバーライドを自動テーブルに挿入するだけです。opに役立つかどうかは別の質問です
-Gnudiff

2
このアドレスにデータを送信できるようになったとしても、
応答

1
iptablesのほとんどは、最低レベルのルーティングマシンの上にあるため、その種の作品へのアクセスが制限されている可能性があります
...-rackandboneman

1
@BaileySありません。通常のIPスタックを持つデバイスはそうすべきではありません。ルートテーブルは、自分以外のIP番号へのパケットアドレス、またはルーティング方法がわからないパケットアドレスを無視します。この場合、OPは小さな産業用デバイスについて尋ねています。ほとんどの場合、IPスタックが実装されていません。到達したパケットに応答するだけです。知っているのは、そのような多くのものを見て使用したからです。コストを節約するために、設定用のパネルやインターフェイスはありません。MACアドレスに一致する「推奨」IPを含むパケットを送信するだけで十分です。
ゲイブ

12

0.0.0.0IPアドレスは結構ですが、私は他のデバイスは、簡単にそのデバイスに接続するには、あなたの診断ソフトウェアを許すから、ゼロコンフィギュレーションネットワーキングトラフィックをブロックすることであることをネットワーク上で変更されたことに何かを推測します。

他の人と同様に、回答の状態は0.0.0.0、デバイス上のすべてのネットワークインターフェイス上の任意のIPアドレスにバインドするためにソフトウェアによってよく使用される、ルーティングできないIPアドレスです。これは基本的に次のことを意味します。

「私はソフトウェアの一部であり、実行中のマシン上で割り当てられたIPアドレスへの接続を受け入れます。」

したがって、デバイスがDHCPを使用して(接続されたインターフェイスの独自のIPアドレスを取得する)、割り当てられたアドレスを取得1.2.3.4すると、でそのデバイスに接続できます1.2.3.4。そして、そのアドレスが5.6.7.8デバイスに変更されると、を介してデバイスに接続できるようになります5.6.7.8

これ0.0.0.0はあなたが発見したもののようですが、問題の原因ではありません。むしろ、私が思うに、あなたが述べている問題は次のように明らかになります:

「トラブルシューティングの目的で、通常、IPv4 IPをローカルIPと同じ範囲に設定してから診断ソフトウェアを実行することでシステムと通信します。」

まず、それは奇妙に思えます。VxWorksデバイスに接続するためにマシンのローカルIPアドレスを変更する必要があるのはなぜですか?デバイスのIPアドレスに直接接続するだけではいけませんか?

これを述べたとき、私が考えることができるのは、デバイス(および診断ソフトウェア)が何らかのゼロ構成ネットワークセットアップを使用して動作する可能性があることだけです。つまり、デバイスはネットワーク上でブロードキャストし、診断ソフトウェアはこれらのデバイスブロードキャストを検索して、正確なIPアドレスを知らなくてもデバイスに接続できるように設計されています。

この種の「自己構成」ゼロ構成ネットワーキングは、頭痛になるまで便利です。

私の最初の推測は、デバイスに割り当てられたIPアドレスを判別できる場合、デバイスに直接接続できることです。さらに考えてみると、過去に接続できた理由は、現在ではないが、デバイスのゼロ構成ネットワーク設定がブロードキャストしているポートをブロックしているネットワークの変更に関係しているのではないかと思います。どのポートか わからない。しかし、ゼロ構成トラフィックがネットワークを介してルーティングされていない場合、デバイスに接続できず、0.0.0.0IPアドレスはそれとは無関係です。


6

0.0.0.0ルーティングできないアドレスです。「実際には存在しない」、または実際には「非常に多くの場所に存在する可能性がある」ため、ルーティングする方法はありません。

ホストであるかルートであるかに応じて、わずかに異なる意味を持つことができます。

この場合は適用されないルートとして、それは「デフォルトルート」を意味します。これは、それ以上の指示なしで、デフォルトゲートウェイ、「任意のルート」、または 127.0.0.1

ホストとして、そして最も顕著なのはあなたの場合、どちらかです。ウィキペディアで説明されているように

ホストがまだアドレスを割り当てられていない場合に、ホストがそれ自体として主張するアドレス。DHCPの使用時に初期DHCPDISCOVERパケットを送信するときなど。

ホストのIPスタックがこれをサポートしている場合、DHCPを介したアドレス要求が失敗したときにホストが自身に割り当てるアドレス。

通常はDHCPを使用していると仮定して、フルリセットではなく、いくつかのことを試してください-「スイッチをオフにして再度オンにする」か、単にネットワークを切断し、1分間待ってから接続し直してください。住所。

また、もちろん、DHCPサーバーが実際に見えることを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.