Keluarkan hanya alamat IP dari mesin online dengan nmap


19

Saya tahu cara menggunakan nmapuntuk menemukan daftar host yang sedang online. Yang ingin saya lakukan adalah mendapatkan daftar hanya alamat IP mereka, sekarang ini menampilkan informasi tambahan seperti

Nmap scan report for 192.168.x.x' and 'Host is up (0.12s latency).

Yang saya inginkan adalah dapat menjalankan nmapperintah, mendapatkan dokumen teks dari alamat IP yang sedang online.

Apakah ini mungkin?

Jawaban:


33

Ini adalah yang umum:

nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'

Ikhtisar opsi dan perintah:

  • -nmematikan resolusi nama terbalik, karena Anda hanya ingin alamat IP. Pada LAN lokal ini mungkin juga merupakan langkah paling lambat, sehingga Anda mendapatkan peningkatan kecepatan yang baik.
  • -snberarti "Jangan lakukan pemindaian port." Itu sama dengan yang lebih tua, usang -sPdengan "ping scan" mnemonik.
  • -oG -mengirimkan output "grepable" ke stdout, yang akan disalurkan ke awk.
  • /Up$/ hanya memilih baris yang diakhiri dengan "Naik", mewakili host yang sedang online.
  • {print $2} mencetak bidang yang dipisahkan spasi dengan spasi kedua, yang merupakan alamat IP.

Mengapa memiliki $ after /Up? Saya menemukan bahwa perintah nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up/{print $2}'memberikan hasil yang sama.
Michael

1
@Michael Ini hanya tingkat keamanan ekstra untuk memastikan kami tidak mencetak sampah kalau-kalau ada yang lain berisi string "Naik". Dengan begitu ia bekerja bahkan jika Anda menjalankannya terhadap keluaran yang dapat diterima dalam file dari jenis pemindaian yang berbeda seperti -sVyang dapat berisi string yang tidak dapat diprediksi dari spanduk layanan jaringan.
bonsaiviking

3

Anda bisa mengirimkannya ke awk:

nmap -sP 192.168.1.0/24 | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}'
192.168.1.1
192.168.1.10
192.168.1.20
192.168.1.30
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.