2008-09-18 20 views

Répondre

9

Comme l'a dit Daren Thomas, utilisez nmap.

nmap -sP 192.168.1.1/24 

pour scanner le réseau 192.168.1. *

nmap -O 192.168.1.1/24 

pour obtenir le système d'exploitation de l'utilisateur. Pour plus d'informations, consultez la page de manuel

man nmap 

ce qui a trait

+1

Je ne trouve pas d'option pour rendre les adresses MAC de retour 'nmap'. – npdoty

+0

@npdoty: Comme mana mentionné: nmap -O 192.168.1.1/24 renvoie les adresses MAC (et d'autres informations), notez que vous devrez peut-être être root ou sudo pour pouvoir le faire. –

2

Si vous utilisez DHCP, le serveur vous donnera une liste de toutes ces informations.

Ce site a un bon tutoriel sur l'utilisation de Powershell pour obtenir des informations en réseau http://www.powershellpro.com/powershell-tutorial-introduction/powershell-scripting-with-wmi/

Si vous neet pour obtenir la liste rapide des noms d'ordinateur que vous pouvez utiliser « net view ». Jetez également un coup d'oeil à nbmac même si je ne suis pas sûr de son statut de travail sous XP. Une autre option pourrait être d'utiliser nbtstat -a (une fois que vous avez utilisé net view pour lister les postes de travail)

+0

Je suis certainement bookmarking ce tutoriel. Merci! – agnul

6
arp -a 

qui obtient tout ce que la machine actuelle connaît sur le réseau.

(Je mets cela en place comme deuxième option, car nmap n'est pas installé de manière universelle).

+2

Cependant arp ne fonctionnera que si vous avez des routes vers chaque PC sur ce segment du réseau; donc vous devez d'abord pinger chaque IP! – blowdart

+0

Vous pourriez probablement utiliser un ping de diffusion en premier, mais cela dépend des machines qui répondent aux pings. –

1

Dans PowerShell, vous pouvez faire quelque chose comme:

$ ordinateurs = "server1", "server2", "server3"

Get-WmiObject Win32_NetworkAdapterConfiguration ordinateurs de $ -filter « IPEnabled = 'true' "| sélectionnez __SERVER, IPAddress, MACAddress

+0

Il s'avère que dans ma configuration LAN spécifique, l'utilisation de nmap sur une machine Linux est beaucoup plus simple, même si nmap ne peut pas trouver de noms netbios. Bien sûr, je devrais prendre un peu de temps pour apprendre Powerhell et WMI, juste pour le plaisir. – agnul

0

Dans PowerShell:

function Explore-Net($subnet, [int[]]$range){ 
    $range | % { test-connection "$subnet.$_" -count 1 -erroraction silentlycontinue} | select -Property address | % {[net.dns]::gethostbyaddress($_.address)} 
} 

Exemple:

Explore-Net 192.168.2 @(3..10)