tidak menanggapi ping tidak selalu berarti tidak digunakan.
Berikan
1
Anda menginginkan pemindai IPAM, bukan nmap.
TheCleaner
2
@Grant Nmap's scan penemuan host (kadang-kadang disebut "ping scan") mengirimkan banyak probe berbeda, tidak hanya ICMP Echo Requests. Untuk alamat pada tautan data yang sama, ia menggunakan permintaan ARP, yang pada dasarnya tidak mungkin diabaikan.
bonsaiviking
1
Anda juga harus ingat bahwa host yang tidak dinyalakan juga akan muncul karena tidak memiliki alamat IP.
Tero Kilkanen
Jawaban:
26
Menggunakan Nmap seperti ini adalah cara yang cukup akurat untuk melakukan apa yang Anda minta, asalkan beberapa prasyarat benar:
Anda harus menjalankan pemindaian sebagai root (atau Administrator di Windows) untuk mengirim permintaan ARP, bukan koneksi TCP. Kalau tidak, pemindaian dapat melaporkan alamat sebagai "down" ketika itu hanya firewall.
Anda hanya dapat melakukan ini dari sistem pada tautan data yang sama (lapisan 2) karena rentang alamat yang Anda pindai. Jika tidak, Nmap perlu menggunakan probe lapisan jaringan yang dapat diblokir oleh firewall.
Untuk mendapatkan alamat "tersedia", Anda perlu mendapatkan daftar alamat yang dilaporkan Nmap sebagai "turun." Anda dapat melakukan ini dengan perintah awk sederhana:
Saat Anda menggunakan -vopsi, Nmap akan mencetak alamat yang ditemukannya sebagai "turun" di samping yang "naik".
Alih-alih -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 ).
The -npilihan melompat reverse DNS lookup, yang membeli Anda sedikit waktu, karena Anda tidak tertarik nama tetapi hanya alamat IP.
The -oGpilihan 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.
Benar-benar bookmark ini untuk penggunaan masa depan dan bahkan bukan pertanyaan saya :)
MartinC
1
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.
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:
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.
sumber
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.
sumber
Inilah hal yang sama di PowerShell ....
sumber
Ini satu lagi yang terinspirasi oleh Anders Larsson
Yang artinya: "Cobalah untuk melakukan ping semua Ips dalam kisaran. Jika" ping "gagal mencetak IP itu"
Jika kamu melakukan
Bekerja cepat, tetapi saya perhatikan beberapa host yang dilaporkan sebagai "Down" sebenarnya "Up"
sumber