37

У меня есть несколько машин в диапазоне IP-адресов, которые я хочу пинговать одновременно, чтобы быстро и грязно определить, какие из них включены. Какое (бесплатное) программное обеспечение я могу использовать для этого?

Я использую Windows Vista.

9 ответов9

36

Nmap доступен для Windows:

# nmap -sP 10.0.10.1-100
27

Самый быстрый способ - использовать Angry IP Scanner.

альтернативный текст

Я использую это так же, как вы хотите!

13

Я использовал эту команду

for %%i in 200 to 254 do ping 10.1.1.%%i 

в командном файле по аналогичной причине

11

Бесплатный IP Scanner 1.6

Вот диапазон IP-адресов, которые вы можете заметить в:

Альтернативный текст

7

Вместо того, чтобы вручную пропинговать все 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
6

попробуйте фпинг

4

Вы можете просто написать скрипт Bash, который просматривает диапазон IP-адресов и проверяет их связь. Пример, который пингует адреса в диапазоне от 10.1.1.1 до 10.1.1.255 (включительно):

for i in {100..255}
do
    ping 10.1.1.$i
done
3

Сохраните приведенный ниже скрипт на сервере с расширением .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 

Это довольно просто запустить, и это должно сэкономить вам массу времени.

2

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 запустите следующее:

Сканирование на основе PING

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

nmap -sP 192.168.1.0/24

Примечание: Nmap более надежен, так как является сканером портов и основывает свои результаты на активности не только на ответах ICMP. Он интенсивно используется пентестерами и заслуживает изучения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .