Interpretazione file Logs

Attenzione !I messaggi sul forum potrebbero essere modificati dal nostro staff. La data e l'ora dei messaggi potrebbe non essere quella di invio ma quella di moderazione da parte dello staff. Grazie per l'attenzione.

Home Forum Controllori SlimLine e Netsyst (LogicLab) Interpretazione file Logs

Stai visualizzando 15 post - dal 1 a 15 (di 16 totali)
  • Autore
    Post
  • #44212
    Marcello
    Partecipante

    Ho un problema con un programma che fino a ieri girava benissimo. Ho solamente aggiunto una lettura da input analogico 0-10V che viene inviata ad un display simil arduino tramite la porta I2C. Per capire quanto succedeva ho isolato alcune istruzioni e sono arrivato alla SysVarsnprintf che trasforma il valore analogico in una stringa. Ho effettuato parecchie prove ma non ne vengo a capo. Ecco la configurazione del mio impianto, un modulo CPU Cortex M7 OEM è collegato con:

    3 Misuratori di energia SDM 120 su COM2
    1 Inverter su COM2
    1 Banco relè remoti Modbus su COM1
    1 Caricabatterie su COM0
    1 Display 4×20 Arduino su I2C
    1 Potenziometro digitale su I2C
    1 Partitore di tensione su ingresso analogico AI00
    1 HMI Weintek MT8071IE IP 192.168.0.200

    Quindi tramite Toolly e Syslog ho cercato di capirne di più, ma il risultato non è chiaro visto che non so come interpretare i dati che ottengo, stessa cosa dicasi per il file Logs.txt scaricato dal browser. Come si interpretano i valori di Syslog e di Logs.txt ? Questo è un estratto del file Logs.txt

    [L] SFW198 [06/06/2018 09:42:24] 6000, Run ApplID:0x896B9D59
    [E] SFR055 [06/06/2018 09:42:30] 6670, [7] IP:192.168.0.200:36935
    [E] SFR050 [06/06/2018 09:57:30] 1020, Except: MEM_MNG At:0x004A239B
    [L] SFR050 [06/06/2018 09:57:30] 1000, System power on
    [L] SFW198 [06/06/2018 09:57:30] 5005, Starting Op. System SFW198B000
    [E] SFW198 [06/06/2018 09:57:30] 6030, LLab Cn, ApplID:0x896B9D59
    [L] SFW198 [06/06/2018 09:58:18] 6000, Run ApplID:0x896B9D59

    #44215
    Sergio Bertana
    Amministratore del forum

    Il file Logs.txt contiene tutte le informazioni riferite alle anomalie del sistema, sono le stesse restituite dal comando SysLog eseguito da Telnet. Ogni riga inizia con il tipo di segnalazione:

    [W] Warning, indica una anomalia minore
    [E] Error, indica un errore di funzionamento
    [L] Log, indica la registrazione di un evento

    La stringa seguente indica in che sezione del sistema operativo l’evento si è creato. Segue data/ora dell’evento, poi il numero identificativo dell’evento ed una breve descrizione. Questi dati servono a noi per capire il tipo di problema che si è verificato in un certo programma per questo non sono documentati.

    Analizzando il tuo report, alle 9:42 si è mandato in esecuzione il programma PLC, ed alle 9:57 si è verificato una eccezione di accesso alla memoria (Questo errore è molto grave e riavvia il sistema). Questo può succedere quando utilizzando ad esempio un puntatore si esce dal range di memoria indirizzabile del sistema.

    Siccome mi dici che hai aggiunto una SysVarsnprintf controlla l’indirizzo della variabile e l’indirizzo del buffer di memoria dove la funzione scrive la stampa del valore, probabilmente hai un errore di indirizzamento.

    #50186
    Rubox
    Partecipante

    Metto un estratto del file di Logs.txt. Avrei bisogno di capire cosa sbaglio, poiché sono tutti messaggi con la [E].

    [E] SFR055 [09/10/2019 03:04:26] 6675, [5] IP:112.29.140.221:38008
    [E] SFR055 [09/10/2019 03:07:53] 6675, [5] IP:201.1.179.176:26837
    [E] SFW198 [09/10/2019 03:12:49] 3110, Wrong ARG: remote_submit_Flag
    [E] SFW198 [09/10/2019 03:21:13] 3110, Wrong ARG:admin
    [E] SFR055 [09/10/2019 03:25:57] 6670, [7] IP:152.136.69.250:22701
    [E] SFR055 [09/10/2019 03:26:58] 6630, TCP No ack:152.136.69.250:34180
    [E] SFW198 [09/10/2019 03:27:01] 3110, Wrong ARG:h
    [E] SFR055 [09/10/2019 03:27:15] 6670, [5] IP:IP:152.136.69.250:55461
    [E] SFR055 [09/10/2019 06:21:45] 6675, [5] IP:71.6.232.4:43508
    [E] SFR055 [09/10/2019 07:14:25] 6675, [5] IP:27.216.254.216:56271
    [E] SFR055 [09/10/2019 12:49:17] 6675, [5] IP:219.98.16.82:51157
    [E] SFW198 [09/10/2019 13:02:47] 3110, Wrong ARG:remote_host

    Gli indirizzi IP riportati non si riferiscono a quelli WAN forniti dal Router (immagino sia indirizzi IP con la porta). Il programma accede a internet per le seguenti operazioni:

    Esegue un ping a 8.8.8.8
    Spedisce una e-mail alle 10, alle 12 e alle 18
    A mezzanotte si collega ad un FTP il cui IP inizia con 87 e salva un file

    Tutte queste operazioni le esegue correttamente.

    Sono percaso dei tentativi esterni di scansione delle porte. Quali porte sono necessarie al PLC per poter funzionare e fare il ping, spedire email e gestire FTP? Eventualmente potrei pensare di chiudere tutte le porte e aprire solo quelle necessarie dal firewall del router?

    #50199
    Sergio Bertana
    Amministratore del forum

    Non sò che versione hai di sistema operativo, ecco per categoria di errori la spiegazione

    [E] SFW198 [09/10/2019 03:27:31] 3110, Wrong ARG:m
    Error 3110: Argomento (es.: “UINT 10”) errato in pagina web

    [E] SFR055 [09/10/2019 03:22:19] 6670, [5] IP:152.136.69.250:55461
    Error 6670: TCP active close timeout (Nessuna risposta alla chiusura intrapresa da SlimLine) di una connessione con IP:Port.

    [E] SFR055 [09/10/2019 03:04:26] 6675, [5] IP:112.29.140.221:38008
    Error 6675: Passive open timeout (quindi qualcuno che cerca di collegarsi) da IP:Port

    A quanto mi sembra di capire lo SlimLine si connette ad Internet tramite un router, ma non deve essere accessibile da Internet, quindi il firewall deve bloccare tutte le connessioni in entrata.

    E’ consigliabile verificare di avere l’ultima versione di sistema opeartivo, eventualmente provvedere all’aggiornamento.

    #50200
    Rubox
    Partecipante

    Non ho accesso al PLc in questo momento, ma mi sembra di ricordare di aver aggiornato il Firmware a maggio, ma devo controllare meglio. Lo SlimLine esegue le seguenti connessioni: ping a DNS Google (8.8.8.8), NTP al server inrim 193.204.114.232, FTP al mio NAS che ha un IP che non è nessuno di quelli in elenco, e alle 10 del mattino spedisce delle mail tramite mail server il cui IP non è incluso nel Logs.txt.

    Al momento lo SlimLine non è accessibile da router, ho bloccato tutte le porte, ma vorrei renderlo raggiungibile da remoto per visualizzare una pagina web con i valori, e per poter modificare il programma anche da remoto. Quindi credo che dovrei aprire sul router e indirizzare all’IP locale dello slimLine le porte 80, e quelle richieste dal LogicLab e FTP. E se voglio vederlo con Toolly anche la 22.

    La cosa che mi ha lasciato di stucco è che tutti queli indirizzi IP, eseguendo un whois, sono riferibili a società di telecomunicazioni cinesi, armene, turche, coreane e via dicendo.

    La SIM nel router 4G è di una compagnia italiana, le connessioni che eseguo sono quelle sopra descritte… mi lascia perplesso che avendo chiuso le porte sul router (ho provato e il router non le lascia passare) lo SlimLine riceva dei tentativi di connessione su porte che teoricamente dovrebbero essere chiuse.

    Temevo anche di aver esportato dai suoi programmi di esempio qualche FB che richiedeva la password per l’utilizzo continuativo e che lo SlimLine comunicasse in qualche modo la cosa (lo dico sorridendo… ma l’ho pensato)

    Lunedì scarico l’ultimo file Logs.txt dallo SlimLine e poi verifico ed eventualmente aggiorno il FW. Cancello il file Logs.txt e lo lascio senza router, solo in locale e vedo come si comporta.

    #50204
    Sergio Bertana
    Amministratore del forum

    Essendo connesso tramite un router 4G che di solito salvo espressa richiesta è NATtato non dovrebbe essere possibile ricevere connessioni in ingresso. Però dal file di log si evince con certezza che la connessione arriva da IP esterni alla rete quindi qualcuno in quella rete fà passare richieste dall’esterno.

    Si per vedere da Internet le pagine web devi aprire la porta 80, se vuoi vederlo anche da Telnet devi aprire la porta 23, per l’FTP le porte da aprire sono la 21 e la 1024 (Modificabili da web page) tutte queste connessioni sono protette da password.

    Se vuoi programmarlo con LogicLab devi aprire la porta 502 (Questa porta non è protetta da password), però accertati che il tuo gestore 4G ti dia un IP pubblico.

    #50202
    Paolo
    Partecipante

    Ho uno slimline cortex M7 aggiornato con l’ultima versione del firmware Pck043b510, Ho notato nel file di log la seguente segnalazione

    [E] SFR055 [01/01/1970 02:07:03] 7600, TUF no file available

    cosa significa?

    #50206
    Sergio Bertana
    Amministratore del forum

    L’errore indica che sono stati utilizzati e mantenuti contemporaneamente aperti tutti i 32 sockets gestibili.

    Consiglio di definire il parametro LifeTime per chiudere automaticamente i sockets dove non vi è traffico, altrimenti in caso di disconnessione hardware del client, esempio un client remoto connesso ad un socket server sullo SlimLine via WiFi o da Internet viene spento,  non potendo eseguire la corretta sequenza di chiusura mantiene il socket appeso ed occupato.

    Il comando NetStat da Telnet ritorna l’elenco dei sockets utilizzati dal sistema.

    #50207
    Rubox
    Partecipante

    Ho richiesto al gestore di poter accedere alla rete da remoto e mi ha fornito la SIM con il servizio abilitato. Ho notato che quelle richieste a cui corrispondono i codici 6670 e 6675 appaiono quando da remoto accedo alla pagina web che ho creato per visualizzare i valori e che utilizza AJAX. Però non mi spiego le richieste a IP di società di comunicazioni in ogni dove. Da Toolly ho estratto questo con il syslog

    [W] SFR055 [14/10/2019 06:35:28] 7060, [5] IP:185.53.88.92:46333
    [W] SFR055 [14/10/2019 06:35:28] 7920, eTCPServer file not found[80]
    [W] SFR055 [14/10/2019 07:17:58] 7060, [5] IP:213.190.166.70:41115
    [W] SFR055 [14/10/2019 07:17:58] 7920, eTCPServer file not found[80]

    Il FW è aggiornato all’ultima versione.

    Domani con più calma e a mente lucida rivedo il tutto anche perché la rete del PLC è composta solo da PLC e da router. Reimposterò tutti i firewall e aprirò le porte strettamente necessarie (la 1024 per FTP ad esempio non lo sapevo) e proseguirò con i miei test.

    #50210
    Rubox
    Partecipante

    Ho verificato e il FW è aggiornato all’ultima versione. Ho verificato se il router chiude le porte in ingresso con nmap e con altri servizi online e le porte sono chiuse: le uniche aperte sono la 80 e la 21. Adesso nel file Logs.txt ho ogni 30 secondi la seguente riga di log:

    [E] SFR055 [data e ora] 5330, TCP packet checksum error

    e ogni tanto la riga con il codice:

    [E] SFR055 [data e ora] 6675 , [7] IP:porta

    in cui l’IP è di qualche società giapponese o cinese di telecomunicazioni.

    Mi piacerebbe capire quell’errore di TCP packet checksum error da cosa deriva e anche il 6675.

    #50217
    Sergio Bertana
    Amministratore del forum

    Avendo aperto anche solo 1 porta e nel tuo caso hai sicuramente aperto la porta 80 per il server HTTP, chiunque da ogni parte del mondo può accedere al tuo sistema e cercare di entrare generando una serie di errori.

    L’errore 5330 indica che si è ricevuto un pacchetto TCP con checksum errato, il fatto che  si ripeti ogni 30 secondi è perchè in caso del ripetersi di un errore viene salvato solo ogni 30 secondi.

    L’errore 6675, indica che qualcuno da IP e porta ha cercato di connettersi, ha iniziato la sequenza di Three-Way Handshake ma poi non l’ha portata a termine nel tempo predefinito.

    #50218
    Rubox
    Partecipante

    Le chiedo allora un consiglio: volendo rendere disponile i valori misurati tramite il web server dello SlimLine devo per forza lasciare aperta la porta 80. Quali rischi si corrono? Oppure come è possibile difendere al meglio lo SlimLine? Come ci si comporta in questi casi?

    #50226
    Sergio Bertana
    Amministratore del forum

    Per difendersi al meglio e per evitare tutte le problematiche di avere una connessione con IP pubblico, consiglio di inviare dallo SlimLine i dati nel cloud. In questo modo non devi aprire nessuna porta in ingresso e quindi non esiste la possibilità di connettersi allo SlimLine.

    Per fare questo puoi usare i protocolli MQTT o il REST (Se cerchi nella nosta Knowledge troverai molti articoli che ne parlano) puoi guardare ad esempio questo articolo o questo articolo.

    #50227
    Rubox
    Partecipante

    Chiudere tutte le porte significa anche l’impossibilità di programmare da remoto, e questo potrebbe essere gestibile se il sistema è vicino, un po’ meno se è spedito lontano.

    Per l’utilizzo di un cloud onestamente sono a digiuno di REST (e MQTT), ma ho letto in un’altra discussione l’utilizzo di HTTPClient per spedire una stringa GET o POST ad una pagina, quindi se ho ben inteso potrei mandare il tutto ad una pagina getvalues.php, processare la stringa GET e inserire i valori in un DB. E poi creare una pagina che legga i dati e li metta in forma grafica o testuale.

    Oppure provare il programma che mi ha linkato e che usa REST. Leggendo il listato ho molte domande, ma prima lo voglio provare e vedere se alcune risposte me le trovo da solo.

    #58629
    Rubox
    Partecipante

    Ottengo nel file di log la seguente frase: può cortesemente dirmi a cosa può riferirsi, che così poi cerco la sorgente?

    Il programma è basilare al momento, utilizza temporizzatori eTON, eTOFF e variabili BOOL (30 righe di programma ST in tutto)

    [W] SFW198 [data ora] 3110, ARG no length definition, 3

Stai visualizzando 15 post - dal 1 a 15 (di 16 totali)
  • Devi essere connesso per rispondere a questo topic.