Войти

Показать полную графическую версию : Сканирование IP адресов


Mickle
01-09-2010, 14:11
Всем доброго дня!
может кто знает как через смd можно просканировать сетку задавая диапозон адресов сначала один диапозон потом другой и.т.д.
и вывести отчет по сканированию столько то адресов, чтобы проверить наличие рабочих машин в сети которые работают!
зарание благодарю!

NiOl
01-09-2010, 14:45
В свое время у меня было 2 версии батника для такой задачи, но из-за некоторых новшевств начал разработу 3го (с самоопределением сетей и отчетами по изменениям в сетях), но из-за некоторых сложностей так и не закончил.
Кратко приведу некоторые сложности:

1. Начиная с XP2SP можно до посинения пинговать работающий компьютер - "100% потерь"
2. Операция эта не шибко быстрая, особенно при переборе отсутствующих адресов
3. Распараллеливание пинга дает приличное ускорение, но на загруженных всяким софтом компьютерах приводит к вываливанию с ошибкой половины команд пинга.

Если Вы осознаете всю сложность, то поймете, почему свежие наработки пока предоставить не могу (ибо скрипт живет своей жизнью), а вот Вам старенький. По-умолчанию проходит по 192.168.0.х, в качестве параметра можно задать другую подсеть, например 10.10.10:

@echo off
rem 13.08.2008

if `%1`==`_` (GoTo L%2) else (
if `%1`==`` (set Base=192.168.0) else set Base=%1)

set Logs=IP_List
Echo.>>IP_List.txt
Echo IP-List of %Base%.0 at %Date% %Time:~0,8%>>IP_List.txt
Echo ==================================================>>IP_List.txt

for /L %%z in (1,1,254) do (
echo %Base%.%%z
cmd /v:on /c %0 _ 1 %Base% %%z>>IP_List.err
)
GoTo End

:L1
ping -a -w 50 -n 1 %3.%4>%Temp%\IP_List-%4.tmp
if ErrorLevel 1 (del %Temp%\IP_List-%4.tmp
GoTo End)
set n=.
for /f "tokens=2 delims= " %%a in (%Temp%\IP_List-%4.tmp) do if !n!==. set n=%%a
set m=??-??-??-??-??-??
for /f "tokens=1,2 delims= " %%a in ('arp -a') do if `%%a`==`%3.%4` set m=%%b
echo %3.%4 %m% %n% >>IP_List.txt
del %Temp%\IP_List-%4.tmp

:End
exit

зы: На выходе генерит пару файлов IP_List.*

amel27
01-09-2010, 17:20
можно через Nmap (http://nmap.org/book/man-host-discovery.html):
nmap -n -sn 192.168.1.0/24

P.S. требуется установка WinPcap (http://www.winpcap.org/install/default.htm)

Mickle
07-09-2010, 07:32
Привет всем!
А как пользоваться nmmap???
скачал WinPcap установил а дальше? пробывал через cmd не запускается??? подскажите????

root221
13-07-2011, 08:20
Mickle, самый просто способ, чтобы не расписывать другие способы.

просто установи эту консольную утилиту в папку C:\Windows\system32, потом можешь вводить в консоль.

nmap -n -sn 192.168.1.0/24

и будет тебе счастье =)




© OSzone.net 2001-2012