Pernahkah anda mengalami sistem
koneksi internet yang sangat tidak lazim, dimana anda melakukan koneksi
internet dengan menggunakan sebuah modem atau WiFi dan status koneksinya
adalah “Connected” namun pada saat ingin browsing melalui web browser
yang ada hanya status “Waiting for…” dan juga tidak bisa login instant
messenger tapi anehnya status traffic software dialer modem tersebut
data yang terdownload terus meningkat secara statis tapi kalau dicoba
dengan tes ping lancar. Ternyata penyebab dari kasus ini adalah
Winsock-nya OS Windows XP mengalami kerusakan. Namun tidak usah risau
kerusakan ini sangat gampang diperbaiki dalam waktu singkat.
Berikut adalah definisi dari Winsock atau Windows Socket,
Sebuah API (Application Programming Interface) yang digunakan untuk
mengembangkan aplikasi Windows yang dapat berkomunikasi dengan protokol TCP/IP.
Windows NT dan Windows 95 dilengkapi dengan implementasi Winsock bernama
winsock.dll, yang menjadi perantara antara aplikasi Windows dan koneksi TCP/IP.
Untuk penjelasan yang lebih
detail, silakan download file PDF berikut yang berisikan mengenai semua
tentang Winsock (Bahasa Indonesia).
Pada awalnya
saya curiga kalau sistem terkena serangan virus atau trojan, namun
kecurigaan tersebut ternyata tidak terbukti karena sistem keamanan sudah
saya set ke paling tinggi untuk Norton AntiVirus 2010, COMODO Firewall,
COMODO Defense+ dan Spyware Terminator with HIPS, terupdate dan
aggressive. Pemeriksaan melalui Process Explorer, Autoruns dan COMODO
Active Connection tidak menemukan keanehan apa pun.
Lalu saya mencari info mengenai
masalah ini di internet dan menemukan solusinya ternyata sangat mudah
untuk dilakukan. Untuk kasus Winsock ini biasanya disebabkan perubahan –
perubahan registry Windows atau instalasi driver yang secara tidak
sengaja mengubah entri dan setting Winsock Windows XP. Saya sendiri baru
mengalami kejadian ini lima hari yang lalu, sebabnya pun saya sendiri
masih dalam analisa, awalnya saya curiga terhadap software dialer dari
modem saya (AT&T Communication Manager) namun setelah melakukan
downgrade ke versi 6.8 ternyata sama saja.
Di internet saya menemukan
solusinya dari seorang member yang juga bernasib sama, di forum tersebut
disebutkan bahwa untuk memperbaiki kerusakan Winsock, gunakan Winsock
XP Fix 1.2, setelah saya download langsung saya gunakan saat itu juga.
Berikut tampilan dari Winsock XP Fix 1.2.
Untuk memulai memperbaiki Winsock
yang rusak cukup klik tombol “Fix” lalu biarkan Winsock XP Fix 2
bekerja dengan sendirinya hingga pada saat selesai akan ada konfirmasi
untuk melakukan restart sistem. Setelah sistem restart, segera coba
koneksi internetnya dengan mengunjungi suatu website, jika status bar di
web browser muncul “Transferring data from….” berarti Winsock sudah
pulih dan koneksi internet di OS Windows XP sudah lancar kembali.
Jangan lupa untuk melakukan
backup terhadap sistem setelah memperbaiki Winsock ini agar tidak perlu
memperbaikinya kembali dikemudian hari jika mengalami kerusakan.
Pernah
ingin tahu mengapa koneksi jaringan tidak bekerja tanpa sebab? Ada satu
alasan mengapa dan bagaimana Anda menjalankannya kembali.
Mempelajari cara kerja Windows secara internal sering kali berguna, tetapi kadang-kadang keuntungannya tidak langsung terlihat jelas. Salah satu contoh adalah mempelajari Windows Sockets (atau Winsock). Jika bukan seorang programer, Anda mungkin awalnya tidak terlalu peduli tentang itu walaupun sebenarnya perlu diketahui. Ini karena Windows bisa “putus”, dan jika itu terjadi koneksi Internet akan mati, tanpa sebab yang jelas. Ada juga masalah sekuriti. Winsock bisa diambil alih sehingga spyware bisa mencatat semua yang Anda lakukan pada waktu online atau mengirim informasi. Ini merupakan hal yang serius, tetapi jangan khawatir: tidak sulit untuk mengatasinya, tetapi kita lihat dulu sedikit teknologi yang mendasarinya.
Windows Sockets
Windows Sockets (disingkat “Winsock” atau “WinSock”) merupakan antarmuka pemrograman jaringan untuk Microsoft Windows yang berdasarkan pada “socket” yang populer pada BSD Unix. Winsock mencakup model Berkeley dan Windows. Aplikasi Winsock 1 bisa meminta Winsock untuk mengirim notifikasi pada jendela pesan. Ini memungkinkan program untuk menangani jaringan, masalah UI, proses background secara bersamaan. Winsock 2 menambahkan banyak fitur.
Winsock 2.x mempunyai dua antarmuka: application programming interface (API) yang melindungi pengembang aplikasi dari layer bawah, dan service provider interface (SPI) yang memungkinkan perluasan Winsock. Dengan menggunakan API, aplikasi Winsock bisa bekerja dengan berbagai protocol transpor jaringan dan implementasi Winsock. (Ngomong-ngomong, kebanyakan orang hanya bilang “Winsock 2” pada waktu berbicara tentang versi Winsock sekarang ini, karena versi yang lebih baru hanya berisi editan dan klarifi kasi dari spesifikasi yang asli.)
Winsock dan TCP/IP
Jaringan terdiri dari beberapa layer. Orang-orang jaringan berbicara mengenai layer tersebut biasanya mengacu ke model OSI. TCP/IP merupakan protokol jaringan, yang berada pada layer 3 dan 4. Protokol jaringan menyediakan service seperti pengalamatan, transpor data, routing, dan koneksi logical melalui jaringan. Dua komputer harus menggunakan protokol jaringan yang sama supaya program pada komputer tersebut dapat berkomunikasi. Protokol jaringan lainnya yang banyak digunakan adalah Novell IPX, 3Com/IBM/Microsoft NetBIO dan Apple AppleTalk. TCP/IP merupakan prokotol jaringan yang paling populer sekarang ini karena semua komputer mendukungnya.
Winsock merupakan API yang memungkinkan program Windows mengirim data melalui protokol komunikasi jaringan apa pun. Ada beberapa fungsi Winsock yang hanya bekerja dengan TCP/IP, tetapi ada versi generik yang lebih baru dari semua fungsi pada Winsock 2 yang memungkinkan Anda menggunakan transpor lain.
Layer Jaringan
Versi pertama dari Winsock sederhana. Suatu aplikasi seperti browser akan memberikan
perintah kepada DLL dan akan diterjemahkan pada TCP/IP, lalu dikirim melalui Web. Data yang diminta kemudian kemudian datang, melalui TCP/IP lagi lalu ke Winsock, dan
kemudian dikirim ke aplikasi. Ini mudah, sederhana, tetapi bukan itu yang terjadi pada Winsock terakhir.
Tambahan baru pada Winsock versi 2.0 adalah Layered Service Providers (LSP). Pada dasarnya ini merupakan tambahan yang bisa mengubah cara kerja sistem. Misalkan Anda menginstalasi aplikasi parental control yang memblokir nama domain tertentu melalui LSP. Sekarang pada waktu browser Anda mengirim perintah ke Winsock, perintah otomatis diberikan ke LSP parental control dulu. Jika URL terlihat OK, maka diberikan ke TCP/IP. Dari situ baru keluar dari PC Anda seperti biasa. Namun, jika URL ada dalam daftar larangan, LSP memberitahu Winsock bahwa tidak bisa terhubung sehingga diblokir.
Anda tidak terbatas pada satu LSP. Kebanyakan sistem mempunyai beberapa, yang membentuk rantai. Pada waktu Anda mengakses Internet, perintah diberikan dari satu LSP ke yang lain sampai akhirnya tiba di layer TCP/IP, dan kemudian dikirim ke Internet. Data yang datang dilewatkan kembali melalu rantai tersebut sampai tiba di aplikasi Anda.
Masalah Penting
Rantai LSP yang digunakan Winsock bisa menjadi panjang, tetapi tidak mempunyai pengaruh yang signifi kan terhadap kinerja. Masalah sebenarnya bukan di situ. Bayangkan apa yang terjadi jika Anda meng-uninstall program parental control, dan program tidak menghapus LSP secara benar. Pada kasus ini LSP yang lebih tinggi pada rantai bisa terus mengirim data, tetapi program tidak lagi di situ sehingga rantai terputus. Data yang Anda kirim tidak sampai di LSP bawah atau layer TCP/IP, sehingga koneksi Internet Anda mati.
Kemungkinan lain adalah Anda secara tidak sengaja menginstalasi sejenis spyware yang menambahkan LSP-nya sendiri. Seperti yang disarankan sebelumya, ini bisa mencatat semua traffic Internet Anda, atau memantau situs tertentu, lalu mengambil nama user, password, dan informasi lain yang disuka, dan Anda tidak akan menyadari gejala yang sedang terjadi. Namun, dengan menggunakan beberapa utility Windows XP Anda bisa mengecek masalah LSP dan segera memperbaiki mereka.
Mendeteksi Koneksi TCP yang Ditutup
TCP merupakan protokol jaringan full-duplex. Ini berarti Anda bisa menutup koneksi satu-sisi dan masih bisa mengirim data pada sisi lain. Sebagai contoh adalah web browser: ia mengirim permintaan ke web server, lalu menutup setengah koneksinya. Web server lalu mengirim data yang diminta pada sisi lain koneksi, dan menutup sisi pengirimannya, yang menghentikan sesi TCP.
Program TCP hanya menutupi setengah pengiriman, yang dianggap remote komputer sebagai sisi penerima. Jadi, yang biasanya dideteksi apakah remote komputer menutup sisi pengirimannya, artinya Anda tidak akan menerima data dari mereka lagi. Pada socket asinkronus, Winsock mengirim Anda pesan FD_CLOSE pada waktu koneksi drop. Obyek event juga sama: sistem memberi sinyal FD_CLOSE.
Perbaikan Singkat
Windows XP dilengkapi dengan utitily tes Winsock sendiri, tetapi untuk menggunakannya Anda harus menginstalasi XP Support Tools dari CD Windows (buka \Support\Tools, jalankan Setup.exe). Ketika sudah selesai, buka jendela Command dan ketik netdiag /test:winsock/v. Perintah akan mengecek Winsock dan memberitahu Anda apakah berhasil atau gagal melewati tes.
Jika tidak punya CD Windows, Anda bisa mengecek instalasi LSP dengan menjalankan tool Windows System Information, atau menginstalasi Microsoft AntiSpyware, klik pada Advanced Tools, System Explorers, Winsock LSP).
Jika Anda mempunyai masalah Winsock, pengguna Windows XP SP2 bisa memperbaikinya dengan membuka jendela Command dan masukkan perintah netsh winsock reset. Restart PC Anda dan Windows akan bekerja kembali. Namun perlu diingat bahwa program Internet lain, seperti firewall, mungkin perlu diinstalasi ulang. Pengguna XP yang tidak mempunyai SP2 harus menghapus setting registry Winsock. Buka Registry Editor, lalu hapus HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock dan HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2. Restart komputer supaya Windows XP membuat ulang kedua entri tersebut.
Terakhir, klik kanan koneksi Internet atau jaringan Anda, dan pilih Properties, Install, Protocol, Add. Pilih ‘Have Disk’, ketik C:\WINDOWS\inf dan klik OK. Pilih ‘Internet Protocol (TCP/IP)’ dan klik OK. Reboot komputer setelah TCP/IP diinstalasi ulang, dan PC Anda akan bisa bekerja kembali.
Memperbaiki Masalah Winsock pada Windows Versi Sebelumnya
Mendiagnosis masalah Windows pada PC lama sering kali sulit, tetapi ini bukan kasus di mana Winsock menyebabkan masalah. Jika Anda mempunyai Windows 95, setiap masalah Winsock bisa diperbaiki dengan menginstalasi (atau instalasi ulang) Windows Socket 2
(http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2).
Ada cerita yang sama untuk mereka yang masih menggunakan aplikasi Internet 16-bit. Pada waktu aplikasi ditulis, pembuat menyediakan fi le winsock.dll mereka sendiri, sehingga berhasil tidaknya bergantung apakah Anda mempunyai versi yang sesuai. Jika aplikasi tidak bekerja lagi, cari semua fi le yang bernama winsock.dll dan coba program dengan versi winsock yang berbeda dari yang di dalam folder. Menginstalasi ulang aplikasi asli, atau menghapus program lain yang menyediakan winsock.dll sendiri juga bisa membantu. Jika Anda menggunakan Windows 98 atau Me dan koneksi Internet terputus maka sebaiknya gunakan utility pihak ketiga.
LSP-Fix (www.cexx.org/lspfi x.htm) mencari dan memperbaiki rantai LSP yang terputus. Ia tidak menghapus fi le apapun dan aman untuk digunakan. Ia bekerja pada Windows versi 95 ke atas. Meskipun tidak di-update sejak 2003, program dinyatakan kompatibel dengan Windows XP.
WinsockFix (www.tacktech.com/display.cfm?ttid=257) melakukan tugas yang sama, mengembalikan key registry Winsock untuk semua versi Windows. Ada juga Winsock2 Fix (www.bu.edu/pcsc/internetaccess/winsock2fi x.html). Kedua program bisa digunakan, tetapi hati-hati. Entah masih didukung atau pembuatnya sudah pindah, Anda tanggung sendiri jika terjadi sesuatu.
Jika tidak ada utility yang membantu, Anda bisa secara manual menghapus dan menginstalasi ulang setting Winsock2. Informasi terbaik cara melakukannya bisa didapatkan di http://www.compu-docs.com/winsock9x.htm, di mana di situ terdapat petunjuk yang komprehensif bagi pengguna Windows 95, 98, dan Me.
Mempelajari cara kerja Windows secara internal sering kali berguna, tetapi kadang-kadang keuntungannya tidak langsung terlihat jelas. Salah satu contoh adalah mempelajari Windows Sockets (atau Winsock). Jika bukan seorang programer, Anda mungkin awalnya tidak terlalu peduli tentang itu walaupun sebenarnya perlu diketahui. Ini karena Windows bisa “putus”, dan jika itu terjadi koneksi Internet akan mati, tanpa sebab yang jelas. Ada juga masalah sekuriti. Winsock bisa diambil alih sehingga spyware bisa mencatat semua yang Anda lakukan pada waktu online atau mengirim informasi. Ini merupakan hal yang serius, tetapi jangan khawatir: tidak sulit untuk mengatasinya, tetapi kita lihat dulu sedikit teknologi yang mendasarinya.
Windows Sockets
Windows Sockets (disingkat “Winsock” atau “WinSock”) merupakan antarmuka pemrograman jaringan untuk Microsoft Windows yang berdasarkan pada “socket” yang populer pada BSD Unix. Winsock mencakup model Berkeley dan Windows. Aplikasi Winsock 1 bisa meminta Winsock untuk mengirim notifikasi pada jendela pesan. Ini memungkinkan program untuk menangani jaringan, masalah UI, proses background secara bersamaan. Winsock 2 menambahkan banyak fitur.
Winsock 2.x mempunyai dua antarmuka: application programming interface (API) yang melindungi pengembang aplikasi dari layer bawah, dan service provider interface (SPI) yang memungkinkan perluasan Winsock. Dengan menggunakan API, aplikasi Winsock bisa bekerja dengan berbagai protocol transpor jaringan dan implementasi Winsock. (Ngomong-ngomong, kebanyakan orang hanya bilang “Winsock 2” pada waktu berbicara tentang versi Winsock sekarang ini, karena versi yang lebih baru hanya berisi editan dan klarifi kasi dari spesifikasi yang asli.)
Winsock dan TCP/IP
Jaringan terdiri dari beberapa layer. Orang-orang jaringan berbicara mengenai layer tersebut biasanya mengacu ke model OSI. TCP/IP merupakan protokol jaringan, yang berada pada layer 3 dan 4. Protokol jaringan menyediakan service seperti pengalamatan, transpor data, routing, dan koneksi logical melalui jaringan. Dua komputer harus menggunakan protokol jaringan yang sama supaya program pada komputer tersebut dapat berkomunikasi. Protokol jaringan lainnya yang banyak digunakan adalah Novell IPX, 3Com/IBM/Microsoft NetBIO dan Apple AppleTalk. TCP/IP merupakan prokotol jaringan yang paling populer sekarang ini karena semua komputer mendukungnya.
Winsock merupakan API yang memungkinkan program Windows mengirim data melalui protokol komunikasi jaringan apa pun. Ada beberapa fungsi Winsock yang hanya bekerja dengan TCP/IP, tetapi ada versi generik yang lebih baru dari semua fungsi pada Winsock 2 yang memungkinkan Anda menggunakan transpor lain.
Layer Jaringan
Versi pertama dari Winsock sederhana. Suatu aplikasi seperti browser akan memberikan
perintah kepada DLL dan akan diterjemahkan pada TCP/IP, lalu dikirim melalui Web. Data yang diminta kemudian kemudian datang, melalui TCP/IP lagi lalu ke Winsock, dan
kemudian dikirim ke aplikasi. Ini mudah, sederhana, tetapi bukan itu yang terjadi pada Winsock terakhir.
Tambahan baru pada Winsock versi 2.0 adalah Layered Service Providers (LSP). Pada dasarnya ini merupakan tambahan yang bisa mengubah cara kerja sistem. Misalkan Anda menginstalasi aplikasi parental control yang memblokir nama domain tertentu melalui LSP. Sekarang pada waktu browser Anda mengirim perintah ke Winsock, perintah otomatis diberikan ke LSP parental control dulu. Jika URL terlihat OK, maka diberikan ke TCP/IP. Dari situ baru keluar dari PC Anda seperti biasa. Namun, jika URL ada dalam daftar larangan, LSP memberitahu Winsock bahwa tidak bisa terhubung sehingga diblokir.
Anda tidak terbatas pada satu LSP. Kebanyakan sistem mempunyai beberapa, yang membentuk rantai. Pada waktu Anda mengakses Internet, perintah diberikan dari satu LSP ke yang lain sampai akhirnya tiba di layer TCP/IP, dan kemudian dikirim ke Internet. Data yang datang dilewatkan kembali melalu rantai tersebut sampai tiba di aplikasi Anda.
Masalah Penting
Rantai LSP yang digunakan Winsock bisa menjadi panjang, tetapi tidak mempunyai pengaruh yang signifi kan terhadap kinerja. Masalah sebenarnya bukan di situ. Bayangkan apa yang terjadi jika Anda meng-uninstall program parental control, dan program tidak menghapus LSP secara benar. Pada kasus ini LSP yang lebih tinggi pada rantai bisa terus mengirim data, tetapi program tidak lagi di situ sehingga rantai terputus. Data yang Anda kirim tidak sampai di LSP bawah atau layer TCP/IP, sehingga koneksi Internet Anda mati.
Kemungkinan lain adalah Anda secara tidak sengaja menginstalasi sejenis spyware yang menambahkan LSP-nya sendiri. Seperti yang disarankan sebelumya, ini bisa mencatat semua traffic Internet Anda, atau memantau situs tertentu, lalu mengambil nama user, password, dan informasi lain yang disuka, dan Anda tidak akan menyadari gejala yang sedang terjadi. Namun, dengan menggunakan beberapa utility Windows XP Anda bisa mengecek masalah LSP dan segera memperbaiki mereka.
Mendeteksi Koneksi TCP yang Ditutup
TCP merupakan protokol jaringan full-duplex. Ini berarti Anda bisa menutup koneksi satu-sisi dan masih bisa mengirim data pada sisi lain. Sebagai contoh adalah web browser: ia mengirim permintaan ke web server, lalu menutup setengah koneksinya. Web server lalu mengirim data yang diminta pada sisi lain koneksi, dan menutup sisi pengirimannya, yang menghentikan sesi TCP.
Program TCP hanya menutupi setengah pengiriman, yang dianggap remote komputer sebagai sisi penerima. Jadi, yang biasanya dideteksi apakah remote komputer menutup sisi pengirimannya, artinya Anda tidak akan menerima data dari mereka lagi. Pada socket asinkronus, Winsock mengirim Anda pesan FD_CLOSE pada waktu koneksi drop. Obyek event juga sama: sistem memberi sinyal FD_CLOSE.
Perbaikan Singkat
Windows XP dilengkapi dengan utitily tes Winsock sendiri, tetapi untuk menggunakannya Anda harus menginstalasi XP Support Tools dari CD Windows (buka \Support\Tools, jalankan Setup.exe). Ketika sudah selesai, buka jendela Command dan ketik netdiag /test:winsock/v. Perintah akan mengecek Winsock dan memberitahu Anda apakah berhasil atau gagal melewati tes.
Jika tidak punya CD Windows, Anda bisa mengecek instalasi LSP dengan menjalankan tool Windows System Information, atau menginstalasi Microsoft AntiSpyware, klik pada Advanced Tools, System Explorers, Winsock LSP).
Jika Anda mempunyai masalah Winsock, pengguna Windows XP SP2 bisa memperbaikinya dengan membuka jendela Command dan masukkan perintah netsh winsock reset. Restart PC Anda dan Windows akan bekerja kembali. Namun perlu diingat bahwa program Internet lain, seperti firewall, mungkin perlu diinstalasi ulang. Pengguna XP yang tidak mempunyai SP2 harus menghapus setting registry Winsock. Buka Registry Editor, lalu hapus HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock dan HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2. Restart komputer supaya Windows XP membuat ulang kedua entri tersebut.
Terakhir, klik kanan koneksi Internet atau jaringan Anda, dan pilih Properties, Install, Protocol, Add. Pilih ‘Have Disk’, ketik C:\WINDOWS\inf dan klik OK. Pilih ‘Internet Protocol (TCP/IP)’ dan klik OK. Reboot komputer setelah TCP/IP diinstalasi ulang, dan PC Anda akan bisa bekerja kembali.
Memperbaiki Masalah Winsock pada Windows Versi Sebelumnya
Mendiagnosis masalah Windows pada PC lama sering kali sulit, tetapi ini bukan kasus di mana Winsock menyebabkan masalah. Jika Anda mempunyai Windows 95, setiap masalah Winsock bisa diperbaiki dengan menginstalasi (atau instalasi ulang) Windows Socket 2
(http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2).
Ada cerita yang sama untuk mereka yang masih menggunakan aplikasi Internet 16-bit. Pada waktu aplikasi ditulis, pembuat menyediakan fi le winsock.dll mereka sendiri, sehingga berhasil tidaknya bergantung apakah Anda mempunyai versi yang sesuai. Jika aplikasi tidak bekerja lagi, cari semua fi le yang bernama winsock.dll dan coba program dengan versi winsock yang berbeda dari yang di dalam folder. Menginstalasi ulang aplikasi asli, atau menghapus program lain yang menyediakan winsock.dll sendiri juga bisa membantu. Jika Anda menggunakan Windows 98 atau Me dan koneksi Internet terputus maka sebaiknya gunakan utility pihak ketiga.
LSP-Fix (www.cexx.org/lspfi x.htm) mencari dan memperbaiki rantai LSP yang terputus. Ia tidak menghapus fi le apapun dan aman untuk digunakan. Ia bekerja pada Windows versi 95 ke atas. Meskipun tidak di-update sejak 2003, program dinyatakan kompatibel dengan Windows XP.
WinsockFix (www.tacktech.com/display.cfm?ttid=257) melakukan tugas yang sama, mengembalikan key registry Winsock untuk semua versi Windows. Ada juga Winsock2 Fix (www.bu.edu/pcsc/internetaccess/winsock2fi x.html). Kedua program bisa digunakan, tetapi hati-hati. Entah masih didukung atau pembuatnya sudah pindah, Anda tanggung sendiri jika terjadi sesuatu.
Jika tidak ada utility yang membantu, Anda bisa secara manual menghapus dan menginstalasi ulang setting Winsock2. Informasi terbaik cara melakukannya bisa didapatkan di http://www.compu-docs.com/winsock9x.htm, di mana di situ terdapat petunjuk yang komprehensif bagi pengguna Windows 95, 98, dan Me.
Tidak ada komentar:
Posting Komentar