Tools & Teknik

Wireshark untuk Forensik Jaringan — Filter dan Analisis Lanjutan

Deep dive Wireshark untuk forensik: display filter advanced, analisis protokol HTTP/DNS/TLS, deteksi intrusi dari PCAP, follow stream, dan statistik. Panduan praktis untuk investigator jaringan.

Tampilan Wireshark dengan display filter advanced dan analisis packet detail multi-layer
Tampilan Wireshark dengan display filter advanced dan analisis packet detail multi-layer

Di artikel pengantar forensik jaringan, lo udah kenalan sama Wireshark — tools analisis traffic yang jadi standar industri. Sekarang kita naik level. Lo bakal belajar teknik advanced yang dipakai investigator jaringan profesional.

Kita akan gali lebih dalam: display filter kompleks, analisis protokol, deteksi anomali, statistik, dan tips praktis yang berasal dari pengalaman bertahun-tahun. Di akhir artikel ini, lo bakal bisa membuka PCAP dan langsung tau apa yang salah di jaringan.

Buka Wireshark. Load PCAP. Kita mulai.


Display Filter Advanced: Beyond the Basics

Display filter dasar (http, dns, ip.addr == x.x.x.x) udah lo kuasai. Sekarang kita masuk ke filter yang lebih powerful.

Logical Operators

# AND: kedua kondisi harus terpenuhi
http && ip.src == 192.168.1.100

# OR: salah satu terpenuhi
http || dns

# NOT: mengecualikan
!http && !dns

# Kombinasi dengan kurung
(http || dns) && ip.addr == 192.168.1.0/24

Filter Berdasarkan Field Spesifik

# HTTP request method
http.request.method == "POST"
http.request.method == "GET"

# HTTP response code
http.response.code == 200
http.response.code >= 400  # Semua error

# HTTP host
http.host contains "malware"
http.host matches "\\.xyz$"  # Regex — domain .xyz

# User-Agent
http.user_agent contains "sqlmap"  # SQL injection tool!
http.user_agent contains "nmap"    # Network scanner!

# DNS query name
dns.qry.name contains "facebook"
dns.qry.name matches "\\.tk$"     # Domain .tk sering dipakai malware

# TCP flags
tcp.flags.syn == 1 && tcp.flags.ack == 0  # SYN packet (port scanning?)
tcp.flags.reset == 1                       # RST packet

# TLS (HTTPS)
tls.handshake.type == 1           # Client Hello
tls.handshake.extensions_server_name  # SNI (domain yang dituju)

Filter Berdasarkan Waktu

# Frame dalam rentang waktu tertentu
frame.time >= "2026-01-01 09:00:00" && frame.time <= "2026-01-01 17:00:00"

# Frame dari waktu tertentu ke atas
frame.time_relative > 60  # 60 detik setelah capture dimulai

Filter Berdasarkan Panjang Paket

# Paket besar (mungkin data exfiltration)
frame.len > 1000
tcp.len > 1000

# Paket sangat kecil (mungkin scanning)
frame.len < 64

Analisis Protokol Spesifik

HTTP/HTTPS

HTTP adalah protokol paling umum — dan paling banyak disalahgunakan.

Cari file yang didownload:

# Di Wireshark: File → Export Objects → HTTP
# Atau dengan display filter:
http.response && http.content_type contains "application"

Cari kredensial plaintext:

http.request.method == "POST" && http.content_type contains "x-www-form-urlencoded"
# Follow HTTP Stream untuk lihat form data (mungkin include password!)

Cari beaconing (C2 communication):

  • Filter HTTP traffic ke satu IP/domain
  • Cek interval: kalau request terjadi setiap 30 detik atau 5 menit persis → kemungkinan beaconing.
  • Statistics → HTTP → Requests → lihat pattern.

DNS

DNS adalah protokol yang sering dipakai malware untuk C2 communication dan tunneling.

Deteksi DNS tunneling:

dns.qry.name matches "^[a-z0-9]{30,}\\."  # Domain sangat panjang (mungkin encoded data)

Deteksi DGA (Domain Generation Algorithm):

# Statistik DNS query — cek jumlah query ke domain unik
# Banyak query ke domain yang nggak resolve = possible DGA
Statistics → DNS → lihat query yang gagal

Deteksi DNS exfiltration:

dns.qry.name matches "^[a-zA-Z0-9+/=]{20,}\\.attacker\\.com"
# Base64 data di subdomain = data exfiltration via DNS

TLS/SSL

Meskipun enkripsi, TLS masih ngasih banyak metadata berguna:

# Lihat domain yang diakses via HTTPS (SNI field)
tls.handshake.extensions_server_name

# Cek TLS version (version lama = insecure)
tls.handshake.version == 0x0303  # TLS 1.2
tls.handshake.version == 0x0301  # TLS 1.0 (should not be used!)

# Cek cipher suite lemah
tls.handshake.ciphersuite

SMB (Server Message Block)

SMB sering dipakai untuk lateral movement:

smb && ip.dst == [target_server]

Cari:

  • Banyak SMB connection attempt dari satu host = possible lateral movement.
  • Akses ke ADMIN$, IPC$, C$ = suspicious.

Deteksi Serangan dari PCAP

Port Scanning

Pattern: banyak SYN packet dari satu IP ke banyak port.

Filter:

tcp.flags.syn == 1 && tcp.flags.ack == 0

Di Statistics → Conversations → lihat IP dengan banyak koneksi singkat.

Brute Force

Pattern: banyak connection attempt ke port yang sama.

Filter:

tcp.dstport == 22 || tcp.dstport == 3389 || tcp.dstport == 21

Data Exfiltration

Pattern: upload volume besar ke IP eksternal.

Filter:

(ip.dst == [external_ip]) && (frame.len > 1000)

Di Statistics → Endpoints → lihat IP dengan traffic outgoing paling besar.

ARP Poisoning

Pattern: banyak ARP reply yang mengklaim IP gateway.

Filter:

arp.opcode == 2  # ARP reply

Cek MAC address yang mengklaim IP gateway. Kalau ada dua MAC berbeda → ARP spoofing.


Fitur Statistik untuk Analisis Cepat

Sebelum analisis detail, lo bisa dapet gambaran besar dari statistik:

Statistics → Protocol Hierarchy

Menunjukkan distribusi protokol. Lo bisa langsung liat:

  • Dominasi protokol yang nggak wajar (kenapa 80% traffic adalah SMB?)
  • Protokol yang seharusnya nggak ada (Telnet di jaringan modern?)

Statistics → Conversations

Menampilkan "percakapan" antar host: siapa ngomong ke siapa, berapa lama, berapa banyak data.

Sortir berdasarkan Bytes. Host dengan bytes terbanyak bisa jadi:

  • File server (normal)
  • Data exfiltration (mencurigakan kalau tujuannya IP eksternal)

Statistics → Endpoints

Daftar semua IP/MAC yang muncul di capture:

  • IP dengan traffic paling banyak
  • IP dari subnet asing
  • MAC vendor (bisa deteksi device mencurigakan)

Statistics → IO Graph

Grafik traffic over time. Bisa deteksi:

  • Spike mendadak = possible DDoS atau bulk data transfer
  • Traffic periodik = possible beaconing
  • Traffic di luar jam kerja = suspicious

Follow Stream: Membaca Isi Komunikasi

Follow Stream adalah fitur paling berguna untuk membaca isi percakapan:

  • Klik kanan paket → Follow → TCP Stream
  • Atau Follow → HTTP Stream (kalau HTTP)
  • Atau Follow → UDP Stream (kalau UDP)

Yang Bisa Lo Temukan di Stream:

  1. Request dan response lengkap — URL, headers, body.
  2. Kredensial plaintext — username, password, token di HTTP POST.
  3. File yang ditransfer — konten file yang dikirim/diterima.
  4. Command yang dieksekusi — untuk protokol seperti FTP atau Telnet.
  5. Chat messages — untuk protokol yang tidak dienkripsi (IRC, legacy chat).

Tips Follow Stream:

  • Kalau output-nya kacau, coba ubah encoding (ASCII → UTF-8 → HEX).
  • Save stream sebagai file untuk analisis lebih lanjut.
  • Gunakan "Find" (Ctrl+F) di dalam stream untuk cari keyword spesifik.

Export Objects: Mengeluarkan File dari PCAP

Wireshark bisa otomatis mengekstrak file yang dikirim lewat berbagai protokol:

  • File → Export Objects → HTTP — semua file yang dikirim via HTTP.
  • File → Export Objects → SMB — semua via SMB.
  • File → Export Objects → FTP — semua via FTP.
  • File → Export Objects → IMF (email) — semua email attachment.

Dari sini lo bisa:

  • Ekstrak malware yang di-download.
  • Ekstrak file yang di-exfiltrate.
  • Ekstrak gambar atau dokumen yang dikirim.

Peringatan: File yang diekstrak mungkin malware! Buka di sandbox yang aman, bukan di host lo.


Command-Line: tcpdump dan tshark

Untuk capture di server tanpa GUI, lo bisa pakai tools CLI:

tcpdump (capture)

# Capture HTTP only
sudo tcpdump -i eth0 -w http_traffic.pcap 'port 80'

# Capture specific host
sudo tcpdump -i eth0 -w host_traffic.pcap 'host 192.168.1.100'

# Capture with rotation (max 100MB per file, 5 files)
sudo tcpdump -i eth0 -w capture.pcap -C 100 -W 5

tshark (analysis CLI)

# Baca PCAP dan filter
tshark -r capture.pcap -Y 'http.request'

# Export specific field
tshark -r capture.pcap -Y 'dns' -T fields -e dns.qry.name

# Statistik protocol
tshark -r capture.pcap -q -z io,phs

Latihan: Analisis PCAP

Coba latihan ini dengan Wireshark:

  1. Download PCAP sample dari Malware-Traffic-Analysis.net (banyak skenario latihan).
  2. Buka di Wireshark.
  3. Gunakan Protocol Hierarchy — protokol apa yang dominan?
  4. Gunakan Conversations — IP mana yang paling banyak traffic?
  5. Cari HTTP POST request — ada yang mencurigakan?
  6. Cari DNS query — ada domain dengan pattern aneh?
  7. Export Objects HTTP — ada file mencurigakan?
  8. Bikin kesimpulan: apa yang terjadi di PCAP ini? Ada malware? Ada data exfiltration?

Kalau lo bisa menyelesaikan latihan ini untuk 5 PCAP berbeda... selamat, lo udah jadi network forensics analyst.


Penutup

Wireshark adalah tools yang terlihat simpel di permukaan, tapi sangat dalam begitu lo eksplorasi. Display filter, statistik, follow stream, export objects — semua fitur ini bikin Wireshark jadi pisau Swiss Army investigator jaringan.

Skill network forensics ini akan melengkapi kemampuan lo di disk forensics (Autopsy) dan memory forensics (Volatility). Tiga tools ini — Autopsy, Volatility, Wireshark — adalah trinitas suci investigator digital.

Kalau lo udah menguasai ketiganya... lo bukan lagi pemula. Lo adalah investigator digital yang siap menangani kasus nyata.

Di artikel berikutnya, kita bakal pindah ke topik regulasi — mulai dari UU ITE untuk investigator digital. Stay tuned!

Punya pertanyaan tentang Wireshark atau forensik jaringan? Kontak gue. Semua artikel tools di Tools & Teknik.

Happy packet hunting!

Studi Kasus: Analisis Traffic Data Exfiltration

Ini skenario beneran yang sering terjadi:

Kasus: Server database perusahaan tiba-tiba mengirim traffic dalam jumlah besar ke IP di luar negeri pada jam 2 pagi. Tim SOC memberikan file PCAP 15 menit untuk dianalisis.

Step 1: Protocol Hierarchy

Statistics → Protocol Hierarchy
-> 85% TCP, 10% TLS, 5% DNS
-> Yang mencolok: ada HTTP (seharusnya semua traffic ke database internal pakai protokol database, bukan HTTP)

Step 2: Conversations — cari top talker

Statistics → Conversations → IPv4
-> Sort by Bytes
-> Top: 192.168.1.50 (server DB) → 198.51.100.88 (IP asing): 1.2 GB dalam 15 menit!
-> Ini jelas data exfiltration.

Step 3: Filter specific conversation

ip.src == 192.168.1.50 && ip.dst == 198.51.100.88

Step 4: Follow HTTP Stream

Klik kanan salah satu paket HTTP → Follow → HTTP Stream
-> POST /upload.php HTTP/1.1
-> Content-Type: application/octet-stream
-> Payload: data terenkripsi (tidak bisa dibaca langsung)

Step 5: Export Objects

File → Export Objects → HTTP
-> file=upload.php?file=data_20260201_0215.enc (ukuran 250MB)
-> Beberapa file serupa ditemukan

Step 6: DNS Analysis

dns.qry.name contains "c2"
-> query: c2-server-02.malicious.xyz → resolved ke 198.51.100.88

Step 7: IOC Extraction

  • IP attacker: 198.51.100.88
  • Domain C2: c2-server-02.malicious.xyz
  • URL exfil: http://198.51.100.88/upload.php
  • Protocol: HTTP POST dengan multipart/form-data
  • Durasi: 15 menit
  • Volume: ~1.2 GB

Kesimpulan: Data exfiltration via HTTP POST ke server C2 attacker. Data dikirim dalam bentuk file terenkripsi. Domain C2 menggunakan teknik DGA-like naming.

Tindakan: Blokir IP dan domain di firewall. Investigasi server database untuk mencari malware yang melakukan exfiltration. Laporkan ke manajemen sebagai insiden CRITICAL — data pelanggan mungkin sudah bocor.

Ini contoh nyata bagaimana Wireshark bisa mengungkap data exfiltration. Dengan skill yang tepat, lo bisa menemukan insiden sebelum terlambat.

Advanced: Deteksi Beaconing dan C2 Communication

Salah satu tantangan terbesar dalam network forensics adalah mendeteksi beaconing — komunikasi periodik malware ke C2 server.

Apa itu beaconing? Malware yang sudah menginfeksi sistem akan secara periodik "menelepon ke rumah" (phone home) ke server C2 untuk: check-in, menerima perintah baru, atau mengirim data curian. Beaconing biasanya terjadi dalam interval tetap: setiap 30 detik, setiap 5 menit, setiap 1 jam.

Cara mendeteksi beaconing di Wireshark:

  1. Statistics → IO Graph — bikin grafik traffic untuk IP mencurigakan. Kalau muncul spike periodik yang teratur, itu kemungkinan beaconing.

  2. Filter TCP keep-alive atau HTTP periodic requests — cari pola di mana client mengirim request kecil ke server yang sama dengan interval konsisten.

  3. Analisis timing — export timestamps dari komunikasi client-server, hitung delta time antar request. Kalau delta time-nya konsisten (misal selalu 59-61 detik), itu beaconing.

Contoh filter untuk deteksi:

# Cari HTTP GET ke path yang sama berulang-ulang
http.request.uri == "/status" && ip.dst == 203.0.113.50

# Cari DNS query ke domain yang sama dengan interval pendek
dns.qry.name == "evil-c2.xyz" && dns.qry.name

Checklist Akhir Analisis PCAP

Sebelum lo tutup Wireshark, pastikan lo sudah:

  • Cek Protocol Hierarchy — ada protokol yang tidak seharusnya ada?
  • Cek Conversations — ada host yang berkomunikasi mencurigakan?
  • Cek Endpoints — ada IP asing yang tidak dikenal?
  • Export Objects HTTP — ada file mencurigakan?
  • Follow Stream untuk koneksi mencurigakan
  • Catat semua IOCs: IP, domain, URL, hash file
  • Simpan file PCAP asli (jangan diedit — untuk keperluan hukum)
  • Dokumentasikan semua filter dan langkah analisis yang dilakukan

Enjoyed this article?

Share it with your network

Copied!
Luthfi Ahmad Paradiansyah

Written by

Luthfi Ahmad Paradiansyah

Saya adalah CEO Forendigi, perusahaan digital yang berfokus pada solusi forensik digital modern. Berbekal pengalaman mendalam di bidang keamanan siber, analisis data, dan investigasi teknologi, ia berhasil membawa Forendigi menjadi mitra terpercaya bagi institusi, korporasi, serta aparat penegak hukum. Di bawah kepemimpinannya, perusahaan mengembangkan inovasi untuk mengungkap bukti digital dengan akurasi tinggi, menjaga integritas data, serta meningkatkan keamanan informasi. Visi strategis dan kepemimpinan Saya menempatkan Forendigi sebagai pelopor layanan forensik digital yang profesional, adaptif, dan berstandar internasional.