Назад | Перейти на главную страницу

Получите IP-адреса и имена компьютеров в одной сети

Какую команду можно использовать для получения IP-адреса и имен компьютеров, находящихся в одной сети?

Я использую Windows

nmap -sn 192.168.1.0/24 

Введите в него номер вашей сети. Он выполнит ping-sweep вашей сети и сообщит об обратных DNS-серверах работающих машин. Не найдешь вышедших из строя машин.

C:> for /L %N in (1,1,254) do @nslookup 192.168.0.%N >> names.txt

Это выполнит обратный поиск каждого IP-адреса в вашей подсети.

Попробуйте использовать этот простой код командной строки. Чтобы получить всю сеть ips arp -a чтобы найти откуда приходит ip tracert "ip"

Если вы хотите перейти на «обычный», Nmap подойдет просто отлично.

Если вы хотите пойти на «непонятное», Doxpara Пакетто Кейрецу сделаю это с сканранд и друзья. Не совсем «официальные» инструменты, но определенно полезные для поиска узлов, которые иначе нельзя увидеть. И я упоминал, что это быстро?

Если вы не против установить это небольшое приложение: Расширенный IP-сканер Radmin (Бесплатное ПО для Windows)

Предоставляет вам хосты локальной сети:

  • IP
  • Имя NetBIOS
  • Время пинга
  • MAC-адрес
  • Удаленное выключение (только окна, нажимаю), и другие

Advanced IP Scanner - это быстрый, надежный и простой в использовании сканер IP для Windows. Он легко позволяет вам получать различную информацию о компьютерах в локальной сети за несколько секунд! Advanced IP Scanner дает вам доступ в один клик ко многим полезным функциям - удаленное выключение и пробуждение, интеграция с Radmin и многое другое! Оснащенная технологией многопоточного сканирования, эта программа может сканировать сотни компьютеров в секунду, что позволяет сканировать сети класса «C» или даже «B» даже через модемное соединение.

Использование Powershell - дмитрисотников написал красивую функцию, это от: http://dmitrysotnikov.wordpress.com/2008/03/07/get-computer-by-ip-address/

требуется некоторая обработка ошибок для более чистых ответов «тайм-аут» и «хост не найден».

function Get-ComputerNameByIP {
param(
$IPAddress = $null
)
BEGIN {
}
PROCESS {
if ($IPAddress -and $_) {
throw ‘Please use either pipeline or input parameter’
break
} elseif ($IPAddress) {
([System.Net.Dns]::GetHostbyAddress($IPAddress))
} elseif ($_) {
trap [Exception] {
write-warning $_.Exception.Message
continue;
}
[System.Net.Dns]::GetHostbyAddress($_)
} else {
$IPAddress = Read-Host “Please supply the IP Address”
[System.Net.Dns]::GetHostbyAddress($IPAddress)
}
}
END {
}
}

#Use any range you want here
1..255 | ForEach-Object {”10.20.100.$_”} | Get-ComputerNameByIP

Есть инструмент, который мне нравится использовать, особенно когда я хочу найти бесплатный IP-адрес в хаосе, который я называю своей сетью. Это называется IP-инструменты по КС-Софт и делает Предложение @ sysadmin1138s графически. Он также имеет 18 других замечательных утилит. Это отличный маленький швейцарский армейский нож.

Может помочь:

Если у вас есть имя сервера и вы хотите найти его IP-адрес (и наоборот), используйте cmd => nslookup «укажите здесь имя вашего сервера».