20

У меня есть промышленное оборудование, которое работает на довольно простой ОС под названием VxWorks. Я обычно общаюсь с системой в целях устранения неполадок, устанавливая свой IPv4 IP в том же диапазоне, что и локальный IP, а затем запускаю диагностическое программное обеспечение.

Несколько недель назад я обнаружил, что по какой-то странной причине локальный IP-адрес системы сам установил 0.0.0.0 . Теперь я хочу войти в диагностику, чтобы изменить его, но мой компьютер не позволит установить IP, начиная с 0 .

Есть ли другой способ связи с устройством, имеющим локальный IP-адрес 0.0.0.0 с помощью ПК с Windows.

Невозможно восстановить заводские настройки устройства по умолчанию, не отправив его обратно производителю.

4 ответа4

23

0.0.0.0 не является действительным IP-адресом. RFC1700 (a) утверждает, что 0.0.0.0/8 (0.anything.anything.anything) зарезервировано только как адрес источника.

Обычно вы увидите, что системы и приложения привязывают порты к 0.0.0.0 что означает, что порт доступен из любого интерфейса.

Я не знаком с VxWrks, но я предполагаю, что есть способ указать локальный IP для взаимодействия с другими компьютерными устройствами.

У WindRiver есть множество руководств по настройке IP.

13

Вы можете заставить свой компьютер думать, что устройство имеет настоящий IP-адрес. Но вам нужен физический адрес (также известный как MAC-адрес), штука с шестизначными шестизначными полями. Вы делаете это, добавляя его в таблицу разрешения arp. В Windows откройте терминал cmd и используйте arp.

arp -s <IP address> <physical address>

Конечно, вам нужен уникальный IP-адрес и в вашей сети. В противном случае стек будет перенаправлен куда-то еще. Если вы дойдете до этой точки, вы сможете получить доступ к устройству. Сетевая инфраструктура будет маршрутизироваться в соответствии с физическим адресом.

В Linux почти так же. Откройте терминал, используйте arp.

Это может не сработать !! Некоторые устройства отвечают только на свой собственный IP. Но я предполагаю, что это не ваш случай.

12

IP-адрес 0.0.0.0 - это хорошо, но я предполагаю, что в сети, на которой находится это устройство, что-то изменилось, чтобы заблокировать сетевой трафик с нулевой конфигурацией, чтобы позволить диагностическому программному обеспечению легко подключаться к этому устройству.

Как и другие, состояние в их ответе 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, а затем запускаю диагностическое программное обеспечение».

Во-первых, это кажется странным. Зачем вам нужно менять локальный IP-адрес вашей машины для подключения к устройству VxWorks? Разве вы не должны просто подключиться напрямую к IP-адресу устройства?

Что ж, когда вы заявляете об этом, все, о чем я могу думать, - это то, что устройство и диагностическое программное обеспечение могут работать с использованием какой-либо сетевой настройки с нулевой конфигурацией . Это означает, что устройство осуществляет вещание в сети, а диагностическое программное обеспечение предназначено для поиска этих передач устройства, чтобы помочь ему подключиться к устройству, не зная точного IP-адреса.

Этот вид «самоконфигурирующихся» сетевых устройств с нулевой конфигурацией удобен, пока не станет головной болью.

Мое первое предположение заключается в том, что вы можете подключиться к устройству напрямую, если сможете определить, какой IP-адрес ему назначен. Более того, я уверен, что причина, по которой вы могли подключиться к нему в прошлом, но не сейчас, может быть связана с некоторыми изменениями в сети, которые заблокировали порты, на которые вещает сетевая настройка устройства с нулевой конфигурацией . Какой это может быть порт? Неуверенный. Но если трафик с нулевой конфигурацией не направляется через сеть, поэтому вы не можете подключиться к устройству, а IP-адрес 0.0.0.0 имеет к нему никакого отношения.

6

0.0.0.0 - это адрес, который невозможно выполнить. Вы не можете направить его туда, потому что "он на самом деле не существует" или "может существовать в слишком многих местах".

Он может иметь несколько разные значения в зависимости от того, является ли он хостом или маршрутом.

В качестве маршрута, который в данном случае неприменим, он означает "маршрут по умолчанию", который без дальнейших инструкций означает либо шлюз по умолчанию, либо "любой из моих маршрутов", либо аналогичный 127.0.0.1

В качестве хоста, то, что наиболее заметно в вашем случае, это либо; как объяснено в Википедии:

Адрес, который хост называет своим собственным, если ему еще не присвоен адрес. Например, при отправке начального пакета DHCPDISCOVER при использовании DHCP.

Адрес, который хост назначает себе в случае сбоя запроса адреса через DHCP, при условии, что стек IP хоста поддерживает это.

Предполагая, что он обычно использует DHCP, попробуйте несколько вещей, а не полный сброс - «выключите и снова включите» или просто отключите сеть, подождите минуту, подключите ее снова. Это может просто попросить новый адрес DHCP.

Также, конечно, убедитесь, что он действительно может видеть свой DHCP-сервер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .