Bagaimana cara berkomunikasi dengan perangkat yang memiliki alamat IP "0.0.0.0" yang ditetapkan?

20

Saya memiliki peralatan industri yang beroperasi pada OS yang cukup mendasar yang disebut VxWorks . Saya biasanya berkomunikasi dengan sistem untuk tujuan pemecahan masalah dengan mengatur IP IPv4 saya ke kisaran yang sama dengan IP lokal dan kemudian menjalankan perangkat lunak diagnostik.

Beberapa minggu yang lalu saya menemukan bahwa untuk beberapa alasan aneh alamat IP lokal dari sistem mengatur sendiri 0.0.0.0. Sekarang saya ingin masuk ke diagnosa untuk mengubahnya tetapi PC saya tidak akan mengizinkan pengaturan IP dimulai 0.

Apakah ada cara lain untuk berkomunikasi dengan perangkat yang memiliki IP lokal 0.0.0.0menggunakan PC windows.

Tidak ada cara untuk mengatur ulang perangkat ke pengaturan default pabrik tanpa mengirimnya kembali ke produsen.

Pablo Gonzalez
sumber
14
Karena negara lain 0.0.0.0bukan alamat yang dapat dirutekan. Banyak perangkat lunak mengikat untuk 0.0.0.0memungkinkan perangkat lunak itu mengikat ke alamat IP apa pun yang ditetapkan untuk antarmuka jaringan. Ini membuatnya lebih mudah - misalnya - untuk menempatkan perangkat pada pengaturan DHCP dan Anda hanya terhubung dengan mendapatkan alamat IP perangkat dan hanya itu. Pertanyaan besar saya kepada Anda adalah mengapa Anda mengatur IPv4 IP mesin Anda ke kisaran yang sama dengan IP lokal untuk kemudian menjalankan perangkat lunak diagnostik? Tidak masuk akal. Anda hanya harus mendapatkan alamat IP perangkat dan terhubung ke sana. Yang mengatakan, saya punya ide. Posting jawaban.
JakeGould
VX Works mungkin tidak menjalankan DHCP dan karena itu mungkin memerlukan alamat IP statis, sesuatu yang harus Anda lakukan secara internal di VX Works. Selain itu, perangkat lunak atau antarmuka apa pun pada PC Anda yang berbicara dengan mesin VX Works harus mengetahui alamat IP tersebut. Anda harus memverifikasi bahwa semua mesin yang perlu berbicara dengan mesin VX Works Anda mengetahui alamat IP-nya. Mungkin mengisi otomatis, atau Anda mungkin harus memasukkannya secara manual. Alamat all-0s berfungsi sebagai gateway default, namun, jika mesin VX Anda dan host Anda ingin berbicara dengan keduanya memiliki gateway yang sama.
Shankensteinium
7
Bagaimana Anda dapat menentukan bahwa perangkat menggunakan alamat IP 0,0.0.0? Apakah Anda menggunakan perangkat lunak yang dapat berkomunikasi dengan perangkat melalui jaringan, atau apakah ada antarmuka manusia-mesin (HMI) pada perangkat untuk menunjukkan alamat IP? Juga, untuk mengeluarkan pertanyaan yang jelas, apakah Anda sudah mencoba mematikannya dan kemudian menghidupkannya lagi untuk melihat apakah ia mengambil alamat yang waras?
Sam Skuce
5
Menentukan alamat itu sendiri secara harfiah 0.0.0.0tidak mungkin jika memiliki tumpukan IP yang sesuai standar. Ini menyisakan beberapa opsi: 1. Ini menunjukkan 0.0.0.0sebagai cara untuk memberi sinyal bahwa ia gagal menetapkan alamat IP. 2. Memiliki tumpukan IP rusak yang entah bagaimana berhasil menetapkan sendiri 0.0.0.0. Saya tidak cukup tahu tentang VxWorks untuk mengatakan yang mana dari keduanya. Jika benar-benar telah menetapkan alamat, 0.0.0.0Anda perlu tumpukan IP yang diretas untuk berkomunikasi dengannya. Tapi itu tidak akan banyak gunanya jika tidak memberikan alamat sama sekali.
kasperd
4
Bagaimana Anda menentukannya memiliki alamat IP 0.0.0.0? Jika Anda berada di terminal, Anda dapat menggunakannya untuk mengatur IP.
CramerTV

Jawaban:

23

0.0.0.0bukan alamat IP yang valid. RFC1700 (a) menyatakan bahwa 0.0.0.0/8( 0.anything.anything.anything) dicadangkan hanya sebagai alamat sumber.

Biasanya Anda akan melihat sistem dan aplikasi mengikat port 0.0.0.0yang artinya port dapat diakses dari antarmuka apa pun.

Saya tidak terbiasa dengan VxWrks tetapi saya akan berasumsi bahwa ada cara untuk menentukan IP lokal untuk berinteraksi dengan perangkat komputer lainnya.

WindRiver memiliki berbagai manual tentang cara mengkonfigurasi pengaturan IP.

Hogstrom
sumber
Jika 0.0.0.0hanya valid sebagai sumber , lalu bagaimana port terikat untuk 0.0.0.0dapat diakses sama sekali? Saya yakin saya kehilangan detail tetapi ini terdengar seperti kontradiksi.
Kapten Man
20
@CaptainMan: Anda mengacaukan aspek API soket dengan aspek protokol IP . Binding 0.0.0.0adalah hal tingkat API untuk menerima paket / koneksi yang ditujukan ke alamat yang dikonfigurasi secara lokal. Itu tidak melibatkan paket yang ditujukan untuk 0.0.0.0bepergian ke mana saja di tingkat protokol.
R ..
1
@CaptainMan: 0.0.0.0diperlakukan sebagai string kosong. Jika Anda mengatur server Anda untuk menerima koneksi dari 0.0.0.0maka itu akan menerima koneksi dari alamat IP apa pun - itulah 0.0.0.0artinya. Jika Anda tidak mengikat 0.0.0.0maka server Anda HANYA akan menerima koneksi dari satu alamat IP dan akan menolak koneksi dari mesin lain di jaringan. Pikirkan pengikatan non-0.0.0.0 sebagai semacam firewall
bawaan
13

Anda dapat menipu PC Anda dengan berpikir bahwa perangkat tersebut memiliki alamat IP asli. Tetapi Anda membutuhkan alamat fisik (juga dikenal sebagai alamat MAC), yang berarti dengan 6 bidang dua-hexa-digit. Anda melakukannya dengan menambahkannya ke tabel resolusi arp Anda. Di Windows, buka terminal cmd dan gunakan arp.

arp -s <IP address> <physical address>

Tentu saja, Anda memerlukan alamat IP yang unik dan di jaringan Anda. Jika tidak, tumpukan akan dialihkan ke tempat lain. Jika Anda sampai pada titik ini, Anda harus dapat mengakses perangkat. Infrastruktur jaringan akan merutekan sesuai dengan alamat fisik.

Di Linux hampir sama. Buka terminal, gunakan arp.

Itu mungkin tidak bekerja !! Beberapa perangkat hanya menjawab IP mereka sendiri. Tapi saya kira itu bukan masalah Anda.

Gabe Mizuka
sumber
1
Saya tertarik untuk mengetahui apakah ini berhasil. Pasti trik yang keren.
trognanders
@ Bailey oh itu berfungsi baik-baik saja dalam keadaan normal. Anda cukup memasukkan override manual untuk resolusi alamat ke dalam tabel otomatis. Apakah itu akan membantu op adalah pertanyaan yang berbeda
Gnudiff
2
Jika sekarang Anda dapat MENGIRIM hal-hal ke alamat ini, itu tidak selalu berarti Anda dapat dengan benar menangani RESPON jika ada ...
rackandboneman
1
Sebagian besar iptables berada di atas mesin perutean tingkat terendah, jadi mungkin memiliki akses terbatas ke pekerjaan semacam itu ...
rackandboneman
1
@ Bailey Tidak dan tidak. Perangkat dengan tumpukan IP normal seharusnya tidak. Tabel rute akan mengabaikan alamat paket ke nomor IP selain milik mereka atau tidak tahu cara merutekannya. Dalam hal ini, OP bertanya tentang perangkat industri kecil. Kemungkinan besar, itu tidak memiliki tumpukan IP diimplementasikan. Itu hanya menjawab paket apa pun yang mencapainya. Saya tahu itu karena saya pernah melihat dan menggunakan banyak seperti itu. Untuk menghemat biaya, mereka tidak memiliki panel atau antarmuka untuk konfigurasi. Mengirimkan mereka paket dengan IP "disarankan" yang cocok dengan alamat MAC sudah cukup.
Gabe Mizuka
12

The 0.0.0.0alamat IP baik-baik saja tapi saya akan menebak bahwa sesuatu yang lain telah berubah pada jaringan yang perangkat untuk memblokir nol-konfigurasi lalu lintas jaringan dari memungkinkan perangkat lunak diagnostik Anda untuk dengan mudah terhubung ke perangkat tersebut.

Seperti yang lainnya, sebutkan jawaban mereka 0.0.0.0adalah alamat IP non-routable yang sering digunakan oleh perangkat lunak untuk mengikat alamat IP apa pun pada semua antarmuka jaringan pada perangkat. Ini pada dasarnya berarti:

"Hei, saya adalah perangkat lunak dan akan menerima koneksi apa pun yang dibuat ke alamat IP yang ditetapkan pada mesin yang saya jalankan."

Jadi, jika perangkat menggunakan DHCP — untuk mendapatkan alamat IP-nya sendiri untuk antarmuka yang terhubung — dan mendapatkan alamat yang ditetapkan, 1.2.3.4maka Anda dapat terhubung ke perangkat itu di 1.2.3.4. Dan jika alamat itu berubah ke 5.6.7.8perangkat dengan senang hati akan memungkinkan Anda untuk terhubung melalui 5.6.7.8.

The 0.0.0.0tampaknya menjadi sesuatu yang Anda temukan tetapi bukan penyebab masalah. Sebaliknya, menurut saya, masalah yang Anda miliki terungkap ketika Anda menyatakan:

"Saya biasanya berkomunikasi dengan sistem untuk tujuan pemecahan masalah dengan mengatur IP IPv4 saya ke kisaran yang sama dengan IP lokal dan kemudian menjalankan perangkat lunak diagnostik."

Pertama, itu aneh. Mengapa Anda perlu mengubah alamat IP lokal mesin Anda untuk terhubung ke perangkat VxWorks? Bukankah seharusnya Anda hanya terhubung langsung ke alamat IP perangkat?

Ya, ketika Anda menyatakan ini, yang dapat saya pikirkan adalah bahwa perangkat — dan perangkat lunak diagnostik — dapat beroperasi menggunakan semacam pengaturan jaringan tanpa konfigurasi. Artinya, perangkat menyiarkan di jaringan, dan perangkat lunak diagnostik dirancang untuk mencari siaran perangkat ini untuk membantunya terhubung ke perangkat tanpa mengetahui alamat IP yang tepat.

Jenis jaringan tanpa konfigurasi "konfigurasi-diri" semacam ini merupakan kenyamanan hingga menjadi sakit kepala.

Tebakan pertama saya adalah bahwa Anda dapat terhubung ke perangkat secara langsung jika Anda dapat menentukan alamat IP apa yang telah ditetapkan kepadanya. Dan berpikir lebih jauh lagi, saya bertaruh bahwa alasan Anda dapat terhubung ke masa lalu — tetapi tidak sekarang — mungkin ada hubungannya dengan beberapa perubahan jaringan yang telah memblokir port-port tempat penyiaran pengaturan jaringan tanpa konfigurasi perangkat diaktifkan. Port apa yang mungkin? Tidak yakin Tetapi jika lalu lintas konfigurasi nol tidak dialihkan melalui jaringan, maka itu sebabnya Anda tidak dapat terhubung ke perangkat dan 0.0.0.0alamat IP tidak ada hubungannya dengan itu.

JakeGould
sumber
6

0.0.0.0adalah alamat yang tidak dapat dihubungi. Tidak ada cara Anda dapat mengarahkan ke sana karena "itu tidak benar-benar ada", atau sebenarnya, "dapat ada di terlalu banyak tempat".

Ini dapat memiliki makna yang sedikit berbeda tergantung apakah itu host atau rute.

Sebagai rute, yang tidak berlaku dalam hal ini, itu berarti "rute default" yang tanpa instruksi lebih lanjut berarti gateway default, atau "salah satu rute saya", atau mirip dengan 127.0.0.1

Sebagai tuan rumah, maka yang paling menonjol dalam kasus Anda, itu adalah; seperti yang dijelaskan di Wikipedia :

Alamat yang diklaim oleh tuan rumah sebagai miliknya ketika belum ditetapkan alamatnya. Seperti ketika mengirim paket DHCPDISCOVER awal saat menggunakan DHCP.

Alamat yang ditetapkan oleh host untuk dirinya sendiri ketika permintaan alamat melalui DHCP gagal, asalkan tumpukan IP host mendukung ini.

Dengan asumsi itu biasanya menggunakan DHCP, beberapa hal untuk dicoba, daripada setel ulang penuh - 'matikan & hidupkan lagi' atau cukup cabut jaringan, tunggu sebentar, hubungkan kembali. Mungkin hanya meminta DHCP baru alamat.

Juga, tentu saja, pastikan itu benar-benar dapat melihat server DHCP-nya.

Tetsujin
sumber