Saya punya akses ke dua komputer (A dan B) di jaringan. Keduanya telah mendapatkan alamat IP statis dengan subnet mask dari 255.255.255.128 (saya memeriksa bahwa server DHCP tidak digunakan). Saya ingin mengkonfigurasi beberapa alamat IP ke mesin yang sama dan karenanya saya ingin tahu apa semua alamat IP yang sudah digunakan dalam subnet.
Dari pertanyaan sebelumnya , saya mencoba nmap -sP -PR 172.16.128.*
perintah, tetapi, saya ragu tentang hasilnya karena perintah yang sama memberikan hasil yang berbeda pada dua komputer saya (A dan B). Pada A, menunjukkan hasil, daftar alamat 8 IP yang (seharusnya) sudah digunakan, termasuk dari A dan B .
Nmap done: 256 IP addresses (8 hosts up) scanned in 1.23 seconds
Tetapi pada B, hasilnya berbeda yaitu,
Nmap done: 256 IP addresses (0 hosts up) scanned in 0.00 seconds
Hasil pada B bahkan tidak menunjukkan alamat IP sendiri dan juga alamat IP A!
Apa yang sebenarnya saya lakukan salah di sini? Apakah ada cara yang sangat mudah di Red Hat Linux (RHEL) untuk menemukan semua alamat IP yang digunakan di subnet di mana komputer saya menjadi bagian darinya?
RHEL: 6.5
Nmap version: 5.51
sumber
nmap -sP -PR '172.16.128.*'
Jawaban:
Perangkat berperilaku baik pada LAN Ethernet bebas untuk mengabaikan hampir semua lalu lintas, sehingga PING, pemindaian port, dan sejenisnya semuanya tidak dapat diandalkan. Perangkat, bagaimanapun, bebas untuk mengabaikan permintaan ARP , afaik. Mengingat Anda menentukan pemindaian jaringan lokal, saya menemukan metode paling rapuh untuk melakukan apa yang Anda inginkan adalah mencoba menyambungkan ke alamat jarak jauh, kemudian lihat di cache ARP saya.
Berikut ini adalah perangkat sederhana yang tidak difilter (mis., Yang tidak dikonfigurasikan untuk mengabaikan beberapa kelas lalu lintas IP):
Berikut adalah perangkat pemfilteran (yang dikonfigurasikan dengan satu baris
iptables
untuk mengabaikan semua lalu lintas):Inilah perangkat yang baru saja rusak; perhatikan kekurangan alamat MAC:
Metode ini tidak sempurna - itu merindukan perangkat yang dimatikan, untuk satu hal - tapi itu metode yang paling mengerikan yang pernah saya coba.
Sunting : Eric Duminil, ya, itu hanya berfungsi pada jaringan lokal; lihat paragraf satu.
Vishal, metode ini identik secara fungsional. Perhatikan teks yang dikutip dalam jawaban Leo tentang
nmap
:Metodenya melibatkan kurang mengetik. Milik saya dapat dilakukan tanpa hak istimewa, dan dapat memberi Anda pemahaman yang lebih baik tentang apa yang sebenarnya terjadi. Tetapi hal yang sama dilakukan pada kabel dalam kedua kasus.
sumber
arp
.sudo -u root
(sering disingkatsudo
), tetapi juga hanya sedang login sebagai root, atau telah dilakukan/bin/su
, maka istilah payung.Karena perangkat tidak dapat mengabaikan permintaan ARP, saya suka menggunakan alat bernama
arp-scan
. Ini tersedia di sebagian besar repositori.Ketika Anda menjalankan perintah dengan
--localnet
saklar itu akan memberi Anda gambaran umum dari seluruh jaringan internal Anda.Memberi saya daftar semua IP-dan alamat MAC di jaringan saya. Dimungkinkan juga untuk menentukan rentang jaringan yang akan dipindai.
Jika Anda memiliki beberapa antarmuka jaringan yang dikonfigurasi, Anda dapat menentukan yang Anda ingin gunakan dengan sakelar
-I
.Informasi lebih lanjut tentang sakelar yang mungkin dapat ditemukan di https://linux.die.net/man/1/arp-scan atau dengan menjalankan
man arp-scan
.sumber
Saya tidak tahu versi nmap mana yang Anda jalankan di Red Hat 6.5 Anda, tetapi untuk rilis terbaru, cara yang benar (dan lebih cepat) menurut saya adalah:
nmap -sn -n 172.16.128.0/25
Ini akan mencantumkan setiap host di jaringan Anda (jadi, Anda dapat menggunakan IP lain dari subnet sebagaimana seharusnya tersedia).
Edit dan catat: Subnet yang Anda sebutkan adalah 255.255.255.128, tetapi kemudian Anda menampilkan output sebagai pemindaian 254 host. Kecuali saya melewatkan sesuatu, itu harusnya topeng / 25 dan 126 host tersedia. Jika Anda ingin memindai a / 24, ubah perintah di atas untuk menanyakan semua 254 host.
Dari buku nmap,
-sP
dihentikan dan diganti oleh-sn
:Ini
-n
untuk menghindari resolusi DNS klien (membuat pemindaian lebih cepat):Anda dapat menggunakan kombinasi lain untuk memperdalam pemindaian atau layanan, tetapi itu sudah cukup untuk apa yang Anda cari, kecuali jika host menyembunyikan diri mereka atau menjatuhkan semuanya.
Sumber: https://nmap.org/book/man-host-discovery.html
sumber
nmap -sn -n 172.16.128.1/24
(seperti yang saya nyatakan dalam jawaban di atas, itu akan memindai 255.255. 255.0 mask)Bagian 1 - fping
Alat ini mem-ping semua yang ada dalam jangkauan jaringan yang ditentukan, dan menunjukkan yang menjawab melalui ICMP.
Bagian 2 - arp
Sejak fping berbicara dengan semua yang ada di LAN, itu akan menyebabkan entri ditambahkan ke tabel ARP sistem. Bacakan dalam beberapa menit, karena tabel arp mem-flush entri lama.
Perhatikan juga bahwa tabel ARP memiliki ukuran maksimum dan kernel akan mengusir entri lama dan penggunaan rendah.
Gabungkan semuanya
kemudian telusuri arp.txt di waktu luang Anda.
sumber
IPv6
Jangan berasumsi bahwa IPv4 adalah satu-satunya pilihan Anda. Banyak sistem operasi modern menangani IPv6 dengan baik, bahkan jika ISP Anda tidak menyediakan konektivitas V6.
Bahkan mungkin ada perangkat yang hanya dapat dijangkau oleh IPv6, atau bahkan protokol lain.
Ada banyak alamat multicast berguna yang didokumentasikan di https://en.wikipedia.org/wiki/Multicast_address#IPv6 Tapi yang menarik untuk Anda adalah ff02 :: 1
sumber
Jawaban yang buruk adalah dengan melakukan ping ke alamat broadcast
Ada ~ 50 alamat IP di jaringan itu dengan netmask / 16 dan hanya tujuh yang merespons. Jadi ini bukan solusi yang baik.
sumber
Selain jawaban MadHatter, ada alat arp lookup tanpa mencoba mengirim paket jaringan terlebih dahulu: arping .
Tampaknya ada dua implementasi:
Untuk tujuan Anda, saya hanya akan mengambil paket dari distribusi linux Anda karena perbedaannya mungkin hanya dalam rincian.
sumber
Kembali ketika dinosaurus menjelajahi bumi, proto-nerd menggunakan arpwatch
halaman manual arpwatch
sumber
Login ke switch Anda dan isikan
show mac-address
atau perintah serupa (tergantung pada merek dan model). Ini akan memberi Anda semua MAC-Alamat perangkat aktif (kecuali Anda beralih sendiri). Jika salah satu dari MAC ini tidak muncul di antara MAC yang ditemukan dengan salah satu ping atau metode lain di jawaban lain, Anda mungkin ingin menyelidiki lebih lanjut perangkat apa itu. Mungkin itu tidak masalah karena bahkan tidak berbicara IP atau milik VLAN yang berbeda, tetapi setidaknya Anda bisa mendapatkan gambaran umum apakah probe Anda yang lain akurat.sumber