Apakah ada cara untuk memindai IP gratis di jaringan? Saya menggunakan nmap -sP 192.168.1.0/24
tetapi ini benar-benar menunjukkan host yang naik.
Apakah ada cara untuk memindai IP gratis di jaringan? Saya menggunakan nmap -sP 192.168.1.0/24
tetapi ini benar-benar menunjukkan host yang naik.
Jawaban:
Menggunakan Nmap seperti ini adalah cara yang cukup akurat untuk melakukan apa yang Anda minta, asalkan beberapa prasyarat benar:
Untuk mendapatkan alamat "tersedia", Anda perlu mendapatkan daftar alamat yang dilaporkan Nmap sebagai "turun." Anda dapat melakukan ini dengan perintah awk sederhana:
sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Ringkasan opsi Nmap yang digunakan:
-v
opsi, Nmap akan mencetak alamat yang ditemukannya sebagai "turun" di samping yang "naik".-sP
, saya menggantikan ejaan yang lebih baru -sn
, yang masih melakukan pemindaian yang sama, tetapi berarti "melewatkan pemindaian port" alih-alih "Pemindaian ping" yang menyesatkan (karena fase pencarian host tidak selalu berarti pemindaian Echo ICMP atau Ping ).-n
pilihan melompat reverse DNS lookup, yang membeli Anda sedikit waktu, karena Anda tidak tertarik nama tetapi hanya alamat IP.-oG
pilihan memberitahu Nmap untuk output grepable format, yang lebih mudah untuk awk untuk proses. Argumen " -
" memberitahukannya untuk mengirimkan hasil ini ke stdout.Perintah awk kemudian mencari "Status: Down" dan mencetak bidang kedua, yang berisi alamat IP.
Tentu saja, jika Anda memiliki akses ke sakelar yang menjalankan sakelar atau penyewaan server DHCP, Anda bisa mendapatkan jawaban ini jauh lebih resmi tanpa melakukan pemindaian yang dapat memicu alarm keamanan.
Tidak yakin tentang n-map, tetapi orang bisa berasumsi bahwa jika Anda menulis skrip ping yang mengirim 1 ping ke setiap alamat bahwa setiap host yang kembali dengan "destination unreachable" tidak dihuni, dan apa pun yang kembali "minta time out" ditempati tetapi tidak menanggapi ping. Perbedaan antara dua respons adalah bahwa "tujuan tidak terjangkau" tidak menerima respons terhadap permintaan ARP-nya. "Request time out" berarti sesuatu merespons permintaan ARP, tetapi tidak pada paket ICMP.
Ini satu lagi yang terinspirasi oleh Anders Larsson
untuk ip di 172.18.5. {129..254}; do {ping -c 1 -W 1 $ ip; } &> / dev / null || gema $ ip & selesai | menyortir
Yang artinya: "Cobalah untuk melakukan ping semua Ips dalam kisaran. Jika" ping "gagal mencetak IP itu"
Jika kamu melakukan
nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Bekerja cepat, tetapi saya perhatikan beberapa host yang dilaporkan sebagai "Down" sebenarnya "Up"