Как получить список активных IP-адресов, MAC-адресов и имен NetBIOS в локальной сети? - PullRequest
4 голосов
/ 18 сентября 2008

Как получить список активных IP-адресов, MAC-адресов и NetBIOS имен в локальной сети?

Я хотел бы получить NetBIOS-имя, IP-адрес и MAC-адреса для каждого хоста в локальной сети, предпочтительно не нужно ходить на каждый отдельный ПК и сам принимать к сведению.

Как это сделать с Windows Script Host / PowerShell / что угодно?

Ответы [ 5 ]

10 голосов
/ 18 сентября 2008

Как сказал Дарен Томас, используйте nmap.

 nmap -sP 192.168.1.1/24

для сканирования сети 192.168.1. *

 nmap -O 192.168.1.1/24

чтобы получить операционную систему пользователя. Для получения дополнительной информации читайте справочную страницу

 man nmap

1010 * привет *

7 голосов
/ 18 сентября 2008
arp -a

Получает все, что текущая машина знает в сети.

(я добавляю это как второй вариант, так как nmap не универсально установлен).

2 голосов
/ 18 сентября 2008

Если вы используете DHCP, сервер предоставит вам список всей этой информации.

На этом сайте есть хорошее руководство по использованию powershell для получения сетевой информации http://www.powershellpro.com/powershell-tutorial-introduction/powershell-scripting-with-wmi/

Если вы хотите получить быстрый список имен компьютеров, вы можете использовать «net view». Также взгляните на nbmac, хотя я не уверен, что он работает под XP. Другим вариантом может быть использование nbtstat -a (как только вы используете net view для отображения списка рабочих станций)

1 голос
/ 18 сентября 2008

В PowerShell вы можете сделать что-то вроде:

$ computers = "server1", "server2", "server3"

Get-WmiObject Win32_NetworkAdapterConfiguration -computer $ computers -filter "IPEnabled = 'true'" | выберите __Server, IP-адрес, MAC-адрес

0 голосов
/ 27 февраля 2011

В PowerShell:

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

Пример:

Explore-Net 192.168.2 @(3..10)
...