Tidak dapat melakukan ping ke alamat broadcast

7
  • Alamat host: 192.168.0.13
  • Jaringan: 192.168.0.0 255.255.255.0
  • Router: Cisco DPC3825 DOCSIS 3.0 Gateway ( buku petunjuk )

Jaringan rumah saya menggunakan 192.168.0.0 /24jaringan untuk perangkat saya (kebanyakan nirkabel). Di banyak jaringan lain yang sering saya kunjungi, saya akan melakukan ping ke alamat siaran yang berlaku untuk menampilkan semua perangkat yang sedang aktif di (Windows 7 x64) hasil saya arp -a. Mem-ping alamat broadcast jaringan membantu saya mengidentifikasi perangkat yang saat ini berkomunikasi di jaringan yang sama.

Di jaringan rumah saya, saya kehilangan 100% dari paket yang dikirim ke 192.168.0.255. Dengan demikian arp -atidak menunjukkan kepada saya semua perangkat yang hidup di jaringan saya. Semua perangkat terhubung langsung ke router saya dan kemudian ke ISP saya.

Mengapa saya tidak bisa melakukan ping ke alamat broadcast di jaringan ini? Masuk ke router secara langsung untuk memeriksa Tabel Klien DHCP tidak nyaman.

Pembaruan : Upaya ping ini dilakukan dari komputer yang terhubung langsung ke router melalui ethernet. Saya telah mencoba upaya ping yang sama dari beberapa perangkat nirkabel tetapi tidak berhasil.

akar
sumber
1
Mengapa tidak menggunakan nmap ?
Daniel B
1
Pertanyaannya sebagian besar konseptual dan untuk pemahaman saya sendiri, tetapi akan lebih mudah untuk memiliki cara asli untuk memperbarui arptanpa alat pihak ke-3.
root
1
Tabel ARP dikelola secara otomatis, seharusnya tidak perlu dilakukan secara manual.
Daniel B

Jawaban:

9

Saya pikir saat-saat ketika sistem operasi merespons ping siaran sudah lama berlalu. Sejauh yang saya tahu setiap sistem operasi modern mengabaikan permintaan itu sebagai langkah keamanan untuk menghindari badai siaran.

Default di Linux:

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1

Jika Anda ingin menemukan mesin, Anda harus menggunakan ping unicast (nmap, ping loop atau cara lain), tetapi perhatikan, mungkin ada mesin yang dikonfigurasi untuk selalu mengabaikan permintaan ping.

Jorge Nerín
sumber
Di 10.2.1.0 255.255.255.0jaringan saat ini saya aktif, ping 10.2.1.255menghasilkan pengembalian paket 100% dan memperbarui arpmeja saya dengan klien yang sebelumnya belum ditemukan.
root
@ root jika Anda mendapatkan pengembalian 100% yang berarti hanya satu komputer yang membalas, Anda harus mendapatkan "100 * jumlah komputer di jaringan"% paket kembali. Selain itu, jaringan Anda saat ini mungkin hanya diisi dengan komputer yang memiliki pengaturan firewall mereka untuk memungkinkan ping siaran (jika ini adalah domain perusahaan itu bisa sangat mudah dilakukan dengan direktori aktif)
Scott Chamberlain
3

Sudah dibahas bahwa menjawab ping ke alamat broadcast tidak dianggap praktik yang baik lagi. Anda dapat melakukan ping secara alternatif ke grup multicast semua-host yang menggunakan IP 224.0.0.1. Secara teori, setiap host yang mampu multicast harus menanggapi ping ke IP ini, tetapi saya pernah mendengar tentang host yang tidak melakukannya.

Untuk informasi lebih lanjut tentang alamat multicast, baca tldp: http://www.tldp.org/HOWTO/Multicast-HOWTO-2.html

Opsi lain adalah unicast semua alamat IP di segmen jaringan Anda yang dapat dengan mudah dicapai dengan menggunakan alat bawaan pada sebagian besar sistem. Saya hanya benar-benar tahu GNU / Linux dan MS Windows, jadi saya hanya bisa memberi Anda contoh untuk sistem itu.

GNU / Linux

for lastoctet in $(seq 254); do ping -c 1 192.168.0.$lastoctet; done

MS Windows

for /l %i in (1,1,254) do ping -n 1 192.168.0.%i

Tidak semudah ping 192.168.0.255tetapi berhasil dalam sebagian besar keadaan.

bjanssen
sumber
0

Dengan mengacu pada apa yang dikatakan #Jorge Nerin:

Atur parameter abaikan ke 0. yaitu;

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts=0

Lakukan ini dengan hak istimewa root pada semua perangkat di jaringan. Ini akan memungkinkan tanggapan untuk menyiarkan ping.

PS: melakukan ini dapat menimbulkan ancaman keamanan.

Nithin Kumar
sumber