Comment puis-je émettre une commande nmap qui me montre toutes les machines vivantes [~ # ~] ip [~ # ~] adresses et correspondants nom d'hôte s dans le LAN auquel je suis connecté? (si cela peut être fait d'une autre manière/outil, vous êtes sûrement invités à répondre)
versions nmap inférieures à 5.30BETA1:
nmap -sP 192.168.1.*
versions plus récentes de nmap:
nmap -sn 192.168.1.*
Cela me donne des noms d'hôtes ainsi que des adresses IP, et ne fait que pinger les hôtes pour les découvrir. Cela vous donnera uniquement les noms d'hôte si vous l'exécutez en tant que root
.
MODIFIER: À partir de Nmap 5.30BETA1 [29/03/2010]-sP
a été remplacé par -sn
comme méthode préférée pour effectuer des analyses ping, tout en ignorant l'analyse des ports, comme l'indiquent les commentaires:
Auparavant, les options -PN et -sP étaient recommandées. Cela établit une syntaxe plus régulière pour certaines options qui désactivent les phases d'une analyse:
- -n pas de DNS inversé
- -Pn aucune découverte d'hôte
- -sn pas de scan de port
nmap -sP 192.168.1.0/24
Notez que la résolution de noms est aussi bonne que la population DNS inverse. Notez également que cela n'obtiendra pas de systèmes protégés par un pare-feu contre le ping (ce qui est pratiquement le cas pour chaque poste de travail Windows par défaut).
Si vous êtes local aux systèmes (c'est-à-dire sur le même sous-réseau), vous pouvez faire quelque chose comme
for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done
... mais des choses étranges m'arrivent parfois quand je termine en boucle. Vous devez également faire la recherche vous-même, avec quelque chose comme
Dig +short -x $IP
Vous pouvez analyser un sous-réseau entier, vous pouvez également utiliser des caractères génériques.
nmap 192.168.8.*
ou
nmap 192.168.8.1/24
NMAP renverra la "recherche inversée" de l'adresse IP en question, il ne peut pas renvoyer l'adresse de recherche directe. Ou des adresses dans le cas de serveurs Web effectuant un hébergement virtuel basé sur le nom. Nmap n'est pas l'outil pour cela.
Vous pouvez utiliser la commande suivante:
nmap -v -A $IP
nmap -sP 192.168.0.0/24 produira quelque chose comme:
> nmap -sP 192.168.0.0/24
Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds
Puisqu'il n'y a pas d'adresse IP donnée pour le LAN, nous pourrions supposer que c'est 192.168 mais ce n'est pas toujours le cas, donc la première chose est de découvrir notre adresse IP et notre masque de sous-réseau.
utilisez ifconfig pour cela et utilisez regexp pour nettoyer les résultats
En supposant maintenant que votre Ip est 192.168.0.100 et votre masque 255.255.255.0, vous pouvez numériser 1-254 comme ceci
nmap -sn 192.168.0.1-254
or
nmap -sn 192.168.0.0/24
pour voir également les noms d'hôte et les adresses MAC, exécutez-le en tant que root sinon tous les scans s'exécuteront en tant qu'utilisateur non privilégié et tous les scans devront faire une TCP Connect (prise de contact complète à 3 voies) ) pour obtenir quelque chose. En tant que root, vous exécutez Syn et vous n'avez pas besoin de terminer la prise de contact à 3.
C'est essentiellement ce dont vous avez besoin pour répondre à votre question et obtenir ce que vous vouliez. Il existe une multitude de paramètres, mais chacun sert un objectif particulier.
----Éditer
Je viens de remarquer hostname. Vous pouvez utiliser une analyse de découverte de service car elle exécutera plusieurs scripts (dont l'un est nbstat.nse) et renverra les noms d'hôte. Ne vous attendez pas à obtenir les noms d'hôte de toutes les machines que vous analysez.
nmap -sV target
ou vous pouvez simplement exécuter le script nbstat.nse spécifique et gagner du temps et des efforts.
nmap -sU -p137 --script nbstat.nse target
nbstat.nse utilise le port UDP 137. Dans certains cas, vous pouvez également obtenir le nom d'hôte de SNMP à l'aide du script snmp-interfaces, mais cela nécessitera l'ouverture du port UDP 161.
nmap -sU -p161 --script snmp-interfaces.nse target
si cela peut être fait d'une autre manière/outil, vous êtes sûrement invités à répondre
Vous pouvez simplement utiliser la commande arp
comme ceci:
$ arp -a
Le meilleur moyen et le plus rapide d'envoyer une requête ping à tous les Ips dans le réseau local consiste à désactiver la résolution inverse DNS
Utilisation :NMAP -sn 192.168.1.1-255
cela analysera les 255 hôtes dans la plage IP 192.168.1.1 - 192.168.1.255
Si vous voulez un fichier facilement analysable
Utilisation :NMAP -sn -oG Name.txt 192.168.1.1-255