J'ai un équipement industriel fonctionnant sous un système d'exploitation assez basique appelé VxWorks . Je communique généralement avec le système à des fins de dépannage en configurant mon IP IPv4 sur la même plage que l’adresse IP locale, puis en exécutant un logiciel de diagnostic.
Il y a quelques semaines, j'ai découvert que, pour une raison quelconque, l'adresse IP locale du système s'était réglée sur 0.0.0.0
. Maintenant, je veux entrer dans les diagnostics pour le changer, mais mon PC ne permettra pas de définir une IP commençant par 0
.
Existe-t-il un autre moyen de communiquer avec un périphérique dont l'adresse IP locale est 0.0.0.0
à l'aide d'un ordinateur Windows?.
Il n'y a aucun moyen de réinitialiser le périphérique aux paramètres d'usine par défaut sans le renvoyer au fabricant.
0.0.0.0
n'est pas une adresse IP valide. RFC1700 (a) indique que 0.0.0.0/8
(0.anything.anything.anything
) est réservé en tant qu'adresse source uniquement.
Normalement, les systèmes et les applications lient les ports à 0.0.0.0
, ce qui signifie que le port est accessible à partir de n’importe quelle interface.
Je ne connais pas bien VxWrks mais je suppose qu’il existe un moyen de spécifier une adresse IP locale pour l’interfaçage avec d’autres périphériques informatiques.
WindRiver propose divers manuels sur la configuration de la configuration IP.
Vous pouvez tromper votre PC en lui faisant croire que ce périphérique a une vraie adresse IP. Mais vous avez besoin de l'adresse physique (aussi appelée adresse MAC), le truc contenant 6 champs de deux chiffres hexadécimaux. Vous faites cela en l'ajoutant à votre table de résolution ARP. Sous Windows, ouvrez un terminal cmd et utilisez arp.
arp -s <IP address> <physical address>
Bien sûr, vous avez besoin d’une adresse IP unique et de votre réseau. Sinon, la pile sera déroutée ailleurs. Si vous arrivez à ce point, vous devriez pouvoir accéder à l'appareil. L'infrastructure de réseau routera en fonction de l'adresse physique.
Sous Linux, c'est à peu près pareil. Ouvrez un terminal, utilisez arp.
Cela peut ne pas fonctionner! Certains appareils ne répondent qu'à leur propre adresse IP. Mais je suppose que ce n'est pas votre cas.
0.0.0.0
convient, mais je suppose que quelque chose a changé sur le réseau sur lequel l'appareil est allumé afin d'empêcher le trafic réseau à configuration nulle de permettre à votre logiciel de diagnostic de se connecter facilement à cet appareil.Comme d’autres, déclarez dans leur réponse 0.0.0.0
est une adresse IP non routable qui est souvent utilisée par les logiciels pour lier n’importe quelle adresse IP sur toutes les interfaces réseau d’un périphérique. Cela signifie fondamentalement:
"Hé, je suis un logiciel et j'accepte toute connexion établie avec l'adresse IP attribuée sur la machine sur laquelle je suis en cours d'exécution."
Ainsi, si le périphérique utilise DHCP (pour obtenir sa propre adresse IP pour ses interfaces connectées) et que l'adresse attribuée est 1.2.3.4
, vous pouvez vous connecter à ce périphérique à 1.2.3.4
. Et si cette adresse devient 5.6.7.8
, l'appareil vous permettra volontiers de vous connecter via 5.6.7.8
.
Le 0.0.0.0
semble être quelque chose que vous avez découvert mais n'est pas la cause du problème. Je suis plutôt mon opinion, la question que vous avez est révélée lorsque vous dites:
«Je communique généralement avec le système à des fins de dépannage en définissant mon IPv4 sur la même plage que l’adresse IP locale, puis en exécutant un logiciel de diagnostic.»
Tout d'abord, cela semble étrange. Pourquoi devriez-vous changer l'adresse IP locale de votre ordinateur pour vous connecter au périphérique VxWorks? Ne devriez-vous pas simplement vous connecter directement à l'adresse IP de l'appareil?
Eh bien, lorsque vous dites cela, tout ce à quoi je peux penser est que le périphérique - et le logiciel de diagnostic - peuvent fonctionner en utilisant une sorte de réseau sans configuration setup. Cela signifie que l'appareil diffuse sur le réseau et que le logiciel de diagnostic est conçu pour rechercher ces diffusions afin de l'aider à se connecter à l'appareil sans connaître l'adresse IP exacte.
Ma première hypothèse est que vous pouvez vous connecter directement au périphérique si vous pouvez déterminer quelle adresse IP lui a été attribuée. Et en pensant encore plus, je parie que la raison pour laquelle vous pouviez vous connecter par le passé - mais pas maintenant - pourrait être liée à un changement de réseau ayant bloqué les ports de ce périphérique réseau sans configuration setup est en diffusion sur . Quel port cela peut être? Incertain. Mais si le trafic sans configuration n’est pas acheminé sur le réseau, c’est pourquoi vous ne pouvez pas vous connecter au périphérique et que l’adresse IP 0.0.0.0
n’a rien à voir avec cela.
0.0.0.0
est une adresse incontournable. Vous ne pouvez pas y accéder car "cela n'existe pas vraiment" ou, en réalité, "peut exister dans trop d'endroits".
Cela peut avoir des significations légèrement différentes selon qu'il s'agisse d'un hôte ou d'un itinéraire.
En tant que route, qui n'est pas applicable dans ce cas, cela signifie "route par défaut" qui, sans autre instruction, signifie soit la passerelle par défaut, soit "l'une de mes routes", ou similaire à 127.0.0.1
En tant qu'hôte, dans votre cas, c'est particulièrement le cas. comme expliqué sur Wikipedia :
L'adresse qu'un hôte revendique comme étant la sienne alors qu'aucune adresse ne lui a encore été attribuée. Comme lors de l'envoi du paquet DHCPDISCOVER initial lors de l'utilisation de DHCP.
L'adresse qu'un hôte s'assigne lorsque la demande d'adresse via DHCP a échoué, à condition que la pile IP de l'hôte le supporte.
En supposant qu'il utilise généralement DHCP, essayez plusieurs options plutôt qu'une réinitialisation complète: "éteignez-le et rallumez-le", ou débranchez simplement le réseau, attendez une minute, rebranchez-le. Il se peut qu'il demande simplement un nouveau DHCP adresse.
Assurez-vous également qu'il peut voir son serveur DHCP.