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

312483
Jon Cage

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

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

36
Я попробовал сердитый ip-сканер и бесплатный ip-сканер, и сердитый кажется быстрее после увеличения максимального числа потоков до диапазона IP-адресов, которые я использовал. Jon Cage 14 лет назад 2
есть небольшой шанс, что это может сбить какую-то безопасность. Лучше было бы настроить компьютеры для проверки связи с центральным сервером через определенные промежутки времени или проверки на маршрутизаторе. Journeyman Geek 12 лет назад 0

9 ответов на вопрос

36
David Mackintosh

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

# nmap -sP 10.0.10.1-100 
Nmap - отличная программа Ram 14 лет назад 4
в некоторых более новых версиях nmap это `-sn` для запуска" сканирования портов ", только для поиска хостов. Hartley Brody 6 лет назад 0
27
William Hilsum

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

alt text

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

Это свободно? Я использую его годами. William Hilsum 14 лет назад 4
Эээ .. да это так? Jon Cage 14 лет назад 2
Это так хорошо! : D +1 BloodPhilia 13 лет назад 1
Это запускает некоторые антивирусные сигнатуры для «Потенциально нежелательной программы». Я предлагаю вместо этого использовать [PingInfoView] (http://www.nirsoft.net/utils/multiple_ping_tool.html) от NirSoft. Iszi 11 лет назад 0
@iszi Ложный позитив ... Я все еще думаю, что это лучшая программа для работы. William Hilsum 11 лет назад 0
@WilliamHilsum Возможно, AngryIP - лучшая программа, но NirSoft подходит для корпоративных AV. Важно, когда вы не можете управлять белым списком AV. Iszi 11 лет назад 0
@iszi - что-то удивительное, так как многие из их инструментов подобраны! Это хороший момент, однако, небольшое замечание для людей, которые видят это здесь - я только что попробовал использовать его, и мне это нравится ... для одного или двух IP-адресов, но, например, на работе, мне нужно быстро отсканировать целые подсети - я могу сделать это всего за 3 клика по сердитому IP, я не мог найти способ сделать это здесь. William Hilsum 11 лет назад 0
@WilliamHilsum Да, это одно из падений PingInfoView, я надеюсь, что Нир когда-нибудь исправит. Эта функция доступна в некоторых других его инструментах, таких как FastResolver. Единственные инструменты NirSoft, с которыми у меня были проблемы с AV, это те, которые связаны со взломом / восстановлением пароля. Iszi 11 лет назад 0
Стоит отметить, что это Open Source и [исходный код] (https://github.com/angryip/ipscan) размещен на Github. Drew Chapin 5 лет назад 0
13
Col

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

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

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

Вы уверены, что это делает одновременный пинг? или это одна машина за другой! Vineet Menon 12 лет назад 5
согласился, не одновременно hpavc 10 лет назад 1
Вы правы, это последовательный, а не одновременный Col 10 лет назад 0
11
Peter Mortensen

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

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

Alt text

6
akira

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

Он также доступен на платформе brew для OSX (в случае, если кто-то путешествовал по Google и пропустил Windows в названии). Ross 9 лет назад 0
6
3498DB

Вместо того, чтобы вручную пропинговать все 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-адреса в подсети одновременно, запуская несколько потоков, поэтому для полного сканирования требуется очень мало времени. Jon Cage 14 лет назад 0
Работает удовольствие, большое спасибо за обмен user283868 7 лет назад 0
4
kylex

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

for i in  do ping 10.1.1.$i done 
Я думаю, что «500» хочет быть 255 или меньше? David Mackintosh 14 лет назад 0
И я думаю, что `ping 10.1.1.i`, вероятно, хочет быть` ping 10.1.1. $ I`. Adam Luchjenbroers 14 лет назад 2
также не одновременный hpavc 10 лет назад 1
Я верю, что вам нужно будет пройти флаг "-c". Что-то вроде "ping -c1 192.168.1.1". в противном случае вы застрянете на время. zee 5 лет назад 0
3
GSA

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

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

Это на самом деле довольно медленно по сравнению с разгневанным IP-сканером, поскольку он делает их по одному. Если не используется большая часть диапазона IP-адресов, вам придется подождать несколько минут, чтобы этот подход дал вам ответ. Jon Cage 12 лет назад 1
2
Alex Atkinson

Angry IP Scanner is great, but I prefer CLI tools. See if you can get this powershell script running in Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1

I also suggest getting access to a Linux CLI by using a linux live cd/usb, dual boot, or a vm in VirtualBox. (Install VirtualBox, add a new vm, install Debian.) A linux CLI is invaluable.

From a linux CLI, run the following:

PING Based Scan

for ip in 172.10.1.; do ping -c 1 -w 1 $ip > /dev/null && echo $ip "$(nslookup $ip | grep 'name = ' | awk -F ' = ' '')"; done 

Adjust for your network range (the '172.10.1' part,) and you're off. This will provide a list of all hosts on the network that respond to ICMP echo (ping) requests, and resolve them against your DNS server.

Note: This is not the most reliable way to test for live hosts as they may have ICMP blocked.

nmap Based Scan

nmap -sP 192.168.1.0/24

Note: Nmap is more reliable as it is a port scanner and bases its results on the activity on more than just ICMP responses. It's heavily used by pentesters and is worth learning.