Eseguire Ping di un indirizzo IP per testare comunicazione
Home › Forum › Controllori SlimLine e Netsyst (LogicLab) › Eseguire Ping di un indirizzo IP per testare comunicazione
- Questo topic ha 11 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 3 anni, 2 mesi fa da
Sergio Bertana.
-
AutorePost
-
Febbraio 10, 2015 alle 1:16 pm #35729
Sergio Bertana
Amministratore del forumMolti clienti mi chiedono di poter eseguire un Ping su di un indirizzo IP per testare il funzionamento del dispositivo. Vengo in aiuto con un programma di esempio che utilizzando l’FB SysIPReach (Topic) permette di effettuare il Ping calcolando il tempo di ritardo.
Come si vede dalla stampa del programma viene eseguito il Ping dell’indirizzo IP del servizio Google Public DNS offerto gratuitamente come parte dell’impegno di Google per rendere il web più veloce. Viene eseguito un Ping ogni 2 Secondi (PTime:=2000) e viene calcolato il tempo di ritardo attuale PDelay[1], minimo PDelay[0] e massimo PDelay[2] sul Ping (Download programma sorgente).
Febbraio 10, 2015 alle 3:08 pm #38714Sergio Bertana
Amministratore del forumMolte volte per ripristinare il funzionamento di un sistema non presidiato, ove possibile, viene eseguito un reboot dell’intero sistema SlimLine che se tramite le sue uscite logiche alimenta i dispositivi di connessione di rete (Switches, Routers, Access point WiFi , ecc) può gestire anche lo spenimento e la riaccensione degli stessi.
Questa funzione definita Ping reboot, garantisce tramite lo spegnimento e la riaccensione di tutti i dispositivi di ripristinare il funzionamento nel caso di blocchi accidentali. Anche se il sistema SlimLine è già di per se controllato dal suo circuito di Watchdog integrato.
Come si vede dalla stampa del programma nel caso di più di 3 errori di Ping consecutivi viene incrementato un contatore di reboot NrOfRestarts (Variabile allocata in DB 100.2048 che è una zona RETAIN). Dopo 1 secondo dall’incremento della variabile viene eseguito un loop WHILE infinito che fà intervenire il circuito di Watchdog che resetta in modo hardware il sistema disattivando tutte le uscite (Topic). Il sistema poi riparte in modo autonomo (Non ci deve essere LogicLab connesso).
La pausa di 1 secondo è stata inserita per dare tempo al sistema operativo di salvare l’area RETAIN in modo da avere NrOfRestarts salvato (Download programma sorgente).
Novembre 18, 2019 alle 9:10 am #51071Rubox
PartecipanteHo modificato leggermente il Suo listato poiché devo fare il ping del server FTP. Ricavo l’indirizzo IP con DNSRequest, e me lo restituisce correttamente. Poi imposto tale indirizzo per il ping. Su syslog vedo che il comando ping va in timeout, mentre se eseguo il ping da terminale dos va a buon fine.
Invece la SysIpReach non mi da mai il segnale Done. Son sicuro che sbaglio una cosa semplice, ma ci sto sbattendo la testa da stamane.
Novembre 18, 2019 alle 9:12 am #51113Sergio Bertana
Amministratore del forumImmagino che devi pingare un indirizzo IP che è fuori dalla tua rete, hai impostato correttamente il Gateway sullo SlimLine ?
Ed il gateway è pingabile dello SlimLine ?
Novembre 18, 2019 alle 4:30 pm #51127Rubox
PartecipanteDire che il gateway è impostato correttamente poiché al momento “pingo” il DNS di Google 8.8.8.8 senza problemi e lo SlimLine si collega a internet senza problemi (spedisce email, fa richieste HTTP e trasferimenti FTP).
Se nel programma che pinga Google gli metto direttamente l’indirizzo IP del server che voglio pingare, va in timeout e non termina mai. Però da console dos mi da il 100% di pacchetti inviati e ricevuti.
Al momento ho “tamponato” con richiesta HTTP di una pagina da quel server, ma vorrei capire cosa sbaglio.
Novembre 18, 2019 alle 4:35 pm #51197Sergio Bertana
Amministratore del forumMa non ho capito se hai provato a dare il comando di Ping dalla connessione Telnet con lo SlimLine, e se è proprio il comando di Ping da Telnet che và in errore.
Poi mi dici che il Ping dal PC (Finestra DOS) funziona, ma tu pinghi l’URL o pinghi lo stesso IP che ti ha restitutito la richiesta DNS fatta con il FB DNSRequest ?
Alla richiesta DNS si possono ricevere più indirizzi IP per i vari servizi attivi sullo stesso URL, il FB DNSRequest ritorna sempre il primo IP ritornato e magari tu pinghi un IP su cui non è attivo il server ICMP.
Novembre 20, 2019 alle 9:49 am #51274Rubox
PartecipanteHo fatto un po’ di prove.
PLC: gateway e DNS inpostati correttamente nella configurazione. Dal programma: DNS verso il mio server restituisce il corretto indirizzo IP. SysIPReach però non mi restituisce nulla, non pinga. Nemmeno dandogli direttamente l’indirizzo IP. SysIPReach verso altri host funzionano.
Toolly terminale: stessa situazione del PLC. Ping verso google OK, verso il mio sito web è OK. Verso il server dei dati no. Dice DNS ANCOUNT 0
Finestra DOS “classica”: pinga anche verso il server dei dati con nome simbolico o con indirizzo IP.
Può esserci qualcosa di differente tra il ping che si fa da DOS e il ping che esegue il PLC da programma o da terminale Toolly?
Novembre 20, 2019 alle 10:07 am #51278Sergio Bertana
Amministratore del forumANCOUNT, specifying the number of answer entries.
Nella risposta un server DNS può per lo stesso domain rispondere con più IP e per ognuno di essi oltre all’IP vi saranno anche gli altri dati (es. TTL etc). Il nostro client DNS considera sempre il primo IP ritornato.
Il fatto che ritorni ANCOUNT 0, vuol dire che non sono stati ritornati indirizzi IP per quell’URL. Ora mi viene spontanea una domanda ma il server DNS settato sul tuo PC e che risponde correttamente è lo stesso server DNS settato sullo SlimLine ?
Se hai impostato lo stesso server DNS sia sul PC che sullo SlimLine e lo SlimLine riceve ANCOUNT 0 potresti indicarmi l’URL che stai pingando (Se vuoi anche inviandolo in privato a support).
Novembre 20, 2019 alle 10:08 am #51203Rubox
PartecipanteMi scuso per non aver risposto alla domanda in modo esatto.
Al momento il ping lo eseguo dal programma con SysIPReach. Domani che ho di nuovo accesso al sistema provo.
Quello che trovo strano è che il programma sul PLC pinga correttamente il DNS di Google (8.8.8.8). Al posto di Google ci metto l’indirizzo IP del server che voglio pingare e va in timeout. Se questo stesso indirizzo IP lo uso in una finestra DOS per pingare il comando mi restituisce un risultato positivo. E il comando DNS mi restituisce l’indirizzo del server in modo corretto.
Ho anche pensato che il server non risponda ai ping, ma non dovrebbe nemmeno essere raggiungibile da DOS.
Novembre 20, 2019 alle 10:09 am #51280Sergio Bertana
Amministratore del forumSi quello che posso ipotizzare è che usi due server DNS diversi e quello del PC risolve l’URL mentre quello settato sullo SlimLine non lo risolve.
Novembre 21, 2019 alle 7:17 am #51299Rubox
PartecipanteHo impostato i DNS di Google, gli stessi impostati sul PLC, anche sul PC e non pinga. Se invece lascio i DNS del service provider, il PC pinga. Più tardi provo a mettere questi DNS nel PLC.
Dicembre 14, 2021 alle 8:06 am #62716Rubox
PartecipanteHo un problema con il ping, avevo aggiornato le CPU agli ultimi firmware. Prima di fare l’aggiornamento funzionava tutto, nel senso che sia da PLC che da Toolly riuscivo ad eseguire il ping verso i server DNS di Google, come i miei server dell’ufficio.
Dopo aver aggiornato i firmware il comando ping non funziona più appieno, nel senso che i server di Google riesco a “pingarli”, mentre i server dell’ufficio non riesco più.
Non è cambiato nulla a livello di router, di porte aperte/chiuse, ecc. Le altre comunicazioni di rete, quali FTP, HTTP, Modbus funzionano tutte, solo il PING ha un funzionamento anomalo.
I pacchetti ICMP sono tutti abilitati sul router: ci sono altre porte/protocolli da aprire, o da indirizzare al PLC?
Dicembre 14, 2021 alle 8:10 am #62721Sergio Bertana
Amministratore del forumCon la nuova versione del firmware è stata aggiunta la possibilità di definire la lunghezza del pacchetto dati inviato nella richiesta ICMP di ping. Definendo dopo l’URL o l’indirizzo IP da pingare il parametro “-l” è possibile definire il numero di bytes di dati da inviare (Con MTU=1500 il numero massimo è 1472), ecco un esempio:
[Admin]> ping www.google.com -l 16 PING www.google.com [216.58.205.68] with 16 bytes of data: Answer from: www.google.com, Delay: 11.441 (mS)
Se non viene definita la lunghezza il pacchetto dati è di 32 bytes come nella versione precedente del firmware. Quindi non riesco a spiegarmi il motivo del tuo problema, considerato che funziona sui server pubblici e non sui tuoi server interni.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.