"Selamat Idul Fitri 1 Syawal 1438 H, Mohon Maaf Lahir dan Bathin"

Monitoring Kondisi Jaringan dengan Linux


monitoring jaringan dengan linuxMemantau / Monitoring Kondisi Jaringan dengan Linux, Kondisi jaringan ibarat lalu lintas di jalan raya. Kadang lengang, tetapi kadang pula ramai, atau macet. Anda tidak selalu dapat mencegahnya. Namun, dengan memonitornya secara teratur, masalah tersebut dapat diminimasir.
Jaringan komputer memba­wa ba­nyak hal positif bagi pengguna PC. Di an­ta­ra­nya adalah kemudahan menukar file, mengirim e-mail, membuka halaman web yang berisi informasi dan berita, chatting, dan masih banyak lagi. Dengan semakin pesatnya perkembangan Internet, maka semakin beragam pula ragam layanan yang tersedia. Mulai dari layanan yang dikelola oleh perseorangan, tim kecil nirlaba hingga yang ditangani oleh perusahaan raksasa multinasional. Sebagai end user, Anda semakin dimanjakan dan tanpa sadar, kadang menghabiskan banyak waktu menjelajahi dunia maya tersebut. Dalam artikel ini, digunakan kata “Internet” untuk mewakili beragam jenis jaringan.

Di sela-sela aktivitas mengarungi Internet, ada satu hal yang kadang terlupakan, yaitu mengawasi traffic (lalu lin­tas) data di jaringan (Internet). Walaupun ke­dengarannya sepele bagi pengguna PC, pengawasan jari­ngan perlu dilakukan. Beberapa keuntungannya adalah:

1. Mengetahui kondisi kecepatan koneksi 2. Melihat sesi koneksi aktif dan idle di PC 3. Mengantisipasi adanya koneksi 'asing' yang bisa berindikasi penyusupan
Sebelum melangkah lebih jauh, pada artikel ini CHIP menggunakan bebe­ra­pa asumsi. Anda dianggap telah mengerti dasar-da­sar jaringan, terutama konsep TCP/IP (Transmission Control Protocol/Internet Protocol). Selain itu, konfigurasi jaring­an dianggap telah berjalan dengan baik. Anda bisa menggunakan sembarang distribusi (distro) Linux sebagai sistem percobaan karena tidak ada spesifikasi tool tertentu yang dipakai dalam artikel ini. Dalam artikel ini, digunakan distro Fedora Core 2 sebagai basis percobaan. Seperti biasa, prompt # berarti perintah dilakukan sebagai root, sedangkan prompt $ berarti perintah dilakukan sebagai user non root. Sebagai catatan, sebagian angka IP address disamarkan de­ngan pertimbangan keamanan. Semua teknik yang di­jelaskan adalah semata-mata untuk tujuan pengujian jaringan dalam sistem Linux semata. CHIP tidak bertanggung jawab atas penyalah­gunaan teknik yang dijelaskan kali ini untuk hal-hal negatif atau maksud buruk.

Sebagian pengujian adalah hasil si­mu­lasi dalam sistem virtual (virtual ma­chine), sehingga angka-angka yang di­sajikan pun mung­kin tidak terlalu realistis. Namun, Anda diharapkan tetap dapat menjadikannya sebagai contoh praktek dan menerapkannya dalam kondisi sebenarnya dengan adaptasi sesuai kondisi yang dihadapi.

Misalnya, lakukan lagi pemeriksaan web CHIP (www.chip.co.id):

$ strace -tt -o time-test.txt lynx -source
www.chip.co.id

Opsi '-source' bertujuan agar lynx dapat langsung menampilkan output HTML ke console kemudian berhenti. Output ini dalam format HTML “mentah” alias belum diproses menjadi output yang sebenarnya. Mode ini meng­untungkan karena Anda tidak perlu masuk ke dalam menu browsing interaktif dari lynx yang hanya akan memperlambat pengujian Anda. Selain itu, dengan memeriksa HTML source, Anda dapat menghemat waktu karena proses rendering HTML telah diabaikan.

Output dari strace tersimpan pada file time-test.txt (atau nama file lain sesuai pilihan Anda pada opsi -o). Gunakan program seperti less untuk melihat isi file tersebut. Yang perlu Anda cari adalah baris-baris yang memiliki kata-kata “write(...)” seperti berikut:

17:07:28.473770 write(3, “GET / HTTP/1.0\
r\nHost: www.google”..., 1262) = 1262
17:07:28.473882 gettimeof
day({1159178848, 473900}, NULL) = 0
(dipotong)
17:07:29.221207 read(3, “HTTP/1.0 200
OK\r\nCache-Control: “..., 1535) = 1260

Jadi patokannya adalah jeda antara write(...) yang mengirim string “GET” de­ngan perintah read(...) yang menerima balasan HTTP header. GET adalah perintah dalam protokol HTTP untuk meminta pengiriman suatu file. Perhatikan bahwa strace menuliskan waktu dalam format jam:menit:detik.mikrodetik. Dengan begitu, selisih waktunya adalah 29.221207-28.473770 = .747437 detik atau 747 milidetik. Metode perhitungan ini secara umum menghasilkan angka koneksi yang lebih besar daripada ping biasa. Hal ini karena yang dihitung adalah waktu koneksi TCP yang membutuhkan waktu setup lebih lama dibandingkan dengan ICMP.

Di Blokir Firewall : Traceroute kesulitan menelusuri suatu jaringan yang diblokir firewall. Tandanya adalah munculnya tanda asterisk sampai hop terakhir (ke-30).


Dalam beberapa kasus, Anda mungkin ingin mengetahui perjalanan data mulai dari PC lokal sampai ke PC (host) tujuan. Hal ini berguna jika Anda ingin menge­tahui lebih detail, di titik mana koneksi jaringan mengalami kelambatan. Sebagai pengingat, data di Internet melewati satu atau lebih node perantara sebelum sampai ke target. Istilah untuk “loncatan” data antarnode ini disebut hop. Untuk keperluan pelacakan seperti ini, Anda dapat menggunakan program traceroute.

Traceroute mutlak memerlukan satu pa­rameter, yaitu nama host tujuan. Anda dapat juga mengganti nama host tujuan dengan alamat IP-nya jika Anda sudah mengetahuinya.

$ traceroute -n www.chip.co.id
traceroute to www.chip.co.id (203.xxx.xxx.
xxx), 30 hops max, 38 byte packets
1 * * *
2 10.xxx.xxx.xxx 93.964 ms 92.356 ms
91.813 ms
3 2xx.1xx.xxx.xxx 105.537 ms * *
4 * * *
(dan seterusnya)
30 * * *

Di sini langsung ditunjukkan contoh suatu sesi traceroute yang terblokir oleh proteksi firewall. Ciri-ciri utamanya adalah sampai dengan hop ke-30, hanya tercetak tanda “*” (asterisk). Indikasi ini memang mirip dengan output saat server tujuan tidak aktif. Namun, jika Anda yakin server tujuan aktif, kemungkinannya tinggal satu, yaitu ada packet filtering. Biasanya, jika suatu host tujuan menolak untuk menerima perintah ping (seperti contoh sebelumnya), maka host tersebut juga akan menolak data kiriman traceroute.

Sebagai solusinya, Anda dapat menggunakan sebuah program alternatif bernama tcptraceroute. Program ini dapat di-download pada alamat http://michael.toren.net/code/tcptraceroute. Versi yang digunakan di sini adalah 1.5beta7. Program ini membutuhkan dua library tambahan, yaitu libpcap dan libnet. Libpcap biasanya sudah disertakan oleh sebagian besar distribusi Linux sehingga Anda ting­gal men-download library libnet (http://www.packetfactory.net/libnet/). Di sini digunakan versi 1.1.2.1 yang merupakan versi stabil terbaru saat artikel ini dibuat.

Cara kompilasi selengkapnya bisa Anda baca di manual masing-masing program, namun secara garis besarnya adalah sebagai berikut.

$ tar xzvf libnet.tar.gz
$ tar xzvf tcptraceroute-1.5beta7.tar.gz
$ cd libnet
$ ./configure --prefix=/usr/local/libnet
$ make
# make install
$ cd ..
$ cd tcptraceroute-1.5beta7
$ ./configure --with-libnet=/usr/local/libnet \
--prefix=/usr/local/tcptrace
$ make
# make install
# ln -s /usr/local/tcptrace/bin/tcptraceroute
/usr/bin/tcptraceroute

Penggunaan perintah tcptraceroute mirip dengan perintah traceroute:

# tcptraceroute -n www.chip.co.id
Selected device ppp0, address 6x.xxx.xxx.
xxx, port 1029 for outgoing packets
Tracing the path to www.chip.co.id (2xx.
xx.xxx.xx) on TCP port 80 (http), 30 hops
max
1 6x.xxx.xxx.xxx 98.358 ms 93.782 ms
90.886 ms
2 6x.xxx.xxx.xxx 90.856 ms 86.904 ms
93.859 ms
3 2xxx.xxx.xxx 99.883 ms 102.846 ms
99.883 ms
4 2xxx.xxx.xxx [open] 104.874 ms
113.778 ms 220.779 ms

Kali ini pemeriksaan rute berlangsung dengan sukes. Dari PC yang diuji, dibutuhkan 3 hop sebelum sampai ke webserver CHIP. Perhatikan bahwa antara hop 3 dan hop 4 (server CHIP itu sendiri), dibutuhkan waktu yang kadang cepat, kadang juga lama. Sebagai contoh, waktu yang ditempuh kadang mencapai 220.779-99.883 = 120.896 milidetik. Dari hasil ini dapat disimpulkan bahwa akses yang lam­bat ke website CHIP tidak semata-mata karena masalah link antara PC lokal dan ISP. Faktor lainnya adalah kelambatan yang terjadi antara gateway network dan webserver CHIP. Gateway tersebut sangat mungkin adalah firewall, mengingat pada sesi traceroute normal, tracing berhenti pada hop ke-3.

Catatan: Semua solusi yang dijelaskan di atas bisa saja gagal Anda lakukan jika node tujuan (target) menerapkan sistem firewall yang sangat ketat atau dengan kata lain memblokir permintaan ping yang mengarah kepadanya.

B. Melihat Koneksi yang Aktif

Tool: netstat,iptraf
Saat Anda berselancar atau melakukan aktivitas lainnya di Internet, biasanya minimal ada satu koneksi yang sedang terjadi. Entah itu sedang menjalankan browser, chatting, atau lainnya. Tahukah Anda be­rapa sebenarnya jumlah koneksi yang aktif? Perintah Netstat berikut ini dapat memberitahu Anda.

$ netstat -atun
Active Internet connections (servers and
established)
Proto Recv-Q Send-Q Local Address For
eign Address State
(dipotong)
tcp 0 0 6x.x.xxx.xxx:1574 66.240.
xxx.xx:80 ESTABLISHED
tcp 0 477 6x.x.xxx.xxx:1575 66.240.
xxx.xx:80 ESTABLISHED
tcp 0 0 6x.x.xxx.xxx:1893 66.240.
xxx.xx:80 ESTABLISHED
tcp 0 0 6x.x.xxx.xxx:1892 66.240.
xxx.xx:80 ESTABLISHED

Opsi yang digunakan di sini adalah:
1. -t untuk mendaftar koneksi berbasis TCP
2. u untuk mendaftar koneksi berbasis UDP
3. n untuk menampilkan nama host dan port apa adanya tanpa perlu dikonversi menjadi nama symbolic, misalnya “http” (untuk nomor port) atau www.yahoo.com sebagai pengganti nomor alamat IP.
4. -a untuk menampilkan semua koneksi baik yang sedang listening maupun non-listening. Apabila Anda hanya tertarik dengan koneksi yang sedang aktif, opsi ini jangan disertakan.

Cuplikan output di atas diambil saat melakukan browsing ke salah satu website. Di sini terlihat bahwa ada 4 koneksi yang sedang aktif karena adanya status koneksi ESTABLISHED. Jumlah koneksi di PC Anda bisa berbeda, tergantung dari jenis program dan aktvitas yang sedang dilakukan.

Salah satu manfaat monitoring tersebut adalah Anda dapat mengetahui seberapa aktif (sibuk) koneksi yang terjadi pa­da PC Anda. Sebagian aplikasi kadang se­cara agresif membuka beberapa koneksi se­kaligus. Ambil contoh, browser Firefox yang memakai plugin FasterFox atau downloader Prozilla. Tidak ada jumlah ideal berapa koneksi yang seharusnya aktif sehingga semuanya bergantung pada pe­nga­matan Anda sendiri. Namun jika Anda merasa suatu aplikasi terlalu agresif membuat suatu koneksi dan kecepatan koneksi lainnya justru menjadi lambat, sebaiknya setting ulang aplikasi yang agresif tersebut agar tidak menyita 'jatah' lainnya.

Untuk Anda yang tergolong pemerhati masalah keamanan jaringan, perintah netstat juga dapat digunakan untuk kebutuhan tersebut. Di sini Anda dapat menggunakan opsi -p untuk melihat nama suatu program terkait):

# netstat -atupn
(dipotong)
tcp 0 0 192.168.1.13:6000
192.168.1.12:1028 ESTABLISHED 2433/X

Port 6000 adalah port untuk koneksi X11.Port ini terlihat dihubungi oleh node ber-IP 192.168.1.12. Apakah IP ini adalah 'me­sin' yang kredibel? Pada kasus ini, koneksi tersebut dapat dianggap sebagai upaya cracking. Oleh karena itu, yang Anda per­lu­kan adalah sesegera mungkin meng­akhiri koneksi 'siluman' tersebut. Sayangnya, se­jauh CHIP ketahui, Linux tidak menyediakan secara spesifik perintah untuk menghentikan suatu koneksi soket. Pilihannya tinggal: akhiri koneksi ja­ringan atau hentikan program. Apabila Anda memilih meng­akhiri program, Anda harus sesegera mungkin menutup sesi X Windows. Atau jika Anda sangat paranoid, mencabut kabel telepon atau jack RJ-45 di card network Anda bisa menjadi solusi nya (tidak disarankan).

Cara lain memonitor lalu lintas jari­ngan adalah menggunakan pogram iptraf. Jalankan iptraf dengan mengetik perintah berikut ini.

# iptraf

Lewati layar pembuka dengan menekan sembarang tombol. Anda akan disuguhi menu utama untuk monitoring. Sorot “IP Traffic Monitor” lalu tekan enter. Sekali lagi Anda akan disuguhi menu untuk memilih interface network yang akan dimonitor. Pilih “All interface” untuk memilih semua interface network yang sedang aktif. Kali ini, Anda akan disuguhi tampilan berbasis grafis text. Iptraf secara cerdas merelasikan koneksi yang terjadi, sehingga Anda dapat melihat remote host mana saja yang sedang menghubungi (mengontak) PC Anda dan dari port berapa hal tersebut dilakukan.

Demikian sekilas mengenai pemantauan (monitoring) dan penelusuran ko­neksi jaringan di Linux. Karena keterbatasan tempat, penjelasan panjang lebar tentang semua aspek monitoring jaringan tidak dapat dilakukan. Oleh karena itu, CHIP sangat menganjurkan Anda untuk melakukannya sendiri dan bereksperimen lebih lanjut. Selamat mencoba!

Sumber : CHIP 10 2006
Author : Mulyadi, Penulis@CHIP.co.id

Berlangganan info dari kami silahkan masukan email anda:

0 Response to "Monitoring Kondisi Jaringan dengan Linux"

Posting Komentar