J'ai un tas de machines sur une plage d'adresses IP que je souhaite faire un ping simultanément comme un moyen rapide et sale de dire à qui sont allumées. Quel logiciel (gratuit) puis-je utiliser pour le faire?
J'utilise Windows Vista .
Le moyen le plus rapide est d'utiliser Angry IP Scanner
Je l'utilise de la même manière que vous voulez!
Nmap est disponible pour Windows:
# nmap -sP 10.0.10.1-100
J'ai utilisé cette commande
for %%i in 200 to 254 do ping 10.1.1.%%i
Dans un fichier de commandes pour une raison similaire
Voici la gamme d'adresses IP que vous pouvez remarquer dans:
Essayer fping
Au lieu de ping manuel de toutes les adresses IP sur votre réseau local, vous pouvez effectuer les opérations suivantes:
Ouvrez une invite de commandes et tapez:
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
-n 1
signifie que seul un paquet de ping sera envoyé à chaque ordinateur.
Changez 192.168.0
pour correspondre à votre propre ID de réseau.
Cela effacera toutes les adresses IP sur le segment de réseau 192.168.0.0 et créera un fichier texte appelé ipaddresses.txt
dans C: \, où il listera uniquement les adresses IP qui ont répondu.
Vous pouvez également ajouter -a
à la commande ping pour résoudre toutes les adresses IP répondant aux noms d'hôte, mais cela entraînera le temps de terminer le script:
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
Vous pouvez simplement écrire un script Bash qui suit une plage d'adresses IP et les pique. Un exemple qui pings adresses dans la gamme 10.1.1.1 à 10.1.1.255 (inclus):
for i in {100..255} do ping 10.1.1.$i done
Enregistrez le script ci-dessous sur le serveur avec une extension de .bat
ou .cmd
et appelez le fichier à partir de l'invite de commande. Il devrait vous demander d'entrer la plage de l'adresse IP.
Entrez seulement trois octets de l'adresse 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
Une fois la commande exécutée, elle créera un nom de fichier texte pingnet.log
dans la racine du lecteur C. Ce fichier devrait vous donner une liste d'adresses IP utilisées et descendantes (gratuites).
Par exemple:
10.2.214.1 UP 10.2.214.2 UP 10.2.214.3 UP 10.2.214.4 DOWN
Il est assez simple de courir, et cela devrait vous faire économiser beaucoup de temps.
Angry IP Scanner est génial, mais je préfère les outils CLI. Voyez si vous pouvez obtenir ce script powershell en cours d'exécution dans Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
Je suggère également d'avoir accès à une CLI Linux en utilisant un cd / usb linux en direct, un double démarrage ou un vm dans VirtualBox. (Installez VirtualBox, ajoutez une nouvelle vm, installez Debian.) Une CLI linux est inestimable.
Dans une CLI linux, exécutez ce qui suit:
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
Ajustez pour votre gamme de réseau (la partie '172.10.1') et vous êtes désactivé. Cela fournira une liste de tous les hôtes sur le réseau qui répondent aux requêtes ICMP echo (ping) et les résolvent contre votre serveur DNS.
Remarque: Ce n'est pas le moyen le plus fiable de tester les hôtes en direct car ils peuvent avoir ICMP bloqué.
Nmap -sP 192.168.1.0/24
Remarque: Nmap est plus fiable car il s'agit d'un scanner de port et fonde ses résultats sur l'activité sur plus que des réponses ICMP. Il est fortement utilisé par les pentesters et vaut la peine d'apprendre.