Как я могу пинговать диапазон IP-адресов одновременно [закрыто]


39

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

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


2
Я попробовал сердитый ip-сканер и бесплатный ip-сканер, и сердитый кажется быстрее после увеличения максимального числа потоков до диапазона IP-адресов, которые я использовал.
Джон Кейдж

есть небольшой шанс, что это может сбить какую-то безопасность. Лучше было бы настроить машины на проверку связи с центральным сервером через определенные промежутки времени или выполнить проверку на маршрутизаторе.
Подмастерье Компьютерщик

Ответы:


28

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

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

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


4
Это бесплатно? Я использую это в течение многих лет.
Уильям Хилсум

2
Эээ .. да это так?
Джон Кейдж

1
Это так хорошо! : D +1
BloodPhilia

Это запускает некоторые антивирусные сигнатуры для «Потенциально нежелательной программы». Я предлагаю вместо этого использовать PingInfoView от NirSoft .
Изи

@iszi Ложный позитив ... Я все еще думаю, что это лучшая программа для работы.
Уильям Хилсум


13

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

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

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


5
Вы уверены, что это делает одновременный пинг? или это одна машина за другой!
Вине Менон

1
согласился, не одновременно
hpavc

Вы правы, это последовательный, а не одновременный
полковник


8

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

Изменить 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

Это все еще пингует их по одному, хотя не так ли? Злой IP-сканер пингует все IP-адреса в подсети одновременно, запуская несколько потоков, поэтому для завершения всего сканирования требуется очень мало времени.
Джон Кейдж

Очень хорошо работает в ситуациях, когда на компьютере нельзя установить внешнюю программу и / или доступна только текстовая консоль. Единственное предостережение для международных пользователей заключается в том, что строку «Ответить» необходимо изменить на ту, которая используется в локальной версии ping. Спасибо, что поделился!
Альберто М

6

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


Он также доступен на brew для OSX (если кто-то просматривал Google и пропустил Windows в названии)
Ross

4

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

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

Я думаю, что «500» хочет быть 255 или меньше?
Дэвид Макинтош

2
И я думаю, ping 10.1.1.iвероятно, хочет быть ping 10.1.1.$i.
Адам Лученброерс

1
также не одновременно
hpavc

Я верю, что вам нужно будет пройти флаг "-c". Что-то вроде "ping -c1 192.168.1.1". в противном случае вы застрянете на время.
Zee

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 

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


1
Это на самом деле довольно медленно по сравнению с разгневанным IP-сканером, поскольку он делает их по одному. Если не используется большая часть диапазона IP-адресов, вам придется подождать несколько минут, чтобы этот подход дал вам ответ.
Джон Кейдж

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. Он активно используется пентестерами и заслуживает изучения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.