Bagikan melalui


Menyiapkan penelusuran kesalahan kernel jaringan KDNET secara manual

Alat Penelusuran Kesalahan untuk Windows mendukung penelusuran kesalahan kernel melalui jaringan. Artikel ini menjelaskan cara menyiapkan penelusuran kesalahan jaringan secara manual.

Penting

Menyiapkan penelusuran kesalahan jaringan secara manual adalah proses yang kompleks dan rawan kesalahan. Untuk menyiapkan penelusuran kesalahan jaringan secara otomatis, lihat Menyiapkan penelusuran kesalahan kernel jaringan KDNET secara otomatis. Menggunakan utilitas KDNET sangat disarankan untuk semua pengguna debugger.

Komputer yang menjalankan debugger disebut komputer host, dan komputer yang sedang di-debug disebut komputer target. Komputer host harus menjalankan Windows 7 atau yang lebih baru, dan komputer target harus menjalankan Windows 8 atau yang lebih baru.

Penelusuran kesalahan melalui jaringan memiliki keuntungan berikut dibandingkan dengan penelusuran kesalahan daripada jenis konektivitas lainnya.

  • Komputer host dan target dapat berada di mana saja di jaringan lokal.
  • Sangat mudah untuk men-debug banyak komputer target dari satu komputer host.
  • Mengingat dua komputer, kemungkinan keduanya memiliki adaptor Ethernet. Kecil kemungkinan keduanya memiliki port serial atau 1394 port.
  • Penelusuran kesalahan jaringan lebih cepat daripada penelusuran kesalahan port serial.

Adaptor jaringan yang didukung

Komputer host dapat menggunakan adaptor jaringan apa pun, tetapi komputer target harus menggunakan adaptor jaringan yang didukung oleh Alat Penelusuran Kesalahan untuk Windows. Untuk daftar adaptor jaringan yang didukung, lihat NIC Ethernet yang didukung untuk penelusuran kesalahan kernel jaringan di Windows 10 dan NIC Ethernet yang didukung untuk penelusuran kesalahan kernel jaringan di Windows 8.1.

Menginstal Alat Penelusuran Kesalahan untuk Windows

Konfirmasikan bahwa Alat Penelusuran Kesalahan untuk Windows diinstal pada sistem host. Untuk informasi tentang mengunduh dan menginstal alat debugger, lihat Alat Debugging untuk Windows.

Menentukan alamat IP komputer host

Gunakan salah satu prosedur berikut untuk menentukan alamat IP komputer host.

  1. Pada komputer host, buka prompt perintah dan masukkan perintah berikut:

    ipconfig
    

    Catat alamat IPv4 adaptor jaringan yang ingin Anda gunakan untuk penelusuran kesalahan.

  2. Pada komputer target, buka prompt perintah dan masukkan perintah berikut, di mana YourIPAddress adalah alamat IP komputer host:

    ping -4 <YourIPAddress>
    

Pilih port untuk penelusuran kesalahan jaringan

Pilih nomor port untuk penelusuran kesalahan pada host dan komputer target. Anda dapat memilih nomor apa pun dari 49152 hingga 65535. Rentang yang direkomendasikan adalah 50000 - 50039. Port yang Anda pilih dibuka untuk akses eksklusif oleh debugger yang berjalan di komputer host. Berhati-hatilah untuk memilih nomor port yang tidak digunakan oleh aplikasi lain yang berjalan di komputer host.

Catatan

Rentang nomor port yang dapat digunakan untuk penelusuran kesalahan jaringan mungkin dibatasi oleh kebijakan jaringan perusahaan Anda. Tidak ada cara untuk mengetahui dari komputer host apa batasannya. Untuk menentukan apakah kebijakan perusahaan Anda membatasi rentang port yang dapat digunakan untuk penelusuran kesalahan jaringan, tanyakan kepada administrator jaringan Anda.

Jika Anda menyambungkan beberapa komputer target ke satu komputer host, setiap koneksi harus memiliki nomor port yang unik. Misalnya, jika Anda menyambungkan 100 komputer target ke satu komputer host, Anda dapat menetapkan port 50000 ke koneksi pertama, port 50001 ke koneksi kedua, dan sebagainya.

Catatan

 Komputer host yang berbeda dapat menggunakan rentang port yang sama (50000 hingga 50099) untuk menyambungkan ke 100 komputer target lainnya.

Menyiapkan komputer target

  1. Verifikasi bahwa komputer target memiliki adaptor jaringan yang didukung. Untuk informasi selengkapnya, lihat:

  2. Koneksi adaptor yang didukung ke hub jaringan atau beralih menggunakan kabel jaringan yang sesuai.

Penting

Sebelum menggunakan BCDEdit untuk mengubah informasi boot, Anda mungkin perlu menangguhkan sementara fitur keamanan Windows, seperti BitLocker dan Boot Aman, pada PC pengujian. Aktifkan kembali fitur keamanan ini saat pengujian selesai, dan kelola PC pengujian dengan tepat saat fitur keamanan dinonaktifkan.

  1. Dalam prompt perintah yang ditingkatkan, masukkan perintah berikut, di mana w.x.y.z adalah alamat IP komputer host, dan n adalah nomor port pilihan Anda:

    bcdedit /debug on
    
    bcdedit /dbgsettings net hostip:w.x.y.z port:n
    
  2. BCDEdit menampilkan kunci yang dihasilkan secara otomatis. Salin kunci dan simpan di perangkat penyimpanan yang dapat dilepas, seperti USB flash drive. Anda memerlukan kunci saat memulai sesi penelusuran kesalahan di komputer host.

  3. Gunakan Device Manager untuk menentukan bus PCI, perangkat, dan nomor fungsi untuk adaptor yang ingin Anda gunakan untuk penelusuran kesalahan. Nilai-nilai ini ditampilkan di Manajer Perangkat di bawah Lokasi pada tab Umum . Kemudian dalam prompt perintah yang ditingkatkan, masukkan perintah berikut, di mana b, d, dan f adalah nomor bus, nomor perangkat, dan nomor fungsi adaptor:

    bcdedit /set "{dbgsettings}" busparams b.d.f
    
  4. PC target akan di-boot ulang setelah debugger kernel terpasang.

Catatan

Jika Anda ingin menginstal peran Hyper-V di komputer target, lihat Menyiapkan penelusuran kesalahan jaringan host komputer virtual.

Perhatian Jika komputer target Anda berada di stasiun docking dan Anda mengaktifkan penelusuran kesalahan jaringan untuk adaptor jaringan yang merupakan bagian dari stasiun docking, jangan lepaskan komputer dari stasiun docking. Jika Anda perlu menghapus komputer target dari stasiun docking, nonaktifkan penelusuran kesalahan kernel terlebih dahulu. Untuk menonaktifkan penelusuran kesalahan kernel pada komputer target, buka prompt perintah sebagai administrator dan masukkan perintah bcdedit /debug off. Reboot komputer target.

Memulai sesi penelusuran kesalahan

Konfirmasikan bahwa adaptor jaringan komputer host tersambung ke hub jaringan atau beralih menggunakan kabel jaringan yang sesuai.

Di komputer host, buka WinDbg. Pada menu File , pilih Debug Kernel. Dalam dialog Debugging Kernel, buka tab Net . Masukkan nomor port dan kunci Anda. Pilih OK.

Anda juga dapat memulai sesi dengan WinDbg dengan membuka prompt perintah dan memasukkan perintah berikut, di mana n adalah nomor port Anda dan MyKey adalah kunci yang secara otomatis dihasilkan oleh BCDEdit saat Anda menyiapkan komputer target:

windbg -k net:port=<n>,key=<MyKey>

Jika Anda diminta untuk mengizinkan WinDbg mengakses port melalui firewall, izinkan WinDbg mengakses port untuk ketiga jenis jaringan yang berbeda.

Gunakan KD

Di komputer host, buka prompt perintah. Masukkan perintah berikut, di mana n adalah nomor port Anda dan MyKey adalah kunci yang secara otomatis dihasilkan oleh BCDEdit saat Anda menyiapkan komputer target:

kd -k net:port=<n>,key=<MyKey>

Jika Anda diminta untuk mengizinkan WinDbg mengakses port melalui firewall, izinkan WinDbg mengakses port untuk ketiga jenis jaringan yang berbeda.

Mulai ulang PC Target

Setelah debugger tersambung dan menunggu untuk terhubung, boot ulang komputer target. Salah satu cara untuk menghidupkan ulang PC adalah dengan menggunakan perintah ini dari prompt perintah administrator:

shutdown -r -t 0

Ketika target dimulai ulang, debugger di OS host harus tersambung.

Setelah menyambungkan ke target pada host, tekan break pada debugger Anda dan Anda dapat mulai men-debug.

Izinkan debugger melalui firewall

Ketika pertama kali mencoba membuat koneksi penelusuran kesalahan jaringan, Anda mungkin diminta untuk mengizinkan akses aplikasi penelusuran kesalahan (WinDbg atau KD) melalui firewall. Versi klien Windows menampilkan perintah, tetapi versi server Windows tidak menampilkan perintah. Anda harus merespons perintah dengan mencentang kotak untuk ketiga jenis jaringan: domain, privat, dan publik.

Jika Anda tidak mendapatkan perintah atau jika Anda tidak mencentang kotak ketika perintah tersedia, Anda harus menggunakan Panel Kontrol untuk mengizinkan akses melalui firewall pada PC host tempat debugger berjalan. Buka Panel Kontrol > Sistem dan Keamanan dan pilih Izinkan aplikasi melalui Windows Firewall.

  • (WinDbg) Dalam daftar aplikasi, temukan proses mesin WinDbg (TCP) (semua).

  • (WinDbg Klasik) Dalam daftar aplikasi, temukan Windows GUI Symbolic Debugger dan Windows Kernel Debugger.

Gunakan kotak centang untuk mengizinkan aplikasi tersebut melalui firewall. Mulai ulang aplikasi penelusuran kesalahan Anda (WinDbg atau KD).

Kunci enkripsi

Untuk menjaga keamanan komputer target, paket yang melakukan perjalanan antara host dan komputer target harus dienkripsi. Anda harus menggunakan kunci enkripsi yang dihasilkan secara otomatis (disediakan oleh BCDEdit saat Mengonfigurasi komputer target). Menggunakan kunci enkripsi yang dihasilkan secara otomatis disarankan karena lebih aman, dan memberikan nilai unik yang digunakan dalam membuat koneksi ke target tertentu.

Penelusuran kesalahan jaringan menggunakan kunci 256-bit yang ditentukan sebagai empat nilai 64-bit, dalam basis 36, dipisahkan oleh titik. Setiap nilai 64-bit ditentukan dengan menggunakan hingga 13 karakter. Karakter yang valid adalah huruf a sampai z dan digit 0 hingga 9. Karakter khusus tidak diperbolehkan.

Untuk menentukan kunci Anda sendiri, buka prompt perintah yang ditingkatkan pada komputer target. Masukkan perintah berikut, di mana w.x.y.z adalah alamat IP komputer host, n adalah nomor port Anda, dan Kunci adalah kunci Anda:

bcdedit /dbgsettings net hostip:w.x.y.z port:n key:Key

Komputer target perlu di-boot ulang kapan saja dbgsettings diubah.

Tips pemecahan masalah

Aplikasi penelusuran kesalahan harus diizinkan melalui firewall

Ketika pertama kali mencoba membuat koneksi penelusuran kesalahan jaringan, Anda mungkin diminta untuk mengizinkan akses aplikasi penelusuran kesalahan (WinDbg atau KD) melalui firewall. Versi klien Windows menampilkan perintah, tetapi versi server Windows tidak menampilkan perintah. Anda harus merespons perintah dengan mencentang kotak untuk ketiga jenis jaringan: domain, privat, dan publik.

Jika Anda tidak mendapatkan perintah atau jika Anda tidak mencentang kotak saat perintah tersedia, Anda harus menggunakan Panel Kontrol untuk mengizinkan akses melalui firewall. Buka Panel Kontrol > Sistem dan Keamanan dan pilih Izinkan aplikasi melalui Windows Firewall.

  • (WinDbg) Dalam daftar aplikasi, temukan proses mesin WinDbg (TCP) (semua).

  • (WinDbg (Klasik)) Dalam daftar aplikasi, temukan Windows GUI Symbolic Debugger dan Windows Kernel Debugger.

Gunakan kotak centang untuk mengizinkan aplikasi tersebut melalui firewall. Gulir ke bawah dan pilih OK untuk menyimpan perubahan firewall. Mulai ulang debugger.

Nomor port harus dalam rentang yang diizinkan oleh kebijakan jaringan

Rentang nomor port yang dapat digunakan untuk penelusuran kesalahan jaringan mungkin dibatasi oleh kebijakan jaringan perusahaan Anda. Untuk menentukan apakah kebijakan perusahaan Anda membatasi rentang port yang dapat digunakan untuk penelusuran kesalahan jaringan, tanyakan kepada administrator jaringan Anda. Pada komputer target, buka prompt perintah sebagai administrator dan masukkan perintah bcdedit /dbgsettings. Outputnya akan mirip dengan contoh berikut:

C:\> bcdedit /dbgsettings
key                     XXXXXX.XXXXX.XXXXX.XXXXX
debugtype               NET
hostip                  169.168.1.1
port                    50085
dhcp                    Yes
The operation completed successfully.

Pada output sebelumnya, nilai port adalah 50085. Jika nilai port berada di luar rentang yang diizinkan oleh administrator jaringan Anda, masukkan perintah berikut. Nilai w.x.y.z adalah alamat IP komputer host, dan YourDebugPort adalah nomor port dalam rentang yang diizinkan.

bcdedit /dbgsettings net hostip:w.x.y.z port:YourDebugPort

Setelah mengubah pengaturan debugger komputer target, jalankan ulang debugger pada komputer host dengan pengaturan port baru, lalu boot ulang komputer target.

Menggunakan ping untuk menguji konektivitas

Jika debugger tidak tersambung, gunakan perintah ping pada PC target untuk memverifikasi konektivitas.

C:\>Ping <HostComputerIPAddress>

Catatan

Ini mungkin tidak berfungsi jika komputer host Anda tidak dikonfigurasi agar dapat ditemukan di jaringan karena firewall dapat memblokir permintaan ping. Jika firewall memblokir permintaan ping, Anda tidak akan mendapatkan respons apa pun saat melakukan ping pada host.

Bagaimana debugger mendapatkan alamat IP untuk komputer target

KDNET pada komputer target mencoba menggunakan Dynamic Host Configuration Protocol (DHCP) untuk mendapatkan alamat IP yang dapat dirutekan untuk adaptor jaringan yang sedang digunakan untuk penelusuran kesalahan. Jika KDNET mendapatkan alamat yang ditetapkan DHCP, komputer target dapat di-debug oleh komputer host yang terletak di mana saja di jaringan. Jika KDNET gagal mendapatkan alamat yang ditetapkan DHCP, KDNET menggunakan Alamat IP Privat Otomatis (APIPA) untuk mendapatkan alamat IP tautan lokal. Alamat IP tautan lokal tidak dapat dirutekan, sehingga host dan target tidak dapat menggunakan alamat IP tautan lokal untuk berkomunikasi melalui router. Dalam hal ini, penelusuran kesalahan jaringan akan berfungsi jika Anda menyambungkan host dan komputer target ke hub jaringan atau sakelar yang sama.

Selalu tentukan busparam saat menyiapkan KDNET pada komputer fisik dengan NIC berbasis PCI

Jika Anda menyiapkan KDNET pada komputer fisik dengan PCI atau NIC berbasis PCIe, Anda harus selalu menentukan busparams untuk NIC yang ingin Anda gunakan untuk KDNET. Untuk menentukan parameter bus, buka Manajer Perangkat, dan temukan adaptor jaringan yang ingin Anda gunakan untuk penelusuran kesalahan. Buka halaman properti untuk adaptor jaringan dan catat nomor bus, nomor perangkat, dan nomor fungsi yang ditampilkan di bawah Lokasi pada tab Umum . Dalam prompt perintah yang ditingkatkan, masukkan perintah berikut, di mana b, d, dan f adalah nomor bus, perangkat, dan fungsi dalam format desimal:

bcdedit /set "{dbgsettings}" busparams b.d.f

Ketika debugger berjalan pada komputer host dan menunggu untuk terhubung, boot ulang komputer target menggunakan perintah berikut:

shutdown -r -t 0

Menghapus entri BCDEdit secara manual

Penghapusan manual biasanya tidak diperlukan tetapi disediakan di sini sebagai prosedur pemecahan masalah untuk situasi yang tidak biasa.

Menghapus entri secara manual tidak diperlukan saat menggunakan utilitas kdnet. Untuk informasi selengkapnya, lihat Menyiapkan penelusuran kesalahan kernel jaringan KDNET secara otomatis.

Saat Anda menggunakan bcdedit –deletevalue, Anda harus memberikan nama elemen bcd yang valid. Untuk informasi selengkapnya, lihat BCDEdit /deletevalue.

Untuk menghapus entri bcdedit secara manual, selesaikan langkah-langkah berikut:

  1. Pada komputer target, buka prompt perintah sebagai administrator.

  2. Sebagai contoh, masukkan perintah berikut untuk menghapus entri debugging BCDEdit untuk alamat IP host:

    bcdedit -deletevalue {dbgsettings} hostip
    

Saat menghapus hostip, Anda perlu menentukan target= pada baris perintah debugger.

  1. Sebagai contoh lain, hapus entri port dengan menggunakan perintah berikut:

    bcdedit -deletevalue {dbgsettings} port
    

Saat Anda menghapus entri port, KDNET menggunakan port debugger default terdaftar ICANN 5364.

Menyiapkan Hyper-V

Jika Anda ingin menginstal peran Hyper-V di komputer target, lihat Menyiapkan penelusuran kesalahan jaringan host komputer virtual.

Untuk informasi tentang penelusuran kesalahan Hyper-V Virtual Machine (VM), lihat Menyiapkan penelusuran kesalahan jaringan komputer virtual - KDNET.

Mengaktifkan KDNET pada host Hyper-V yang menjalankan VM dengan konektivitas jaringan eksternal

Terkadang situasi terjadi yang menyebabkan jaringan di VM berhenti berfungsi:

  • Hyper-V telah diaktifkan pada PC, sakelar jaringan eksternal telah dibuat dan diacu pada NIC fisik di komputer, dan VM telah dikonfigurasi untuk menggunakan sakelar eksternal tersebut untuk jaringan mereka.

  • KDNET kemudian diaktifkan pada OS host Hyper-V menggunakan NIC fisik yang sama yang ditujukkan oleh sakelar jaringan eksternal. Host di-boot ulang.

  • Semua VM yang menggunakan sakelar eksternal yang dikonfigurasi sebelumnya, kehilangan konektivitas jaringan mereka setelah boot ulang.

Penghentian ini dirancang dan terjadi karena KDNET mengambil kontrol eksklusif atas NIC yang dikonfigurasi untuk digunakan. Miniport NDIS asli untuk NIC tersebut tidak dimuat oleh OS. Sakelar jaringan eksternal kemudian tidak dapat lagi berkomunikasi dengan driver miniport NDIS asli dan berhenti bekerja. Untuk mengatasi situasi ini, lakukan hal berikut:

  1. Buka Virtual Switch Manager dari Hyper-V Manager, dan pilih Sakelar Virtual yang ada. Ubah NIC jaringan eksternal ke Microsoft Kernel Debug Network Adapter dengan memilihnya dari menu dropdown lalu pilih OK dalam dialog Virtual Switch Manager.

  2. Setelah memperbarui Virtual Switch NIC, matikan dan mulai ulang VM Anda.

Ketika penelusuran kesalahan KDNET dinonaktifkan, prosedur yang sama perlu diikuti untuk menunjuk kembali sakelar eksternal ke miniport NDIS asli untuk NIC. Jika tidak, konektivitas VM hilang ketika komputer di-boot ulang setelah penelusuran kesalahan dinonaktifkan.

IPv6

Dukungan IPv6 ditambahkan di Windows versi 1809.

Untuk menggunakan IPv6 dengan debugger, selesaikan langkah-langkah berikut:

  1. Ping nama> debughost Anda <dan catat alamat IPv6 yang dilaporkan pada balasan dari baris output. Gunakan alamat IPv6 ini sebagai ganti .x:y:z:p:d:q:r:n

  2. Gunakan BCDEdit untuk menghapus nilai alamat IP yang ada dalam dbgsettings.

    bcdedit -deletevalue {dbgsettings} hostip
    
  3. Atur alamat IPv6 host. Tidak boleh ada spasi dalam hostipv6=s:t:u:v:w:x:y:z string. <YourPort> adalah nomor port jaringan yang akan digunakan untuk komputer target ini. <YourKey> adalah kunci keamanan empat bagian. <b.d.f> adalah nomor lokasi fungsi perangkat bus untuk NIC yang ingin Anda gunakan untuk KDNET.

    bcdedit /dbgsettings net hostipv6:s:t:u:v:w:x:y:z port:<YourPort> key:<YourKey> busparams:<b.d.f>
    
  4. Ketik perintah ini untuk mengonfirmasi bahwa dbgsettings diatur dengan benar.

    C:\> bcdedit /dbgsettings
    busparams               0.25.0
    key                     2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
    debugtype               NET
    hostipv6                  2001:db8:0:0:ff00:0:42:8329
    port                    50010
    dhcp                    Yes
    The operation completed successfully.
    
  5. Pada komputer host, gunakan perintah berikut untuk memulai debugger:

    Windbg -k net:port=<yournetworkportnumber>,key=<key_output_from_kdnet>,target=::<YourIPv6Address> 
    
  6. Ketika debugger berjalan pada komputer host dan menunggu untuk terhubung, boot ulang komputer target.

  7. Debugger harus terhubung ke debugger host lebih awal selama boot. Anda dapat melihat bahwa KDNET menggunakan koneksi IPv6 karena alamat IP yang dilaporkan dalam pesan yang terhubung adalah alamat IPv6 alih-alih alamat IPv4.

Catatan

  • Setiap pengaturan debugger bcd yang memungkinkan hostip ditentukan memiliki elemen yang hostipv6 sesuai. Ada tiga.

    IPv4 IPv6 Penggunaan
    hostip hostipv6 Untuk penelusuran kesalahan boot dan kernel
    targethostip targethostipv6 Khusus untuk penelusuran kesalahan kernel
    hypervisorhostip hypervisorhostipv6 Untuk penelusuran kesalahan hyper-v
  • Jika Anda mengatur hostipv6 alamat gaya untuk salah satu jenis penelusuran kesalahan tersebut, itu berarti Anda ingin dan akan mendapatkan IPv6.

  • Jika Anda mengatur hostip alamat gaya untuk salah satu jenis penelusuran kesalahan tersebut, itu berarti Anda ingin dan akan mendapatkan IPv4.

  • Target hanya akan melakukan IPv4 atau IPv6, bukan keduanya pada saat yang sama. Versi protokol IP yang digunakan dikontrol oleh dbgsettings komputer target. Jika hostip ditetapkan, target menggunakan IPv4. Jika hostipv6 ditetapkan, target menggunakan IPv6.

  • Debugger host biasanya secara otomatis memilih penggunaan IPv4 atau IPv6. Secara default, debugger mendengarkan soket IPv4 dan soket IPv6 dan terhubung secara otomatis pada salah satu ke komputer target.

  • Jika Anda ingin memaksa penggunaan IPv6 di debugger pada host, tetapi Anda ingin debugger mendengarkan koneksi dari target, maka Anda dapat menambahkan target=:: ke baris perintah debugger. :: adalah alamat IPv6 dari 0.

  • Jika Anda ingin memaksa penelusuran kesalahan IPv4 di debugger pada host, tetapi Anda ingin debugger mendengarkan koneksi dari target, maka Anda dapat menambahkan target=0.0.0.0 ke baris perintah debugger. 0.0.0.0 adalah alamat IPv4 0.

  • Jika Anda menentukan target= pada baris perintah debugger dan menggunakan nama komputer, debugger mengonversi nama komputer tersebut menjadi alamat IPv4 dan alamat IPv6. Debugger kemudian mencoba menyambungkan pada keduanya.

  • Saat Anda menentukan target= pada baris perintah debugger, dan menggunakan alamat IP, jika alamat IP berisi karakter : , debugger mengasumsikan itu adalah alamat IPv6, dan memaksa penggunaan IPv6 untuk koneksi tersebut. Jika alamat IP berisi karakter . , debugger mengasumsikan itu adalah alamat IPv4, dan memaksa penggunaan IPv4 untuk koneksi tersebut.

  • Jika Anda menyiapkan IPv6 pada target dan penggunaan paksa IPv4 pada baris perintah debugger, Anda tidak mendapatkan koneksi.

  • Jika Anda menyiapkan IPv4 pada target dan penggunaan paksa IPv6 pada baris perintah debugger, Anda juga tidak mendapatkan koneksi.

Baca juga