Muszę wykonać sprawdzanie dostępności serwerów z użyciem polecenia arping. Wszystko by było dobrze gdyby nie to, że do sprawdzenia jest kilkadziesiąt serwerów. Lista jest odczytywana z pliku *.txt a następnie w pętli while sprawdzany jest każdy serwer co trwa dość długo. Czy istnieje opcja wykonania w tym samym czasie wszystkich zapytań o dostępność serwerów i w odpowiedzi pobranie samego adresu mac? Mi aktualnie zwraca cały ciąg z danymi, np:
ARPING 91.204.160.180 from 91.204.160.15 eth0 Unicast reply from 91.204.160.180 [6C:F0:49:01:B6:16] 0.626ms Sent 1 probes (1 broadcast(s)) Received 1 response(s)
Kod, którego używam to:
<?php if ($file) { echo " <strong>ID:</strong> ".$ip_data[0]."<br /> <strong>IP:</strong> ".$ip_data[1]."<br /> } } ?>
Nie wiem czemu ale podczas użycia "exec" cały czas zwraca mi niepełne dane.
Przykładowe dane serwerów:
Kod
252 91.204.162.130
279 91.204.160.240
323 91.204.162.100
361 91.204.163.15
395 91.210.128.80
279 91.204.160.240
323 91.204.162.100
361 91.204.163.15
395 91.210.128.80
Pierwsza liczba oznacza ID serwera (tylko dla wiadomości admina).