Respuestas:
¿Cuánto sabes sobre la LAN en cuestión? Supongo que no sabes nada solo enchufado el cable o conectado a wifi.
-sP
en caso de que algunos hosts no respondan al ping (consulte la documentación ). Es importante que nmap solo funcione si la configuración y las rutas de su red son correctas.A algunos (¿la mayoría?) Administradores del sistema no les gustan algunos de los métodos anteriores, así que asegúrese de que esté permitido (por ejemplo, es su red). También tenga en cuenta que su propio firewall puede evitar algunos de estos métodos (incluso obtener una IP con DHCP), así que primero verifique sus reglas.
Nmap
Aquí se explica cómo hacer un descubrimiento de host básico con nmap . Como dije, su configuración de red debería ser correcta cuando intente esto. Digamos que usted es 192.168.0.50 está en una subred / 24. Su dirección MAC es algo que se puede conectar, etc. Me gusta tener cables de ejecución para ver qué estoy haciendo.
Primero me gusta probar el escaneo de la lista, que solo intenta resolver los registros PTR en DNS para las direcciones IP especificadas. No envía nada a los hosts, por lo que no hay garantía de que esté realmente conectado o encendido, pero hay una buena posibilidad. Este modo obviamente necesita un servidor DNS que esté dispuesto a hablar con usted.
nmap -vvv -sn -sL 192.168.1.0/16
Esto puede no encontrar nada o puede decirle que cada IP está activa.
Luego suelo ir a la exploración ARP. Envía solicitudes ARP (las ve como "Who has <target IP>? Tell <your IP>"
en wireshark). Esto es bastante confiable ya que nadie filtra o falsifica ARP. La principal desventaja es que solo funciona en su subred.
nmap -vvv -sn -PR 192.168.1.0/24
Si desea escanear algo detrás de enrutadores o firewalls, use escaneos SYN y ACK. SYN inicia una conexión TCP y obtienes un RST o un SYNACK en respuesta. De cualquier manera, el anfitrión está arriba. Es posible que se prohíba la comunicación ICMP o algo así si hay un firewall. La mayoría de las veces, si un firewall filtra sus paquetes, no obtendrá nada. Algunos tipos de cortafuegos solo filtran los paquetes TCP SYN y dejan pasar cualquier otro paquete TCP. Por eso es útil el escaneo ACK. Obtendrá RST en respuesta si el host está activo. Como no sabe qué firewall está instalado, intente con ambos.
nmap -vvv -sn -PS 10.1.2.0/24
nmap -vvv -sn -PA 10.1.2.0/24
Entonces, por supuesto, puede usar los escaneos basados en ICMP con -PE -PP -PM.
Otro método interesante es -PO con un número de protocolo inexistente. A menudo, solo se consideran TCP y UDP en los firewalls y nadie prueba lo que sucede cuando prueba algún protocolo desconocido. Obtiene un protocolo ICMP inalcanzable si el host está activo.
nmap -vvv -sn -PO160 10.1.2.0/24
También puede indicarle a nmap que omita el descubrimiento de host (-Pn) y realice una exploración de puertos en cada host. Esto es muy lento, pero es posible que encuentre otros hosts que el descubrimiento de host no haya detectado por algún motivo.
Me gusta el ip neigh
comando, que viene con IpRoute2.
ip neigh
192.168.1.1 dev eth0 lladdr 00:1d:7e:f8:21:66 REACHABLE
Sin embargo, creo que solo funciona con arp
nodos habilitables.
man ip
muestra lo que hace el vecino o vecino.
Instalar nmap y ejecutar nmap -sP <mynetwork>
.
Nmap done: 1 IP address (1 host up) scanned in 0.01 seconds
.
nmap -sP 192.168.0.*
y me devolvió una lista de resultados del formulario:Nmap scan report for justin-desktop2 (192.168.0.61)
Host is up (0.00056s latency).
Host 192.168.2.23 is up (0.0088s latency).
.
Para ambas respuestas: NO se requiere nmap / NO se requiere sudo .
$ arp
Sobre la base de xenoterracides respuesta con ip neigh
y hosts
:
#!/usr/bin/env python
"""List all hosts with their IP adress of the current network."""
import os
out = os.popen('ip neigh').read().splitlines()
for i, line in enumerate(out, start=1):
ip = line.split(' ')[0]
h = os.popen('host {}'.format(ip)).read()
hostname = h.split(' ')[-1]
print("{:>3}: {} ({})".format(i, hostname.strip(), ip))
Descargar vía
wget https://gist.githubusercontent.com/MartinThoma/699ae445b8a08b5afd16f7d6f5e5d0f8/raw/577fc32b57a7f9e66fdc9be60e7e498bbec7951a/neighbors.py