Nmap ile çevrimiçi makinelerin yalnızca IP adreslerini çıktılayın


19

nmapŞu anda çevrimiçi olan ana bilgisayarların listesini bulmak için nasıl kullanılacağını biliyorum . Ne yapmak istiyorum sadece IP adreslerinin bir listesini almak, şimdi gibi ekstra bilgi görüntüler

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

Ne bir nmapkomut çalıştırmak , şu anda çevrimiçi IP adreslerinin bir metin belgesi almak mümkün .

Bu mümkün mü?

Yanıtlar:


33

Bu yaygın bir durum:

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

Seçeneklerin ve komutların hızlı geri dönüşü:

  • -nIP adreslerini istediğiniz için ters ad çözümlemesini kapatır. Yerel bir LAN'da bu muhtemelen en yavaş adımdır, böylece iyi bir hız artışı elde edersiniz.
  • -sn"Bağlantı noktası taraması yapma" anlamına gelir. Bu eski ile aynı -sP, anımsatıcı "ping taraması" ile onaylanmamış .
  • -oG -"grepable" çıktısını stdout'a gönderir awk.
  • /Up$/ yalnızca çevrimiçi olan ana bilgisayarları temsil eden "Yukarı" ile biten satırları seçer.
  • {print $2} IP adresi olan boşlukla ayrılmış ikinci alanı yazdırır.

Neden $ sonra var /Up? Komutun nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up/{print $2}'aynı sonuçları verdiğini gördüm .
Michael

1
@Michael Başka bir şeyin "Yukarı" dizesini içermesi durumunda çöp yazdırmamamızı sağlamak yalnızca ekstra bir güvenlik düzeyidir. Bu şekilde -sV, ağ hizmeti banner'larından öngörülemeyen dizeler içerebilecek farklı bir tarama türündeki bir dosyadaki grepable çıktıya karşı çalıştırsanız bile çalışır .
bonsaiviking

3

Bunu şöyle yapabilirsiniz 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.