Какую команду можно использовать для получения 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)
Предоставляет вам хосты локальной сети:
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 «укажите здесь имя вашего сервера».