Dasar Jaringan & Protokol: TCP/IP, DNS, HTTP/HTTPS, dan Analisis Paket dengan Wireshark
Panduan komprehensif untuk memahami fondasi jaringan komputer dan praktik analisis trafik menggunakan Wireshark.
Pendahuluan
Jaringan komputer memungkinkan perangkat saling bertukar data melalui protokol standar. Memahami dasar jaringan—mulai dari model referensi, pengalamatan IP, hingga protokol aplikasi—adalah keterampilan esensial bagi pelajar, admin, maupun pengembang. Artikel ini membahas ringkas fondasi TCP/IP, DNS, HTTP/HTTPS, serta cara menganalisis paket menggunakan Wireshark.
Model Referensi: OSI vs TCP/IP
Dua model teoretis yang umum dipakai adalah OSI 7-lapis dan TCP/IP 4-lapis. OSI membantu memahami konsep (Physical s.d. Application), sementara model TCP/IP lebih praktis untuk implementasi internet modern.
<div style="overflow-x:auto;">
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; margin-top:10px;">
<thead style="background:#000; color:#fff; text-align:left;">
<tr>
<th>OSI</th>
<th>TCP/IP</th>
<th>Contoh</th>
</tr>
</thead>
<tbody>
<tr><td>7. Application</td><td rowspan="3">Application</td><td>HTTP, HTTPS, DNS, SMTP</td></tr>
<tr><td>6. Presentation</td><td>TLS/SSL, JSON</td></tr>
<tr><td>5. Session</td><td>Negosiasi sesi</td></tr>
<tr><td>4. Transport</td><td>Transport</td><td>TCP, UDP</td></tr>
<tr><td>3. Network</td><td>Internet</td><td>IP, ICMP</td></tr>
<tr><td>2. Data Link</td><td rowspan="2">Link</td><td>Ethernet, Wi-Fi (802.11)</td></tr>
<tr><td>1. Physical</td><td>Kabel, gelombang radio</td></tr>
</tbody>
</table>
</div>
Fondasi TCP/IP
<h3>IP Addressing, Subnet, dan Routing</h3>
<ul>
<li><strong>IPv4</strong> (32-bit, mis. 192.168.1.10) & <strong>IPv6</strong> (128-bit, mis. 2001:db8::1).</li>
<li><strong>CIDR</strong>: penulisan jaringan, mis. <code>192.168.1.0/24</code> (mask 255.255.255.0).</li>
<li><strong>Gateway</strong>: perangkat router yang meneruskan paket ke jaringan lain.</li>
<li><strong>NAT</strong>: menerjemahkan IP privat ke IP publik saat akses internet.</li>
</ul>
<h3>Transport: TCP vs UDP</h3>
<p>
<strong>TCP</strong> andal (handshake 3-arah, reliabel, berurutan) cocok untuk web, email, file. <strong>UDP</strong> ringan (tanpa koneksi), cocok untuk streaming/VoIP/DNS—latensi rendah, reliabilitas di aplikasi.
</p>
<div style="overflow-x:auto;">
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; margin-top:10px;">
<thead style="background:#000; color:#fff; text-align:left;">
<tr>
<th>Protokol</th>
<th>Port Umum</th>
<th>Transport</th>
<th>Kegunaan</th>
</tr>
</thead>
<tbody>
<tr><td>HTTP</td><td>80</td><td>TCP</td><td>Web tanpa enkripsi</td></tr>
<tr><td>HTTPS</td><td>443</td><td>TCP</td><td>Web terenkripsi (TLS)</td></tr>
<tr><td>DNS</td><td>53</td><td>UDP/TCP</td><td>Resolusi nama (TCP untuk zone transfer/packet besar)</td></tr>
<tr><td>SSH</td><td>22</td><td>TCP</td><td>Akses shell aman</td></tr>
<tr><td>SMTP</td><td>25/587</td><td>TCP</td><td>Pengiriman email</td></tr>
<tr><td>ICMP</td><td>—</td><td>ICMP</td><td>Kontrol/diagnostik (ping, dst.)</td></tr>
</tbody>
</table>
</div>
Dasar DNS (Domain Name System)
DNS menerjemahkan nama domain menjadi alamat IP. Prosesnya melibatkan resolver, server recursive, dan server otoritatif, dengan mekanisme caching untuk efisiensi.
<div style="overflow-x:auto;">
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; margin-top:10px;">
<thead style="background:#000; color:#fff; text-align:left;">
<tr>
<th>Record</th>
<th>Fungsi</th>
<th>Contoh</th>
</tr>
</thead>
<tbody>
<tr><td>A / AAAA</td><td>Nama → IPv4 / IPv6</td><td>A: 93.184.216.34, AAAA: 2606:2800:220:1:248:1893:25c8:1946</td></tr>
<tr><td>CNAME</td><td>Alias nama</td><td>www → example.com</td></tr>
<tr><td>MX</td><td>Server mail</td><td>10 mail.example.com</td></tr>
<tr><td>NS</td><td>Nameserver otoritatif</td><td>ns1.example.net</td></tr>
<tr><td>TXT</td><td>Teks kebijakan</td><td>SPF, verifikasi domain</td></tr>
<tr><td>SRV</td><td>Layanan/port</td><td>_sip._tcp.example.com</td></tr>
</tbody>
</table>
</div>
<pre><code># Cek DNS cepat (Windows/macOS/Linux)
nslookup example.com
Atau (Linux/macOS)
dig A example.com +short dig AAAA example.com +short dig MX example.com +short
HTTP & HTTPS
HTTP adalah protokol aplikasi untuk pertukaran data web. HTTPS menambah TLS untuk enkripsi, integritas, dan autentikasi server. Versi modern (HTTP/2, HTTP/3) meningkatkan efisiensi.
<h3>Metode & Kode Status</h3>
<div style="overflow-x:auto;">
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse:collapse; width:100%; margin-top:10px;">
<thead style="background:#000; color:#fff; text-align:left;">
<tr>
<th>Metode</th>
<th>Deskripsi</th>
<th>Idempoten?</th>
</tr>
</thead>
<tbody>
<tr><td>GET</td><td>Ambil sumber daya</td><td>Ya</td></tr>
<tr><td>POST</td><td>Kirim data/buat sumber daya</td><td>Tidak</td></tr>
<tr><td>PUT</td><td>Gantikan/unggah sumber daya</td><td>Ya</td></tr>
<tr><td>PATCH</td><td>Ubah sebagian</td><td>Tidak (umumnya)</td></tr>
<tr><td>DELETE</td><td>Hapus sumber daya</td><td>Ya</td></tr>
</tbody>
</table>
</div>
<p style="margin-top:10px;">
Kategori <strong>status code</strong>: 1xx (informasi), 2xx (berhasil), 3xx (redirect), 4xx (kesalahan klien), 5xx (kesalahan server).
</p>
<pre><code># Uji HTTP/HTTPS cepat
curl -I http://example.com curl -I https://example.com curl -v https://example.com # lihat handshake TLS ringkas & header
Alat Praktik (ping, traceroute, dig/nslookup, curl, tcpdump)
# Konektivitas & latensi
ping 8.8.8.8
Jejak rute (Linux/macOS) / tracert (Windows)
traceroute example.com
tracert example.com
Resolusi DNS
nslookup example.com
dig example.com +short
HTTP header
curl -I https://example.com
Tangkap paket cepat (butuh sudo/admin)
sudo tcpdump -i eth0 port 53 -nn -vv
sudo tcpdump -i eth0 host 8.8.8.8 -w dns.pcap
Analisis Paket dengan Wireshark
Wireshark adalah analizer paket grafis. Anda dapat menangkap, memfilter, dan menganalisis trafik secara detail untuk pemecahan masalah, pembelajaran, atau audit keamanan.
<h3>Konsep Kunci</h3>
<ul>
<li><strong>Capture Filter</strong> (libpcap/BPF): menyaring <em>saat menangkap</em>, contoh: <code>port 53</code>, <code>host 1.1.1.1</code>.</li>
<li><strong>Display Filter</strong>: menyaring <em>saat menampilkan</em>, contoh: <code>dns</code>, <code>ip.addr == 8.8.8.8</code>, <code>tcp.port == 443</code>.</li>
<li><strong>Follow TCP Stream</strong>: merekonstruksi percakapan TCP end-to-end.</li>
</ul>
<h3>Contoh Display Filter</h3>
<pre><code># IP & Port
ip.addr == 8.8.8.8 tcp.port == 443 || udp.port == 443
DNS
dns dns.qry.name contains "example.com" dns.flags.response == 1 # hanya respons
HTTP/HTTPS
http.request.method == "GET" http.response.code >= 400 tls.handshake # paket handshake TLS
Lainnya
tcp.analysis.retransmission frame.len > 1500
<h3>Alur Kerja Dasar</h3>
<ol>
<li>Pilih antarmuka (Wi-Fi/Ethernet) → mulai <em>Capture</em>.</li>
<li>Reproduksi masalah (buka situs, jalankan ping/curl).</li>
<li>Gunakan <em>Display Filter</em> untuk fokus pada trafik relevan.</li>
<li>Ikuti aliran (Follow Stream) untuk melihat detail percakapan.</li>
<li>Simpan <em>pcap</em> untuk dokumentasi atau analisis lanjut.</li>
</ol>
<p class="text-muted"><small>Catatan privasi: tangkap paket hanya pada jaringan yang Anda miliki/diizinkan. Trafik bisa mengandung data sensitif.</small></p>
Latihan Praktik & Studi Kasus
- Diagnosa DNS lambat: tangkap paket, filter
dns, cek waktu respons, server yang dihubungi, dan cache. - Masalah HTTPS gagal: filter
tls.handshake, lihat SNI, versi TLS, dan sertifikat. - HTTP error: filter
http.response.code >= 400, korelasikan denganhttp.request.uri. - Ping tinggi: bandingkan
pingdantraceroute; cek lompatan (hop) yang melonjak latency.
Untuk berlatih, Anda dapat membuat lalu lintas sintetis (ping, curl, download file kecil) lalu menganalisisnya di Wireshark.
FAQ Singkat
Apakah HTTPS sepenuhnya tidak bisa dibaca di Wireshark?
Payload terenkripsi tidak bisa dibaca tanpa kunci, tetapi metadata (SNI, handshake, cipher suite) dan header TLS dapat dianalisis.
Kapan pakai TCP vs UDP?
Gunakan TCP untuk reliabilitas (web, file). Gunakan UDP saat latensi rendah lebih penting (DNS, streaming), reliabilitas ditangani di aplikasi.
Mengapa DNS kadang TCP?
Biasanya UDP. Berpindah ke TCP saat ukuran respons besar (mis. DNSSEC) atau untuk operasi khusus (zone transfer).
Penutup
Memahami lapisan jaringan, protokol inti (TCP/IP, DNS, HTTP/HTTPS), dan teknik analisis paket adalah langkah penting untuk mengelola, mengembangkan, dan mengamankan sistem modern. Dengan alat seperti Wireshark dan praktik terarah, Anda dapat mendiagnosis masalah jaringan secara sistematis dan meningkatkan keandalan layanan.