У меня есть несколько машин в диапазоне IP-адресов, которые я хочу пинговать одновременно, чтобы быстро и грязно определить, какие из них включены. Какое (бесплатное) программное обеспечение я могу использовать для этого?
Я использую Windows Vista.
У меня есть несколько машин в диапазоне IP-адресов, которые я хочу пинговать одновременно, чтобы быстро и грязно определить, какие из них включены. Какое (бесплатное) программное обеспечение я могу использовать для этого?
Я использую Windows Vista.
Nmap доступен для Windows:
# nmap -sP 10.0.10.1-100
Самый быстрый способ - использовать Angry IP Scanner.
Я использую это так же, как вы хотите!
Я использовал эту команду
for %%i in 200 to 254 do ping 10.1.1.%%i
в командном файле по аналогичной причине
Вот диапазон IP-адресов, которые вы можете заметить в:
Вместо того, чтобы вручную пропинговать все IP-адреса в вашей локальной сети, вы можете сделать следующее:
Откройте командную строку и введите:
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
-n 1
означает, что на каждый компьютер будет отправлен только 1 пакет проверки связи.
Измените 192.168.0
в соответствии с вашим собственным идентификатором сети.
Это пропингует все IP-адреса в сегменте сети 192.168.0.0 и создает текстовый файл с именем ipaddresses.txt
в C:\, где будут перечислены только IP-адреса, которые дали ответ.
Вы также можете добавить -a
к команде ping, чтобы преобразовать все отвечающие IP-адреса в имена хостов, но это приведет к тому, что выполнение скрипта займет значительное время:
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
попробуйте фпинг
Вы можете просто написать скрипт Bash, который просматривает диапазон IP-адресов и проверяет их связь. Пример, который пингует адреса в диапазоне от 10.1.1.1 до 10.1.1.255 (включительно):
for i in {100..255}
do
ping 10.1.1.$i
done
Сохраните приведенный ниже скрипт на сервере с расширением .bat
или .cmd
и вызовите файл из командной строки. Он должен предложить ввести диапазон IP-адресов.
Пожалуйста, введите только три октета IP-адреса.
@echo off
SET count=0
SET /p subnet=Please enter IP address range (for example, 192.168.0)
:start
SET /a count=%count%+1
cls
ECHO. & ECHO Trying %subnet%.%count% & ECHO.
ping -n 1 -w 1000 %subnet%.%count% >nul
IF %errorlevel%==0 echo %subnet%.%count% UP >> c:\pingnet.log
IF %errorlevel%==1 echo %subnet%.%count% DOWN >> c:\pingnet.log
IF %count%==254 goto :eof
GOTO start
После выполнения команды она создаст текстовый файл pingnet.log
в корне диска C. Этот файл должен дать вам список используемых и неактивных (бесплатных) IP-адресов.
Например:
10.2.214.1 UP
10.2.214.2 UP
10.2.214.3 UP
10.2.214.4 DOWN
Это довольно просто запустить, и это должно сэкономить вам массу времени.
Angry IP Scanner - это здорово, но я предпочитаю инструменты CLI. Посмотрите, сможете ли вы запустить этот скрипт powershell в Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
Я также предлагаю получить доступ к Linux CLI с помощью Linux Live CD / USB, двойной загрузки или виртуальной машины в VirtualBox. (Установите VirtualBox, добавьте новый vm, установите Debian.) Линукс CLI бесценен.
Из linux CLI запустите следующее:
for ip in 172.10.1.{1..254}; do ping -c 1 -w 1 $ip > /dev/null && echo $ip "$(nslookup $ip | grep 'name = ' | awk -F ' = ' '{print $2}')"; done
Настройте диапазон вашей сети (часть «172.10.1»), и все готово. Это предоставит список всех хостов в сети, которые отвечают на эхо-запросы ICMP (ping), и сопоставит их с вашим DNS-сервером.
Примечание. Это не самый надежный способ тестирования живых хостов, поскольку у них может быть заблокирован ICMP.
nmap -sP 192.168.1.0/24
Примечание: Nmap более надежен, так как является сканером портов и основывает свои результаты на активности не только на ответах ICMP. Он интенсивно используется пентестерами и заслуживает изучения.