“0.0.0.0” IP adresi atanmış bir cihazla nasıl haberleşilir?


20

VxWorks adında oldukça basit bir işletim sistemi üzerinde çalışan bir endüstriyel donanıma sahibim . Genellikle IPv4 IP'mi yerel IP ile aynı aralığa ayarlayıp ardından tanılama yazılımı çalıştırarak sorun giderme amacıyla sistemle iletişim kurarım.

Birkaç hafta önce, garip bir nedenden ötürü, sistemin yerel IP adresinin kendisini belirlediğini fark ettim 0.0.0.0. Şimdi değiştirmek için tanılama yapmak istiyorum ancak bilgisayarım başlangıçta bir IP ayarlamaya izin vermiyor 0.

0.0.0.0Windows PC kullanan yerel bir IP'ye sahip bir cihazla iletişim kurmanın başka bir yolu var mı .

Üreticiye geri göndermeden, aygıtı fabrika varsayılan ayarlarına sıfırlamanın yolu yoktur.


14
Diğerleri de belirtildiği gibi 0.0.0.0yönlendirilebilir bir adres değildir. Pek çok yazılım parçası, 0.0.0.0bu yazılımın ağ arayüzüne atanan IP adreslerine bağlanmasına izin vermek için bağlanır. Bu, örneğin cihazı bir DHCP ayarına yerleştirmeyi kolaylaştırır ve sadece aygıtların IP adresini alarak bağlanırsınız. Size büyük sorum, neden makinenizin IPv4 IP'sini yerel IP ile aynı aralığa ayarladığınızdan sonra teşhis yazılımı çalıştırıyor olmanız? Anlamı yok. Sadece cihazın IP adresini almalı ve ona bağlanmalısınız. Bu bir fikrim var dedi. Bir cevap gönderme.
JakeGould

VX Works, DHCP'yi çalıştırmayabilir ve bu nedenle VX Works'te dahili olarak yapmanız gereken statik bir IP adresine ihtiyaç duyabilir. Buna ek olarak, PC'nizde bu VX Works makinesiyle konuşan herhangi bir yazılım veya arabirimin bu IP adresini bilmesi gerekir. VX Works makinenizle konuşması gereken tüm makinelerin IP adresini bildiğini doğrulamanız gerekir. Otomatik olarak doldurabilir veya manuel olarak girmeniz gerekebilir. All-0 adresi varsayılan bir ağ geçidi olarak çalışır, ancak VX Works makineniz ve ana makineniz konuşmak istediği her ikisinde de ortak ağ geçidi bulunur.
Shankensteinium

7
Cihazın 0.0.0.0 IP adresini kullandığını nasıl belirleyebildiniz? Ağ üzerinden cihazla iletişim kurabilen bir yazılım kullandınız mı veya IP adresini göstermek için cihazda temel bir İnsan Makine Arabirimi (HMI) var mı? Ayrıca, bariz soruyu ortadan kaldırmak için, aklı başında bir adres alıp almadığını görmek için kapatıp tekrar açmayı denediniz mi?
Sam Skuce

5
Kelimenin tam anlamıyla kendisine adres atanması 0.0.0.0, standartlara uygun bir IP yığını varsa mümkün değildir. Bu, birkaç seçenek bırakır: 1.0.0.0.0 Bir IP adresi atamadığını bildirmenin bir yolunu gösterir . 2. Bir şekilde kendini atamayı başarabilen kırık bir IP yığınına sahiptir 0.0.0.0. VxWorks hakkında ikisinden hangisinin daha muhtemel olduğunu söyleyecek kadar bilgim yok. Gerçekten bir adres atadıysa 0.0.0.0, iletişim kurmak için hacklenmiş bir IP yığına ihtiyacınız olacaktır. Ancak, eğer hiç bir adres vermemişse, bu pek de işe yaramaz.
kasperd

4
0.0.0.0 IP adresine sahip olduğunu nasıl belirlediniz? Terminalde iseniz, IP ayarlamak için bunu kullanabilirsiniz.
CramerTV

Yanıtlar:


23

0.0.0.0geçerli bir IP adresi değil. RFC1700 (a), 0.0.0.0/8( 0.anything.anything.anything) işlevinin yalnızca kaynak adres olarak ayrıldığını belirtir .

Normalde, sistemlerin ve uygulamaların bağlantı noktalarını bağladığını görürsünüz; 0.0.0.0bu da bağlantı noktasına herhangi bir arabirimden erişilebileceği anlamına gelir.

VxWrks'e aşina değilim, ancak diğer bilgisayar aygıtlarıyla arabirim oluşturmak için yerel bir IP belirtmenin bir yolu olduğunu varsayardım.

WindRiver, IP kurulumunu nasıl yapılandıracağınız konusunda çeşitli kılavuzlara sahiptir.


Eğer 0.0.0.0sadece bir kaynak olarak geçerliyse , portlar nasıl 0.0.0.0erişilebilir durumda olmalıdır? Bir detayı özlüyorum ama bu bir çelişki gibi görünüyor.
Kaptan Adam

20
@ CaptainMan: Sockets API'nin bir yönünü IP protokolünün bir yönüyle karıştırıyorsunuz . Bağlama 0.0.0.0, yerel olarak yapılandırılmış herhangi bir adrese gönderilen paketleri / bağlantıları kabul etmek için API düzeyinde bir şeydir. 0.0.0.0Protokol seviyesinde herhangi bir yere seyahat etmeye yönelik paketleri içermez .
R.,

1
@ CaptainMan: 0.0.0.0boş bir dize olarak kabul edilir. Sunucunuzu, bağlantıları kabul edecek şekilde ayarlarsanız 0.0.0.0, herhangi bir IP adresinden gelen bağlantıları kabul eder - bu da 0.0.0.0demek oluyor. Bağlanmazsanız 0.0.0.0, sunucunuz SADECE tek bir IP adresinden gelen bağlantıları kabul edecek ve ağdaki diğer makinelerden gelen bağlantıları reddedecektir. Bir çeşit yerleşik güvenlik duvarı olarak 0.0.0.0 dışı bağlanmayı düşünün
slebetman

13

PC'nizi, cihazın gerçek bir IP adresine sahip olduğunu düşünerek kandırabilirsiniz. Ancak 6 iki heksa basamaklı alan olan fiziksel adrese (MAC adresi olarak da bilinir) ihtiyacınız var. Bunu arp çözünürlük tablonuza ekleyerek yaparsınız. Windows'ta bir cmd terminali açın ve arp kullanın.

arp -s <IP address> <physical address>

Elbette, benzersiz ve ağınızda bir IP adresine ihtiyacınız var. Aksi halde, yığın başka bir yere yönlendirilecektir. Bu noktaya gelirseniz, cihaza erişebilmelisiniz. Ağ altyapısı fiziksel adrese göre yönlendirilecektir.

Linux'ta hemen hemen aynı. Bir terminal aç, arp kullan.

İşe yaramayabilir !! Bazı cihazlar sadece kendi IP'lerine cevap verir. Ama sanırım bu senin durumun değil.


1
Bunun işe yarayıp yaramadığını bilmek istiyorum. Kesinlikle harika bir numara.
trognanders

@BaileyS oh normal koşullarda iyi çalışıyor. Otomatik bir tabloya adres çözünürlüğü için sadece manuel bir geçersiz kılma yerleştirin.
Op'a

2
Şimdi bu adrese bir şeyler
GÖNDEREBİLİRSİNİZ


1
@BaileyS Yapar ve yapmaz. Normal IP yığınına sahip bir cihaz olmamalıdır. Rota tablosu, paket adreslerini kendi adresleri dışındaki IP numaralarına veya nasıl yönlendirileceğini bilmediğine aldırmayacak. Bu durumda, OP küçük bir endüstriyel cihaz soruyor. Büyük olasılıkla, uygulanan bir IP yığını yok. Sadece ona ulaşan herhangi bir pakete cevap verir. Bunu biliyorum çünkü bunun gibi birçok şey gördüm ve kullandım. Maliyetten tasarruf etmek için, yapılandırma için bir panel veya arayüzleri yoktur. Onlara MAC adresiyle eşleşen "önerilen" IP ile bir paket göndermek yeterli.
Gabe Mizuka

12

0.0.0.0IP adresi gayet ama başka cihaz kolayca o cihaza bağlanmak için tanılama yazılımını kullanılmasına izin sıfır yapılandırma ağ trafiğini engellemek için açık olduğunu ağda değiştiğini şey tahmin ediyorum.

Diğerleri gibi, cevaplarındaki 0.0.0.0durum, bir aygıttaki tüm ağ arabirimlerindeki herhangi bir IP adresine bağlanmak için genellikle yazılım tarafından kullanılan, yönlendirilemez bir IP adresidir. Bu temelde şu anlama gelir:

“Hey, ben bir yazılım parçasıyım ve üzerinde çalıştığım makinedeki atanmış herhangi bir IP adresine yapılan herhangi bir bağlantıyı kabul edeceğim.”

Yani cihaz DHCP kullanıyorsa - bağlı olduğu arabirimler için kendi IP adresini almak için - ve atanmış bir adresini 1.2.3.4alırsanız adresinden o cihaza bağlanabilirsiniz 1.2.3.4. Ve bu adres 5.6.7.8cihaza yapılan değişikliklerden mutlulukla ona bağlanmanıza izin verecektir 5.6.7.8.

0.0.0.0Eğer keşfedilen şey gibi görünüyor ama sorunun nedeni değil. Aksine, benim görüşüme göre, belirttiğiniz konu ortaya çıktığında ortaya çıkıyor:

“IPv4 IP'mi yerel IP ile aynı aralığa ayarlayıp ardından tanılama yazılımını çalıştırarak sistemle genellikle sorun giderme amacıyla iletişim kuruyorum.”

İlk olarak, bu garip görünüyor. VxWorks cihazına bağlanmak için neden makinenizin yerel IP adresini değiştirmeniz gerekiyor? Sadece doğrudan cihazın IP adresine bağlanmamalı mıydınız?

Bunları belirttiğinizde, tek düşünebildiğim, cihazın - ve teşhis yazılımının - bir tür sıfır konfigürasyonlu ağ kurulumu kullanarak çalışabileceği . Yani, cihaz ağda yayınlanır ve tanılama yazılımı, tam IP adresini bilmeden cihaza bağlanmasına yardımcı olmak için bu cihaz yayınlarını bulmak üzere tasarlanmıştır.

Bu tür “kendi kendini yapılandıran” sıfır konfigürasyonlu ağ iletişimi baş ağrısı oluncaya kadar kolaylık sağlar.

Benim ilk tahminim, kendisine hangi IP adresini atadığını belirleyebiliyorsanız, doğrudan cihaza bağlayabileceğinizdir. Ve daha da fazla düşünürsek, geçmişte bağlanabilmenizin nedeninin - ancak şimdi değil - cihazın sıfır konfigürasyonlu ağ kurulumunun yayınladığı portları tıkayan bir ağ değişikliği ile ilgili olabileceğine bahse girerim . Hangi liman olabilir? Emin. Ancak, sıfır yapılandırma trafiği ağ üzerinden yönlendirilmiyorsa, cihaza bağlanamazsınız ve 0.0.0.0IP adresinin bununla hiçbir ilgisi yoktur.


6

0.0.0.0tartışılmaz bir adres. Oraya yönlendirmenin bir yolu yok çünkü "gerçekten yok" ya da aslında "çok fazla yerde var olabilir".

Bir ev sahibi veya bir rota olmasına bağlı olarak biraz farklı anlamlara gelebilir.

Bu durumda geçerli olmayan bir rota olarak, daha fazla talimat içermeyen varsayılan ağ geçidi veya "rotalarımın herhangi biri" anlamına gelen "varsayılan rota" anlamına gelir. 127.0.0.1

Bir ev sahibi olarak, o zaman en önemlisi sizin durumunuzda; Wikipedia'da açıklandığı gibi :

Bir ana bilgisayara, henüz bir adres atanmamışsa, kendisine ait olduğunu iddia ettiği adres. DHCP kullanırken ilk DHCPDISCOVER paketini gönderirken olduğu gibi.

Ana bilgisayarın IP yığını bunu desteklemesi koşuluyla, DHCP üzerinden adres isteği başarısız olduğunda bir ana bilgisayarın kendisine atadığı adres.

Tam sıfırlama yerine genellikle denenmesi gereken birkaç şey olan DHCP'yi kullandığını varsayalım - 'kapatıp tekrar aç' veya yalnızca ağın fişini çekin, bir dakika bekleyin, tekrar takın. Sadece yeni bir DHCP isteyebilir adres.

Ayrıca, elbette, DHCP sunucusunu gerçekten görebildiğinden emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.