verifica della presenza della connessione internet (verifica IP?)

Fai un ping su un server esterno a tua scelta, e verifichi se c'è una connessione internet attiva
in questo caso ho messo un IP NTP server visto che uso swRTC.h, l'ip corrisponde a questo sito http://www.inrim.it/ntp/index_i.shtml, se però vuoi metterne un altro l'ip lo trovi facendo CMD > ping www.sito.it ..com etc
Puoi come seconda opzione, nel caso non rispondesse internet, pingare il tuo gateway verifichi se almeno la tua connessione interna funziona correttamente, non è escluso che si sia piantata la ethernet.

#include <SPI.h>         
#include <Ethernet.h>
#include <ICMPPing.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // max address for ethernet shield
byte ip[] = {192,168,2,177}; // ip address for ethernet shield
byte pingAddr[] = {193, 204, 114, 232}; // ip address to ping
SOCKET pingSocket = 0;

char buffer [256];

void setup() 
{
  Ethernet.begin(mac, ip);
  delay (1000);
  Serial.begin(9600);
  ICMPPing ping(pingSocket);
  ping(4, pingAddr, buffer);
  Serial.println(buffer); //debug
  String ping_out = String (buffer); 
  
  if (ping_out.indexOf("TTL=") > 0)  
     Serial.println("Verifica Ethernet: Ping server esterno ... Status >> OK");  //debug      
  else    
     Serial.println("Verifica Ethernet: Ping Ping server esterno ... Status >> ERROR"); //debug
}

void loop(){}

libreria http://www.blake-foster.com/projects/ICMPPing.zip

ciao