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.

Logo Wireshark
Wireshark: alat analisis paket jaringan sumber terbuka.

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) &amp; <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 &amp; 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

  1. Diagnosa DNS lambat: tangkap paket, filter dns, cek waktu respons, server yang dihubungi, dan cache.
  2. Masalah HTTPS gagal: filter tls.handshake, lihat SNI, versi TLS, dan sertifikat.
  3. HTTP error: filter http.response.code >= 400, korelasikan dengan http.request.uri.
  4. Ping tinggi: bandingkan ping dan traceroute; 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.