Mam kilka komputerów w zakresie adresów IP, które chcę pingować jednocześnie jako szybki i brudny sposób na określenie, które są włączone. Jakiego (darmowego) oprogramowania mogę użyć do tego?
Korzystam z systemu Windows Vista .
Mam kilka komputerów w zakresie adresów IP, które chcę pingować jednocześnie jako szybki i brudny sposób na określenie, które są włączone. Jakiego (darmowego) oprogramowania mogę użyć do tego?
Korzystam z systemu Windows Vista .
Odpowiedzi:
Najszybszym sposobem jest użycie Angry IP Scanner
Używam go tak, jak chcesz!
Nmap jest dostępny dla systemu Windows:
# nmap -sP 10.0.10.1-100
-sn
celu uruchomienie „skanowania bez portu”, po prostu szukając hostów.
Użyłem tego polecenia
for %%i in 200 to 254 do ping 10.1.1.%%i
w pliku wsadowym z podobnego powodu
Oto zakres adresów IP, jak można zauważyć w:
Zamiast ręcznie pingować wszystkie adresy IP w sieci LAN, możesz wykonać następujące czynności:
Otwórz wiersz polecenia i wpisz:
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
-n 1
oznacza, że do każdego komputera zostanie wysłany tylko 1 pakiet ping.
Zmień, 192.168.0
aby dopasować do własnego identyfikatora sieci.
Spowoduje to pingowanie wszystkich adresów IP w segmencie sieci 192.168.0.0 i utworzenie pliku tekstowego o nazwie ipaddresses.txt
C: \, w którym wyświetli się tylko adresy IP, które dały odpowiedź.
Możesz także dodać -a
do polecenia ping, aby rozwiązać wszystkie adresy IP odpowiadające na nazwy hostów, ale spowoduje to, że skrypt zajmie dużo czasu:
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
Możesz po prostu napisać skrypt Bash, który zapętla zakres adresów IP i pinguje je. Przykład pingowania adresów z zakresu od 10.1.1.1 do 10.1.1.255 (włącznie):
for i in {100..255}
do
ping 10.1.1.$i
done
ping 10.1.1.i
prawdopodobnie chce ping 10.1.1.$i
.
Zapisz poniższy skrypt na serwerze z rozszerzeniem .bat
lub .cmd
i wywołaj plik z wiersza polecenia. Powinien zostać wyświetlony monit o podanie zakresu adresów IP.
Wprowadź tylko trzy oktety adresu 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
Po uruchomieniu polecenia utworzy nazwę pliku tekstowego pingnet.log
w katalogu głównym dysku C. Plik ten powinien zawierać listę używanych i wyłączonych (bezpłatnych) adresów IP.
Na przykład:
10.2.214.1 UP
10.2.214.2 UP
10.2.214.3 UP
10.2.214.4 DOWN
Jest dość prosty w obsłudze i powinien zaoszczędzić mnóstwo czasu.
Angry IP Scanner jest świetny, ale wolę narzędzia CLI. Sprawdź, czy możesz uruchomić ten skrypt PowerShell w systemie Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
Sugeruję również uzyskanie dostępu do Linux CLI za pomocą Linux Live CD / USB, podwójnego rozruchu lub vm w VirtualBox. (Zainstaluj VirtualBox, dodaj nowy vm, zainstaluj Debian.) Linuksowy interfejs CLI jest nieoceniony.
Z linuksowego interfejsu CLI uruchom następujące polecenie:
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
Dostosuj do zasięgu sieci (część „172.10.1”) i jesteś wyłączony. Spowoduje to wyświetlenie listy wszystkich hostów w sieci, które odpowiadają na żądania echa ICMP (ping) i rozwiążą je na serwerze DNS.
Uwaga: To nie jest najbardziej niezawodny sposób testowania hostów na żywo, ponieważ mogą mieć zablokowane ICMP.
nmap -sP 192.168.1.0/24
Uwaga: Nmap jest bardziej niezawodny, ponieważ jest skanerem portów i opiera swoje wyniki na aktywności nie tylko na odpowiedziach ICMP. Jest intensywnie wykorzystywany przez pentesterów i warto się go nauczyć.