J'ai un tas de machines sur une plage d'adresses IP que je veux cingler en même temps, comme moyen rapide et sale de dire lesquelles sont allumées. Quel logiciel (gratuit) puis-je utiliser pour cela?
J'utilise Windows Vista .
Le moyen le plus rapide consiste à utiliser Scanner IP en colère
Je l'utilise de la même façon que vous le souhaitez!
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 batch pour une raison similaire
Voici la plage d'adresses IP que vous pouvez remarquer dans:
Au lieu d'envoyer manuellement une requête ping à toutes les adresses IP de votre réseau local, vous pouvez effectuer les opérations suivantes:
Ouvrez une invite de commande 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 qu'un seul paquet ping sera envoyé à chaque ordinateur.
Changez 192.168.0
pour correspondre à votre propre ID de réseau.
Cela envoie une requête ping à toutes les adresses IP du segment de réseau 192.168.0.0 et crée un fichier texte appelé ipaddresses.txt
dans C: \, dans lequel seules les adresses IP ayant donné une réponse sont répertoriées.
Vous pouvez également ajouter -a
à la commande ping pour résoudre toutes les adresses IP répondantes en noms d'hôte, mais cela entraînerait un temps considérable pour le script:
FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt
essayez fping
Vous pouvez simplement écrire un script Bash qui parcourt une plage d'adresses IP et les envoie à la commande ping. Un exemple qui envoie une requête ping aux adresses comprises entre 10.1.1.1 et 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 l’extension .bat
ou .cmd
et appelez le fichier à partir de la commande Invite. Il devrait vous inviter à entrer la plage d'adresses IP.
Veuillez ne saisir que 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
à la racine du lecteur C. Ce fichier devrait vous donner une liste d'adresses IP utilisées et indisponibles (gratuites).
Par exemple:
10.2.214.1 UP
10.2.214.2 UP
10.2.214.3 UP
10.2.214.4 DOWN
C'est assez simple à exécuter et cela devrait vous faire gagner beaucoup de temps.
Angry IP Scanner est bien, mais je préfère les outils de la CLI. Voyez si vous pouvez exécuter ce script Powershell sous Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1
Je suggère également d’obtenir l’accès à une CLI Linux en utilisant un cd/usb, un démarrage double ou une machine virtuelle sous Linux dans VirtualBox. (Installez VirtualBox, ajoutez une nouvelle machine virtuelle, installez Debian.) Une interface de ligne de commande linux est inestimable.
Depuis 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 votre portée réseau (la partie "172.10.1") et vous êtes hors tension. Cela fournira une liste de tous les hôtes du réseau qui répondent aux demandes d'écho ICMP (Ping) et les résolvent sur votre serveur DNS.
Remarque: Ce n'est pas le moyen le plus fiable de tester des hôtes en direct, car ils risquent de voir ICMP bloqué.
nmap -sP 192.168.1.0/24
Remarque: Nmap est plus fiable car il s'agit d'un scanner de port et ses résultats sont basés sur l'activité autres que les réponses ICMP. Il est fortement utilisé par les pentesters et vaut la peine d'être étudié.