Riparare Winsock in Windows 7/8


To totally unlock this section you need to Log-in


Login

Winsock è una libreria che viene utilizzata nel sistema operativo Microsoft Windows per utilizzare in maniera semplificata i protocolli di rete TCP/IP.

In Windows i protocolli TCP/IP sono implementati nei driver tcpip.sys e tcpip6.sys ma, sebbene sia possibile per un programma utilizzare direttamente i servizi di questi driver, usualmente gli sviluppatori utilizzano la libreria Winsock per ragioni di semplicità e portabilità del codice.

Infatti Winsock utilizza lo stesso concetto di socket (in inglese presa elettrica) introdotto dalla libreria Socket BSD introdotta con la Berkeley Software Distribution (BSD) di UNIX.

Può succedere che dopo avere effettuato con successo la connessione ad internet si tenti di navigare ma al posto della pagina richiesta ci si ritrovi in cambio l' errore "Page cannot be displayed", se state usando Internet Explorer o "Problemi nel caricamento della pagina" se usate Firefox.

Riparare Winsock in Windows 7/8

Di seguito alcuni tipici controlli per verificare che il protocollo TCP/IP e la libreria Winsock siano correttamente caricati dal sistema operativo:

Andare su Start > programmi > Accessori > Prompt dei comandi (Su Vista e Windows 7, premere col tasto destro sull'icona ed eseguire il prompt come amministratori) e scrivere sulla finestra nera il comando ipconfig, per verificare quali siano i parametri di rete correntemente utilizzati.

Segnarsi i parametri (se non appare nulla è un problema) e scrivere poi il comando ping indirizzo_ip_gateway.

Se risponde, la rete c'è ed è connessa, quindi il problema può essere nei parametri TCP/IP del computer. bSe non apparissero i parametri, sempre sul prompt dei comandi si può provare la riassegnazione automatica degli indirizzi scrivendo ipconfig /renew e poi, se non ha successo, ipconfig /release.

Riassegnare l'indirizzo ip automatico dato al computer scrivendo e resettare l'assegnazione dell'ip con il comando:

netsh int ip reset C:\Resetlog.txt

Andando oltre potrebbe essere necessario un reset della scheda di rete: per farlo, su Windows XP basta andare sulle connessioni di rete dal pannello di controllo, selezionare la Connessione LAN attiva (illuminata), premere col tasto destro e scegliere il tasto Ripristina.

Su Windows 7 questa possibilità non esiste quindi per resettare la scheda di rete si deve tornare al prompt dei comandi e digitare:

netsh interface ipv4 reset

netsh interface ipv6 reset

Questi comandi funzionano anche su Windows XP e Vista e il computer va riavviato sempre. Dopo il reset, se ancora non è andata bene, si deve resettare anche le configurazioni della libreria/modulo Winsock . Per farlo, scrivere sempre nel prompt dei comandi:

netsh winsock reset

netsh winsock reset catalog

Riavviare il pc. Queste operazioni di reset e ripristino rete possono farsi anche con un tool automatico di ripristino rete descritto nell'articolo sulla connettività limitata o assente ed errori sul socket.

Abbandoniamo il prompt dei comandi e andiamo sulla finestra con l'elenco connessioni e reti (dal pannello di controllo). Qui dovremmo individuare la lista di schede di rete (su Windows 7, dal Centro Connessioni, si deve premere su Modifica impostazioni scheda).

Su quella attiva ed utilizzata (in genere chiamata "Connessione alla rete locale (LAN)", bisogna premere il tasto destro del mouse, andare su Proprietà, selezionare il Protocollo internet versione 4 (TCP/IPv4) e verificare che tutto sia automatico (in DHCP) e che non ci siano indirizzamenti IP statici inseriti.

Stessa cosa si deve fare con il TCP/IPv6 che, in alcuni casi, potrebbe essere utile disattivare levando la crocetta (eliminando la spunta).

Proprio per provarle tutte, sempre dalle proprietà del protocollo internet, andando su "Avanzate" e poi sulla scheda "WINS" si può disabilitare il NetBios.

Se, su Windows XP, in basso a destra vicino l'orologio ci sono i "computerini" illuminati (e non c'è un punto esclamativo giallo), la rete funziona ed il PC risulterà connesso; quindi, premendo col tasto destro su quest'ultima icona, si possono controllare le Proprietà ed i dettagli dei parametri di connettività.

Su Windows 7 non ci sono "computerini", c'è una icona globale di rete ma il controllo può essere fatto ugualmente dal Centro connessioni rete e condivisone -> Modifica schede di rete, premere il tasto destro sull'icona e visualizzare lo stato. Il fatto che la rete ci sia e funzioni non vuol dire che il computer sia connesso anche a internet. Arrivati a questo punto, tutto sembra funzionare quindi il problema potrebbe essere sulle impostazioni internet.

Torniamo ancora al prompt dei comandi e digitiamo: ipconfig /flushdns per svuotare la cache del DNS sul sistema in uso. Oltre al DNS, Windows, per risolvere i nomi dei siti internet e per navigare il web, utilizza un file chiamato hosts: se Windows non trova il nome/indirizzo richiesto dall'utente nel file hosts, allora redirigerà la richiesta verso il/i server DNS specificato/i.

Per visualizzare questo file in Windows, basta aprire il Blocco note e andare su File > Apri, navigare sul disco C: > Windows > System32 > driver > etc > hosts. In questo file di testo c'è scritta una introduzione e poi due righe che tipicamente recitano cosi:

127.0.0.1 localhost 

::1 localhost

Tutto quello che sta sotto queste due prime righe, a meno che non le abbiate inserite voi stessi per qualche motivo, va cancellato. Su Vista e Windows 7, invece di aprire solo il Blocco note, si deve cliccare col tasto destro del mouse sull'icona Blocco note e scegliere "Esegui come amministratore" per modificare il file, oppure modificare esplitamente le permissions per il singolo file hosts per consentire la modifica.

Un'altro aspetto importante è controllare su Internet Explorer che non vi siano proxy attivi: andando su Strumenti > Opzioni > Connessione > Impostazioni LAN > Imposta proxy, non vi devono essere valori specificati.