[Risolto] Script test pc rete lan

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
asaki
Prode Principiante
Messaggi: 231
Iscrizione: lunedì 11 giugno 2007, 19:13

[Risolto] Script test pc rete lan

Messaggio da asaki »

Salve,qualcuno sà dove trovare o come fare uno script per pingare ( pc,stampanti,nas) in una rete lan per poi inviare i risultati via email usando sendmail oppure php ?
ho bisogno di sapere se una macchina và in offline in modo da poterla ripristinare prima possibile.

grazie
Ultima modifica di asaki il lunedì 15 giugno 2015, 20:04, modificato 1 volta in totale.
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: Script test pc rete lan

Messaggio da SuperStep »

dovresti fare un pool infinito dei vari device e parsare l'output per vedere cosa ne esce fuori

io lo strutturerei così:
1) creerei un array con gli indirizzi dei vari device.
2) ciclerei l'array per pescare tutti gli indirizzi
3) per ogni indirizzo utilizzerei il comando ping -c 1 scrivendo una funzione che mi parsa l'output (probabilmente ping stesso possiede dei parametri per restituire vero o falso).
4) se il risultato è falso manderei la mail con il comando mail

quando il ciclo finisce utilizzerei una variabile per conservare lo sleep prima di ricominciare
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
asaki
Prode Principiante
Messaggi: 231
Iscrizione: lunedì 11 giugno 2007, 19:13

Re: Script test pc rete lan

Messaggio da asaki »

Non sapresti indirizzarmi dove trovare una cosa del genere?
io non ho la capacità tecnica per farlo da zero, posso solo prendere qualcosa di già fatto dalla rete e modificarlo.

Grazie
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2889
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Script test pc rete lan

Messaggio da rai »

Codice: Seleziona tutto

#! /bin/bash

subnet="192.168.1" # adattala alla tua LAN

for N in $(seq 1 254); do
  ping -c 1 $subnet.$N >/dev/null || echo "$subnet.$N DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
done
prova a partire da questo
asaki
Prode Principiante
Messaggi: 231
Iscrizione: lunedì 11 giugno 2007, 19:13

Re: Script test pc rete lan

Messaggio da asaki »

È quello che cerco ,chiedo una piccola modifica ,la possibilità di inserire ip statici non la scansione completa .
192.168.2.1, 192.168.2.6 separati da virgola o spazi .

grazie mille
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2889
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Script test pc rete lan

Messaggio da rai »

se hai pochi ip statici va bene usare un array come consigliava SuperStep

Codice: Seleziona tutto

#! /bin/bash

attesa=60 # metti qui i secondi di attesa tra ogni verifica
LAN=(192.168.0.3 192.168.0.5) # metti qui gli IP effettivi separati da spazi

while :; do
	for IP in ${LAN[@]}; do
  		ping -c 1 $IP >/dev/null || echo "$IP DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
	done
	sleep $attesa
done
considera che il precedente script resterebbe perennemente in esecuzione;

è del tutto equivalente (IMO consigliabile) fare invece così:

Codice: Seleziona tutto

#! /bin/bash

LAN=(192.168.0.3 192.168.0.5) # metti qui gli IP effettivi separati da spazi

for IP in ${LAN[@]}; do
	ping -c 1 $IP >/dev/null || echo "$IP DOWN" | mail -s "oggetto della mail" "tuoaccount@tuamail.com"
done
salva il precedente codice p.es. nel file /percorso/pippo e rendilo eseguibile

Codice: Seleziona tutto

chmod +x /percorso/pippo 
esegui

Codice: Seleziona tutto

crontab -e
e aggiungi alla fine del file che ti si apre la riga seguente

Codice: Seleziona tutto

* * * * * /percorso/pippo >/dev/null 2>&1
salva ed esci
questo eseguirà la verifica lanciando lo script ogni minuto. Puoi cambiare la frequenza a piacere come vedi qui o se scegli la prima soluzione modificando il valore della variabile attesa
asaki
Prode Principiante
Messaggi: 231
Iscrizione: lunedì 11 giugno 2007, 19:13

Re: Script test pc rete lan

Messaggio da asaki »

ringrazio tutti molto gentili.
con crontab è il sistema perfetto.
su ubuntu 12.04 bisogna installare altro oltre sendmail pare che attualmente non invia email.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2889
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Script test pc rete lan

Messaggio da rai »

in questo forum, ormai lo saprai, la regola è: un argomento/una discussione, questo per tenere pulite le discussioni per le future ricerche.
poni un'altra domanda riguardo alla configurazione di sendmail o ssmtp
PS ricorda di mettere il [Risolto] all'inizio del titolo del tuo primo post
asaki
Prode Principiante
Messaggi: 231
Iscrizione: lunedì 11 giugno 2007, 19:13

Re: Script test pc rete lan

Messaggio da asaki »

Grazie a tutti.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti