Necesitaba hacer un ping sweep a un rango en particular de direcciones IP, pero el resultado, como se comprenderá, viene lleno de basura que nadie necesita. Lo que yo necesito son solo las direcciones IP:
# nmap -sP 190.250.153.0/24
Starting Nmap 6.01 ( http://nmap.org ) at 2013-06-14 23:37 EDT
Nmap scan report for static-adsl190-250-153-0.une.net.co (190.250.153.0)
Host is up (0.0019s latency).
Nmap scan report for static-adsl190-250-153-1.une.net.co (190.250.153.1)
Host is up (0.053s latency).
Nmap scan report for static-adsl190-250-153-2.une.net.co (190.250.153.2)
Host is up (0.00020s latency).
Nmap scan report for static-adsl190-250-153-3.une.net.co (190.250.153.3)
Host is up (0.29s latency).
Nmap scan report for static-adsl190-250-153-4.une.net.co (190.250.153.4)
Host is up (0.00017s latency).
Nmap scan report for static-adsl190-250-153-5.une.net.co (190.250.153.5)
Host is up (0.00038s latency).
Nmap scan report for static-adsl190-250-153-6.une.net.co (190.250.153.6)
Para barrer un poquito, se usa el famosísimo grep para que nos filtre solo las líneas que tienen direcciones IP. Voy a usar la palabra for ya que está en esa línea.
El resultado seria algo como esto:
# nmap -sP 190.250.153.0/24 | grep "for"
Nmap scan report for static-adsl190-250-153-0.une.net.co (190.250.153.0)
Nmap scan report for static-adsl190-250-153-1.une.net.co (190.250.153.1)
Nmap scan report for static-adsl190-250-153-2.une.net.co (190.250.153.2)
Nmap scan report for static-adsl190-250-153-3.une.net.co (190.250.153.3)
Nmap scan report for static-adsl190-250-153-4.une.net.co (190.250.153.4)
Nmap scan report for static-adsl190-250-153-5.une.net.co (190.250.153.5)
Nmap scan report for static-adsl190-250-153-6.une.net.co (190.250.153.6)
Nmap scan report for static-adsl190-250-153-7.une.net.co (190.250.153.7)
Nmap scan report for static-adsl190-250-153-8.une.net.co (190.250.153.8)
Nmap scan report for static-adsl190-250-153-9.une.net.co (190.250.153.9)
Seguimos quitando cosas; con el comando cut, podemos quitar columnas enteras.
La opción -d le dice que las columnas están separadas por algo, un espacio en este caso. La opción -f le dice cuál columna quiero cortar; es decir:
# nmap -sP 190.250.153.0/24 | grep "for" | cut -d" " -f6
(190.250.153.0)
(190.250.153.1)
(190.250.153.2)
(190.250.153.8)
(190.250.153.9)
(190.250.153.10)
(190.250.153.11)
Si, quedan lineas en blanco ¬_¬
Para quitar las lineas en blanco:
sed '/^$d/' <archivo>
(190.250.153.0)
(190.250.153.1)
(190.250.153.2)
(190.250.153.3)
(190.250.153.4)
(190.250.153.5)
(190.250.153.6)
(190.250.153.7)
(190.250.153.8)
(190.250.153.9)
(190.250.153.10)
(190.250.153.11)
Para quitar los parentesis:
sed 's/(//g' archivo
sed 's/(//g' archivo
190.250.153.0
190.250.153.1
190.250.153.2
190.250.153.3
190.250.153.4
190.250.153.5
190.250.153.6
190.250.153.7
190.250.153.8
190.250.153.9
190.250.153.10
Si, en excel es mas facil pero a veces no hay excel a la mano. A veces solo hay bash :P
No hay comentarios:
Publicar un comentario