Mam urządzenie przemysłowe działające na dość podstawowym systemie operacyjnym o nazwie VxWorks . Zwykle komunikuję się z systemem w celu rozwiązywania problemów, ustawiając mój IP IPv4 na ten sam zakres co lokalny IP, a następnie uruchamiając oprogramowanie diagnostyczne.
Kilka tygodni temu odkryłem, że z jakiegoś dziwnego powodu ustawił się lokalny adres IP systemu 0.0.0.0
. Teraz chcę przejść do diagnostyki, aby to zmienić, ale mój komputer nie zezwala na ustawienie adresu IP rozpoczynającego się za 0
.
Czy istnieje jakiś inny sposób komunikacji z urządzeniem, które ma lokalny adres IP 0.0.0.0
przy użyciu komputera z systemem Windows.
Nie ma możliwości zresetowania urządzenia do ustawień fabrycznych bez odesłania go do producenta.
networking
ip
Pablo Gonzalez
źródło
źródło
0.0.0.0
adres nie jest routowalny. Wiele programów łączy się,0.0.0.0
aby umożliwić oprogramowaniu powiązanie z dowolnym adresem IP przypisanym do interfejsu sieciowego. Ułatwia to, na przykład, ustawienie urządzenia w ustawieniu DHCP, a użytkownik po prostu łączy się, uzyskując adres IP urządzenia i to wszystko. Moje wielkie pytanie brzmi: dlaczego ustawiasz IPv4 swojego urządzenia na ten sam zakres, co lokalny IP, a następnie uruchamiasz oprogramowanie diagnostyczne? Nie ma sensu. Powinieneś po prostu uzyskać adres IP urządzenia i połączyć się z tym. To powiedziawszy, mam pomysł. Publikowanie odpowiedzi.0.0.0.0
nie jest możliwe, jeśli ma stos IP zgodny ze standardami. Pozostawia to kilka opcji: 1. Pokazuje0.0.0.0
jako sposób zasygnalizowania, że nie przypisał adresu IP. 2. Ma zepsuty stos IP, któremu jakoś udało się przypisać0.0.0.0
. Nie wiem wystarczająco dużo o VxWorks, aby powiedzieć, która z nich jest najbardziej prawdopodobna. Jeśli naprawdę ma przypisany adres,0.0.0.0
będziesz potrzebować zhakowanego stosu IP do komunikacji z nim. Ale to nie przyniesie wiele korzyści, jeśli w ogóle nie przypisano adresu.Odpowiedzi:
0.0.0.0
nie jest prawidłowym adresem IP. RFC1700 (a) stwierdza, że0.0.0.0/8
(0.anything.anything.anything
) jest zarezerwowane tylko jako adres źródłowy.Zwykle systemy i aplikacje łączą porty,
0.0.0.0
co oznacza, że port jest dostępny z dowolnego interfejsu.Nie znam VxWrks, ale zakładam, że istnieje sposób na określenie lokalnego adresu IP w celu połączenia z innymi urządzeniami komputerowymi.
WindRiver posiada wiele podręczników dotyczących konfiguracji ustawień IP.
źródło
0.0.0.0
jest ważny tylko jako źródło , to w jaki sposób porty są0.0.0.0
w ogóle dostępne? Jestem pewien, że brakuje mi jakiegoś detalu, ale to brzmi jak sprzeczność.0.0.0.0
to rzecz na poziomie interfejsu API, aby akceptować pakiety / połączenia adresowane na dowolny lokalnie skonfigurowany adres. Nie obejmuje pakietów adresowanych do0.0.0.0
podróżowania w dowolnym miejscu na poziomie protokołu.0.0.0.0
jest traktowany jako pusty ciąg. Jeśli skonfigurujesz serwer tak, aby akceptował połączenia,0.0.0.0
wówczas będzie akceptować połączenia z dowolnego adresu IP - to0.0.0.0
znaczy. Jeśli nie powiążesz się z0.0.0.0
tym, twój serwer zaakceptuje połączenia TYLKO z jednego adresu IP i odrzuci połączenia z innych komputerów w sieci. Pomyśl o wiązaniu innym niż 0.0.0.0 jako o rodzaju wbudowanej zapory ogniowejMożesz oszukać komputer, aby pomyślał, że urządzenie ma prawdziwy adres IP. Ale potrzebujesz adresu fizycznego (znanego również jako adres MAC), z 6 polami dwucyfrowymi. Robisz to, dodając go do tabeli rozdzielczości arp. W Windows otwórz terminal cmd i użyj arp.
Oczywiście potrzebujesz unikalnego adresu IP w swojej sieci. W przeciwnym razie stos przekieruje się gdzie indziej. Jeśli dojdziesz do tego punktu, powinieneś mieć dostęp do urządzenia. Infrastruktura sieci będzie kierować według adresu fizycznego.
W Linuksie jest prawie tak samo. Otwórz terminal, użyj arp.
To może nie działać !! Niektóre urządzenia odpowiadają tylko na własne adresy IP. Ale zgaduję, że to nie twoja sprawa.
źródło
0.0.0.0
Adres IP jest w porządku, ale myślę, że coś jeszcze się zmieniło w sieci, że urządzenie znajduje się na blokowanie ruchu zerowej konfiguracji sieciowych z oprogramowania diagnostycznego pozwala łatwo podłączyć do tego urządzenia.Podobnie jak inni, w odpowiedzi podają,
0.0.0.0
że adres IP nie nadaje się do routingu, który jest często używany przez oprogramowanie do wiązania dowolnego adresu IP na wszystkich interfejsach sieciowych urządzenia. Zasadniczo oznacza to:Jeśli więc urządzenie korzysta z DHCP - w celu uzyskania własnego adresu IP dla podłączonych interfejsów - i otrzyma przypisany adres
1.2.3.4
, możesz połączyć się z tym urządzeniem pod adresem1.2.3.4
. A jeśli zmiany tego adresu5.6.7.8
w urządzeniu z przyjemnością pozwolą ci się z nim połączyć5.6.7.8
.0.0.0.0
Wydaje się być coś odkrył, ale nie jest przyczyną problemu. Jestem raczej zdania, że twój problem ujawnia się, gdy stwierdzasz:Po pierwsze, wydaje się to dziwne. Dlaczego musisz zmienić lokalny adres IP urządzenia, aby połączyć się z urządzeniem VxWorks? Czy nie powinieneś połączyć się bezpośrednio z adresem IP urządzenia?
Cóż, kiedy to stwierdzisz, myślę tylko o tym, że urządzenie - i oprogramowanie diagnostyczne - może działać przy użyciu jakiejś konfiguracji sieci zerowej konfiguracji . Oznacza to, że urządzenie nadaje w sieci, a oprogramowanie diagnostyczne zostało zaprojektowane w celu wyszukania tych transmisji urządzenia, aby pomóc mu połączyć się z urządzeniem bez znajomości dokładnego adresu IP.
Tego rodzaju „samokonfigurujące się” funkcje sieciowe o zerowej konfiguracji są wygodne, dopóki nie staną się problemem.
Po pierwsze sądzę, że możesz połączyć się bezpośrednio z urządzeniem, jeśli możesz ustalić, jaki adres IP mu przypisał. I jeszcze bardziej myślę, założę się, że powód, dla którego mogłeś się z nim połączyć w przeszłości - ale nie teraz - może mieć związek z jakąś zmianą sieci, która zablokowała porty, na których transmituje konfiguracja sieci zero konfiguracji . Jaki to może być port? Nie jestem pewien Ale jeśli ruch w konfiguracji zerowej nie jest kierowany przez sieć, dlatego nie można połączyć się z urządzeniem, a
0.0.0.0
adres IP nie ma z tym nic wspólnego.źródło
0.0.0.0
to adres niemożliwy do przeszukania. Nie ma możliwości, aby do niego dotrzeć, ponieważ „tak naprawdę nie istnieje”, a właściwie „może istnieć w zbyt wielu miejscach”.Może mieć nieco inne znaczenie w zależności od tego, czy jest to gospodarz, czy trasa.
Jako trasa, która nie ma zastosowania w tym przypadku, oznacza „domyślną trasę”, która bez dalszych instrukcji oznacza albo domyślną bramę, albo „dowolną z moich tras” lub podobną do
127.0.0.1
Jako gospodarz, a zwłaszcza w twoim przypadku, jest albo; jak wyjaśniono na Wikipedii :
Zakładając, że zwykle używa DHCP, należy wykonać kilka czynności zamiast pełnego resetu - „wyłącz i włącz ponownie” lub po prostu odłącz sieć, poczekaj minutę, podłącz ją ponownie. Może po prostu poprosić o nowy DHCP adres.
Oczywiście upewnij się, że rzeczywiście widzi swój serwer DHCP.
źródło