Ho un sacco di macchine su un intervallo di indirizzi IP che voglio fare il ping simultaneamente come un modo rapido e sporco di dire quali sono accese. Quale software (gratuito) posso usare per fare questo?
Sto usando Windows Vista .
Ho un sacco di macchine su un intervallo di indirizzi IP che voglio fare il ping simultaneamente come un modo rapido e sporco di dire quali sono accese. Quale software (gratuito) posso usare per fare questo?
Sto usando Windows Vista .
Risposte:
Nmap è disponibile per Windows:
# nmap -sP 10.0.10.1-100
-sndi eseguire una "scansione senza porte", solo alla ricerca di host.
Ho usato questo comando
for %%i in 200 to 254 do ping 10.1.1.%%i
in un file batch per un motivo simile
Invece di eseguire il ping manuale di tutti gli indirizzi IP sulla LAN, è possibile effettuare le seguenti operazioni:
Apri un prompt dei comandi e digita:
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
-n 1 significa che verrà inviato solo 1 pacchetto ping a ciascun computer.
Cambia 192.168.0per abbinare il tuo ID di rete.
Questo eseguirà il ping di tutti gli indirizzi IP sul segmento di rete 192.168.0.0 e creerà un file di testo chiamato ipaddresses.txtin C: \, dove elencherà solo gli indirizzi IP che hanno dato una risposta.
È inoltre possibile aggiungere -aal comando ping per risolvere tutti gli indirizzi IP che rispondono ai nomi host, ma in tal modo lo script impiegherà molto tempo per terminare:
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
Potresti semplicemente scrivere uno script Bash che scorre in un intervallo di indirizzi IP e li esegue il ping. Un esempio che esegue il ping degli indirizzi nell'intervallo da 10.1.1.1 a 10.1.1.255 (incluso):
for i in {100..255}
do
ping 10.1.1.$i
done
ping 10.1.1.iprobabilmente vuole esserlo ping 10.1.1.$i.
Salvare lo script seguente sul server con un'estensione di .bato .cmde chiamare il file dal prompt dei comandi. Dovrebbe essere richiesto di inserire l'intervallo di indirizzi IP.
Inserisci solo tre ottetti dell'indirizzo 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
Una volta eseguito il comando, creerà un nome file di testo pingnet.lognella radice dell'unità C. Tale file dovrebbe fornire un elenco di indirizzi IP usati e inattivi (gratuiti).
Per esempio:
10.2.214.1 UP
10.2.214.2 UP
10.2.214.3 UP
10.2.214.4 DOWN
È abbastanza semplice da eseguire e dovrebbe farti risparmiare un sacco di tempo.
Angry IP Scanner è eccezionale, ma preferisco gli strumenti CLI. Vedi se riesci a far funzionare questo script PowerShell in Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
Suggerisco anche di accedere a una CLI Linux usando un cd / usb live di Linux, un doppio avvio o un VM in VirtualBox. (Installa VirtualBox, aggiungi un nuovo VM, installa Debian.) Una CLI di Linux è preziosa.
Da una CLI di Linux, eseguire quanto segue:
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
Regola il raggio d'azione della tua rete (la parte "172.10.1") e il gioco è fatto. Ciò fornirà un elenco di tutti gli host della rete che rispondono alle richieste di echo (ping) dell'ICMP e le risolverà sul server DNS.
Nota: questo non è il modo più affidabile per testare gli host live poiché potrebbero avere l'ICMP bloccato.
nmap -sP 192.168.1.0/24
Nota: Nmap è più affidabile in quanto è uno scanner di porte e basa i suoi risultati sull'attività su più di semplici risposte ICMP. È molto usato dai pentesteri e vale la pena imparare.