1 poin oleh GN⁺ 2023-07-16 | 1 komentar | Bagikan ke WhatsApp
  • Email pengumuman Ethereal 0.2.0 yang dikirim Gerald Combs pada 14 Juli 1998, 25 tahun kemudian berlanjut menjadi Wireshark, dan alat pribadi itu tumbuh menjadi proyek open source berumur panjang
  • Saat itu, penganalisis protokol berbasis GUI identik dengan produk komersial mahal, sementara pilihan gratis adalah alat baris perintah seperti tcpdump atau snoop, sehingga ia merilis penganalisis yang dibuatnya sendiri sebagai open source
  • Beberapa hari setelah dirilis, patch mulai berdatangan dan komunitas pengembang pun terbentuk; Wireshark kemudian digunakan untuk meningkatkan kinerja, keandalan, dan keamanan jaringan serta untuk pendidikan
  • Pengelolaan jangka panjang membutuhkan bukan hanya pengguna, pendidik, dan pengembang, tetapi juga dukungan hukum, akuntansi, dan infrastruktur; cakupan dukungan yang diperlukan berbeda sesuai skala proyek
  • Dengan dukungan dari CACE Technology, Riverbed, dan Sysdig, Wireshark baru-baru ini dipindahkan ke Wireshark Foundation untuk menyiapkan landasan agar dapat tumbuh secara mandiri

Dari pengumuman Ethereal hingga 25 tahun Wireshark

  • 25 tahun lalu, Gerald Combs mengirim email berjudul ANNOUNCE: Ethereal 0.2.0
    • Ethereal adalah penganalisis jaringan yang dapat menangkap isi frame Ethernet dan menelusurinya secara interaktif
    • Data paket dapat dibaca dari file atau dibaca secara real-time dari antarmuka jaringan lokal
    • Ia menyediakan distribusi source code dan informasi tambahan, serta menyampaikan bahwa masukan dan patch sangat disambut
  • Nama proyek itu sejak awal bukan Wireshark, dan pada 2006 namanya diubah menjadi Wireshark
  • Pada saat diumumkan, penganalisis protokol masih jarang, dan penganalisis GUI sering kali berupa produk mahal
    • Untuk memeriksa kondisi jaringan, orang dapat memakai alat baris perintah gratis seperti tcpdump atau snoop
    • Jika membutuhkan penganalisis GUI, harus membeli produk komersial yang mahal
  • Karena tidak ada penganalisis yang dibutuhkan untuk pekerjaannya, Gerald Combs membuat sendiri alat sederhana, lalu merilisnya sebagai open source

Pertumbuhan yang dibangun komunitas

  • Beberapa hari setelah Ethereal diumumkan, patch pertama tiba, dan sejak itu kontribusi terus berlanjut
  • Proyek yang dimulai sebagai alat kecil tumbuh jauh lebih besar dari perkiraan setelah bertemu komunitas pengembang yang aktif
  • Saat ini Wireshark digunakan oleh pengguna di seluruh dunia untuk membuat jaringan lebih cepat, lebih andal, dan lebih aman
  • Para pendidik menggunakan Wireshark untuk mengajarkan cara kerja jaringan tingkat rendah kepada generasi berikutnya dari insinyur keamanan dan jaringan

Hal-hal yang dibutuhkan proyek open source berumur panjang

  • Agar proyek open source dapat tumbuh dan bertahan, berbagai kategori kebutuhan harus dipenuhi secara bersamaan
  • Dukungan untuk pengguna

    • Pengguna nyata sangat beragam, dari pengguna harian yang mahir hingga pemula
    • Pengguna kadang membutuhkan bantuan, dan bentuk dukungan yang diperlukan pun berbeda-beda
  • Dukungan untuk pendidik

    • Pakar dan pengguna berpengalaman dapat mengajari orang lain agar memanfaatkan proyek dengan lebih baik
    • Para pendidik juga membutuhkan dukungan yang berkelanjutan
  • Dukungan untuk pengembang

    • Semakin mudah berkontribusi kode atau memperbaiki proyek, semakin sehat proyek dan komunitasnya
  • Dukungan hukum dan akuntansi

    • Area regulasi, hukum, dan keuangan seperti hukum kekayaan intelektual atau penggantian biaya perjalanan memerlukan bantuan eksternal
    • GitHub atau GitLab saja tidak dapat menyelesaikan area-area ini
  • Infrastruktur

    • Dibutuhkan server, container, dan layanan yang memungkinkan keberadaan online serta kolaborasi
    • Apakah GitHub atau GitLab sudah cukup bergantung pada kebutuhan spesifik proyek

Struktur dukungan yang berubah sesuai skala proyek

  • Lima kategori ini tidak persis sama dengan hierarki kebutuhan ala Maslow untuk open source, tetapi memiliki struktur yang mirip
  • Batas antara pengguna, pendidik, dan pengembang bisa saja kabur
    • Secara umum, pengguna dan pendidik bergantung pada hasil yang dibuat pengembang
    • Secara keseluruhan, proyek membutuhkan infrastruktur yang kokoh agar semua pihak dapat berkolaborasi
  • Tidak semua proyek memerlukan model dukungan yang sama
    • Pustaka pemrosesan gambar kecil dengan tujuan tunggal mungkin hanya membutuhkan infrastruktur dan pengembang
    • Dalam kasus ini, komunitas pengguna juga kemungkinan adalah pengembang lain, dan GitHub atau GitLab bisa jadi sudah cukup
    • Aplikasi penyunting gambar besar dengan banyak fitur mungkin membutuhkan kebutuhan di kelima kategori beserta model bisnis yang menopangnya

Model operasional Wireshark dan perpindahan ke Foundation

  • Wireshark adalah proyek yang lebih mendekati aplikasi besar, sehingga membutuhkan banyak pengelolaan dan dukungan
  • Hingga baru-baru ini, sumber daya yang dibutuhkan diperoleh dengan meminta pemberi kerja Gerald Combs untuk menjadi host proyek
  • CACE Technology, Riverbed, dan Sysdig memberi Wireshark sumber daya yang melampaui GitHub atau GitLab
    • Salah satu contohnya adalah konferensi khusus analisis protokol SharkFest
  • Dalam beberapa tahun terakhir, kebutuhan agar proyek dapat berdiri sendiri makin besar, dan dengan bantuan Sysdig, pada awal tahun ini proyek dipindahkan ke Wireshark Foundation
  • Perpindahan ke Foundation menjadi landasan bagi Wireshark untuk terus tumbuh dan mendukung komunitasnya

Nasihat yang tersisa setelah 25 tahun

  • Saat mengirim email itu 25 tahun lalu, Gerald Combs tidak pernah membayangkan bahwa hari ini ia akan menulis blog tentang proyek ini
  • Pengalaman mendukung dan mengelola Wireshark memberinya karier yang luar biasa serta kesempatan bertemu dan bekerja bersama orang-orang hebat
  • Ia meninggalkan pesan agar jangan ragu jika ingin memulai proyek open source
  • Yang penting adalah memungkinkan wawasan berharga yang dimiliki komunitas untuk dibagikan
  • Jika tidak takut memulai sesuatu yang baru, kita tidak pernah tahu akan sampai di mana 25 tahun kemudian

1 komentar

 
GN⁺ 2023-07-16
Komentar Hacker News
  • Wireshark adalah alat seperti palu dalam pepatah yang membuat semua masalah jaringan terlihat seperti paku
    Bahkan kalau ada alat yang lebih terspesialisasi, kalau dibongkar dengan Wireshark biasanya penyebabnya tetap bisa ditemukan
    Masih mengejutkan betapa banyak orang yang mengaku ahli jaringan tapi belum pernah memakai atau tidak memahami Wireshark, padahal ini mungkin alat terpenting untuk memahami apa yang benar-benar terjadi di jaringan
    Baru kemarin saya melacak perilaku aneh pada sistem Asterisk/FreePBX yang sudah di-upgrade lewat packet capture; tanpa itu mungkin saya akan menebak-nebak selama berhari-hari, tapi dengan melihat apa yang terjadi di jaringan saya bisa langsung mempersempit masalahnya

    • Ini seperti debugger untuk jaringan, dan ternyata cukup banyak programmer juga yang tidak bisa memakai debugger
    • Saya penasaran apakah ada materi yang bagus untuk benar-benar memahami Wireshark
      Saya bukan spesialis jaringan, tapi pernah memakainya sesekali saat mengerjakan hal terkait, dan saya bisa merasakan kekuatannya, hanya saja alat ini terasa sangat mengintimidasi saat pertama dipakai kecuali untuk masalah yang sangat kecil dan spesifik
      Saya juga penasaran apakah ini tipe alat yang dipelajari seperlunya saat dibutuhkan
    • Kalau sempat, akan menarik kalau Anda membagikan apa masalah Asterisk/FreePBX itu dan bagaimana packet capture membantu menyelesaikannya
      Sepertinya akan sangat menarik juga kalau ditulis sebagai posting blog
    • Bahkan di luar ranah yang konkret dan hardcore seperti networking, Wireshark sangat membantu
      Sekitar tahun 2013 di Amazon, saya harus membuat proof of concept aplikasi/layanan legacy Spring/Java menjadi Node.js dalam waktu seminggu, dan ada autentikasi antar-layanan serta messaging Tibco yang saling terkait
      Saya tidak bisa menemukan implementasi klien Tibco yang terbuka, dan karena prinsip kepemimpinan yang sangat menekankan penghematan, hampir mustahil mendapatkan spesifikasi resminya, padahal saya cuma butuh beberapa detail struktur paket dari sejumlah request
      Bisa ditebak alat apa yang akhirnya menyelamatkan saya, dan bahkan Principal Engineer saat itu terkejut bahwa alat seperti ini ada
  • Pada tahun 1983, saat Ethernet masih memakai kabel koaksial tebal dan vampire tap, saya bekerja di kontraktor pertahanan di Silicon Valley
    Kami membuat produk Ethernet bridge yang menghubungkan LAN DECnet di stasiun bumi DSCS (Defense Satellite Communications System) di seluruh dunia melalui jalur terenkripsi 9600bps, dan sebagai bagian dari kodenya saya menulis packet dumper yang menaruh kartu Ethernet dalam promiscuous mode
    Memang belum ada analyzer seperti Wireshark, tetapi hanya dengan bisa membuang paket mentah dalam heksadesimal ke terminal saja sudah memberi keuntungan besar untuk debugging jaringan
    Saat memasang sistem baru, Wireshark adalah salah satu alat pertama yang saya instal

    • Saya penasaran bagaimana Ethernet berpindah dari kabel tebal dan vampire tap ke RJ45
      Saya tidak tahu apakah protokolnya dulu dan sekarang persis sama, atau bahkan apakah istilah protokol memang tepat dipakai di sini
      Rasanya saya perlu menggali networking lebih dalam
  • Saya orang yang membuat Wireshark
    Melihat semua kata-kata hangat dan kenangan dari semua orang membuat pagi saya jadi menyenangkan

    • Selama bertahun-tahun saya menyelesaikan banyak masalah dengan Wireshark, tetapi belakangan saya hampir tidak memakainya lagi karena rasanya ia tidak sanggup mengikuti laju transfer data yang kini umum di server
      Analisisnya tampak single-threaded dan sepertinya tidak punya cache; pada link 10Gbps, capture “cuma” beberapa GB yang hanya berisi beberapa detik trafik saja sudah terasa berat
  • Sejak awal ini adalah alat yang tidak tergantikan dalam pekerjaan saya
    tcpdump juga bagus, tetapi kemampuan untuk klik kanan paket lalu menekan follow TCP stream dan melihat seluruh percakapan dalam 1 detik benar-benar mengubah keadaan
    “right click->filter out this stream” juga sama hebatnya, dan karena Ethereal/Wireshark bisa membaca file hasil simpanan tcpdump, saya bisa ssh ke server jarak jauh, menjalankan tcpdump, lalu memeriksa stream jaringan dari kedua sisi dengan Wireshark di klien
    NAT ISP yang mencurigakan langsung terlihat jelas, dan jaringan MPLS yang salah konfigurasi pun bisa ditunjukkan buktinya sehingga tim routing tidak bisa cuma bilang, “di sisi kami kelihatannya baik-baik saja”
    Namun ada satu hal dalam tulisan itu yang ingin saya luruskan. Ethereal bukan analyzer paket jaringan GUI gratis pertama; bahkan pada era Windows NT sudah ada alat seperti netmon milik Microsoft

    • Alat itu adalah Network Monitor, alias netmon, dan secara internal juga disebut Bloodhound
      Ada API yang terdokumentasi, dan meskipun status dukungannya agak abu-abu, alat ini mudah dipasang sehingga sebelum Ethereal saya pernah membuat wrapper tcpdump di atasnya
      Saat stack TCP “generasi berikutnya” di Longhorn/Vista muncul, API itu dan netmon menjadi tidak berlaku lagi
      Setelah itu muncul Microsoft Message Analyzer, berbasis ETW, yang bisa menganalisis jaringan dan trace ETW lainnya, serta memungkinkan penulisan handler protokol apa pun dengan DSL yang didukung
      Anda juga bisa membuatnya mem-parsing file log dan memfilter/menganalisis data, tetapi mungkin karena terlalu kuat dan terlalu berguna bagi developer Windows, pada akhirnya Microsoft mematikannya
    • Kalau hanya berjalan di Windows, agak meragukan apakah itu benar-benar gratis
      Pada akhirnya itu alat yang dibundel dalam sistem operasi yang Anda beli
  • Wireshark itu seperti multimeter dalam elektronika
    Dunia tetap berjalan tanpanya, tapi kalau ada yang rusak dan Anda tidak punya alat itu, habislah sudah

    • Berkat Wireshark dan tcpdump saya menemukan sangat banyak masalah aneh di jaringan kampus
  • Saat masih bernama Ethereal, alat ini benar-benar sangat berharga dalam pekerjaan saya sebagai Senior Tech Support untuk lini produk WebLogic
    Kami bisa menyuruh pelanggan menjalankannya langsung dan memberi jawaban seperti, “semua koneksi dalam pool koneksi JDBC besar diam-diam diputus oleh firewall jaringan yang bahkan tidak diketahui pelanggan, sehingga transaksi pertama di pagi hari tertunda 1 jam. Semua koneksi dalam pool harus timeout lalu di-reset”
    Kami juga berhasil menangkap masalah seperti, “Internet Explorer memutus koneksi TCP untuk resource yang sudah di-cache, sehingga terjadi error tingkat jaringan non-standar pada instalasi WebLogic di server IBM”
    Pekerjaan itu membuat saya kehilangan separuh rambut saya, dan tanpa Ethereal saya pasti akan kehilangan semuanya, plus kewarasan saya, dalam jumlah yang jauh lebih besar

  • Saya memakai Wireshark setiap hari selama lebih dari 10 tahun saat mendukung load balancer di jaringan pelanggan
    pcap dan core dump adalah data yang paling menarik untuk ditangani, dan setelah mempelajari libpcap lalu akhirnya membuat versi saya sendiri, saya bisa berpindah dari dukungan produk ke pengembangan
    Saya masuk sebagai support engineer dan keluar sebagai Principal Software Engineer yang menulis sendiri kode yang dulu saya dukung, dan berkat Wireshark serta gdb saya bisa belajar sendiri sangat banyak hal tanpa kuliah

    • Saya suka menyebutnya masalah “saya tidak tahu apa yang salah, jadi pasti ini masalah jaringan”
  • Alat yang benar-benar hebat dan sepenuhnya gratis
    Saya sering memakainya untuk debugging masalah jaringan dan melihat perangkat terhubung ke mana, dan seperti kata seseorang, ini seperti multimeter untuk jaringan
    Saya juga memakainya untuk mempelajari cara koneksi ke access point WiFi dibangun, dan Anda bisa melihat paket beacon maupun paket WiFi

    • Saya termasuk pengguna Ethereal sejak sangat awal
      Tim kami punya Sniffer PC, tetapi sering kali sedang dipakai orang lain atau penafsiran protokolnya tidak memadai
  • Perangkat lunak yang benar-benar luar biasa
    Dua puluh tahun lalu saya pernah buntu di lokasi pelanggan saat mencari masalah interoperabilitas pada peralatan jaringan kami, lalu saya menghabiskan 2 minggu menulis plugin analyzer protokol, dan ternyata cukup mudah serta sangat membantu
    Pada akhirnya itu bug kami sendiri, akibat implementasi yang diubah dari select() ke epoll() tetapi penerapan bitmask untuk select() tidak ikut dihapus
    Intinya itu adalah bug korupsi memori 1 bit, dan dampaknya bisa muncul sangat terlambat
    Entah kenapa kenangan seperti ini bertahan lama

    • Saya iri pada kemampuan orang menemukan kesenangan dalam hal seperti ini
      Di awal karier saya pernah menggali bug jaringan yang menjengkelkan selama seminggu hanya dengan tcpdump di fasilitas aman yang tidak mengizinkan pemasangan wireshark
      Ternyata masalahnya adalah kombinasi bug terburuk dalam pustaka standar GNAT berusia 10 tahun (pustaka Ada) dan kesalahan konfigurasi ARP, dan bug pustaka itu sebenarnya sudah diperbaiki 7 tahun sebelumnya
      Minggu itu begitu mengerikan sampai sangat memengaruhi keputusan saya untuk pindah ke tempat yang lebih baik, dan untuk menikmati hal seperti ini memang perlu kepribadian khusus
  • Orang sering membayangkan mengubah dunia, tetapi benar-benar ada orang-orang yang mengubah dunia