BAB 2 LANDASAN TEORI 2.1 Network Menurut Miller (1996, p4), network adalah kumpulan dari komputer dan peripheral, seperti printer, modem, plotter, scanner, dan peripheral lainnya yang secara bersamaan terhubung oleh beberapa medium. Hubungan yang terjadi bisa secara langsung yaitu melalui kabel maupun secara tidak langsung yaitu melalui modem. Berdasarkan luas jangkauannya (Tanenbaum, 1996, pp9-11), network dapat dibagi atas 3 bagian, yaitu Local Area Network (LAN), Metropolitan Area Network (MAN), dan Wide Area Network (WAN). LAN di desain untuk beroperasi dalam area geografis terbatas melingkupi satu gedung dengan jarak antara 10 m – 1 km yang dapat menghubungkan semua workstation, peripheral, terminal dan peralatan lain sehingga membuat kemungkinan penggunaan teknologi komputer secara efisien dengan berbagi file dan peranti lainnya. MAN memiliki luas jangkauan lebih luas dibandingkan LAN dan lebih kecil daripada WAN. MAN dapat menjangkau kantor-kantor perusahaan yang berdekatan atau juga sebuah kota. WAN merupakan jaringan komunikasi data yang menghubungkan pengguna dalam lingkup geografis yang luas antara 100 km – 100.000 km. Sedangkan WAN adalah jaringan dengan skala yang sangat besar yang meliputi daerah geografis yang sangat luas. 7 8 2.2 OSI Halsall (1995, p13) mengatakan diawal tahun 1980 terjadi peningkatan jaringan yang sangat besar dalam segi kuantitas dan di pertengahan tahun 1980 kesulitan komunikasi terjadi pada jaringan-jaringan komputer dengan spesifikasi dan implementasi hardware dan software yang berbeda. Untuk berkomunikasi menangani ini, maka permasalahan dibentuklah ketidakcocokan model referensi dan OSI ketidakmampuan (Open System Interconnection) oleh International Standard Organization (ISO) di tahun 1984 untuk memperjelas mekanisme komunikasi data elektronik. Model OSI dilengkapi dengan sekumpulan standar yang menjamin kompatibilitas dan interoperabilitas antar beragam tipe dari teknologi jaringan. Menurut Halsall (1995, p14) seperti pada Gambar 2.1 model OSI terbagi dalam 7 layer yang terdiri dari: 7 Application Layer 6 Presentation Layer 5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Layer 1 Physical Layer Upper Layers Intermediate Layers Lower Layers Gambar 2.1 Model OSI menurut Halsall 9 Layer-layer ini terbagi menjadi tiga bagian yaitu upper layers (layers 5-7), intermediate layer (layer 4), dan lower layers (layers 1-3). Upper layers terdiri dari layer aplikasi, presentasi dan session yang merupakan application-oriented dimana ketiga layer ini bertanggung jawab untuk menangani aplikasi jaringan, representasi data dan interaksi antar aplikasi dan pengguna. Ketiga layer ini hanya mengirim data yang dibutuhkan oleh lower layers, khususnya ke mana data akan dikirim. Upper layers berhubungan dengan protokol yang membolehkan proses aplikasi dua end-user berinteraksi satu sama lain. Intermediate layer merupakan layer transport yang menyembunyikan upper layer dari operasi detail network layer yang dependent. Lower layers merupakan network-oriented yang akan berurusan dengan transmisi data, covering dan pemaketan, routing (pemilihan rute data pada jaringan), verifikasi, dan transmisi dari masing- masing grup data. Lower layers berhubungan dengan jaringan komunikasi data yang digunakan untuk link dua komputer yang saling berhubungan. 2.3 Transmission Control Protocol/Internet Protocol (TCP/IP) Dalam komunikasi data komputer, protokol diperlukan untuk mengatur bagaimana suatu perangkat keras dapat berkomunikasi dengan perangkat keras lain. Agar dua buah perangkat keras seperti komputer, hub, switch, router, dan lain- lain dapat berkomunikasi maka kedua perangkat keras tersebut memerlukan penggunaan protokol yang sama. TCP/IP adalah sekumpulan protokol yang dikembangkan untuk mengatur komputer berbagi sumber melalui jaringan ( Hedrick, 1987). 10 TCP/IP dikembangkan oleh ARPAnet. Komputer-komputer yang terhubung ke Internet berkomunikasi dengan protokol TCP/IP sehingga perbedaan jenis komputer maupun sistem operasi tidak menjadi masalah dalam berkomunikasi. Protokol ini terdiri dari 2 bagian penting yaitu protokol transport Transmission Control Protocol dan User Datagram Protocol dan Internet Protocol. 2.3.1 Transmission Control Protocol (TCP) TCP adalah protokol yang digunakan bersama dengan IP untuk mengirim data dalam bentuk unit- unit pesan antara komputer ke Internet. Pengiriman data ini dapat terjamin karena pada TCP terdapat tiga proses yaitu data acknowledgement, retransmisi, dan sequencing dimana TCP selalu meminta konfirmasi setiap kali selesai mengirim data, apakah data telah sampai di tempat tujuan. Kemudian TCP akan mengirimkan data urutan berikutnya atau melakukan retransmisi yaitu pengiriman ulang data tersebut bila terjadi. Data yang dikirim dan diterima diatur berdasarkan nomor urut. TCP juga mengawasi unit data individual atau dikenal dengan nama paket, dimana pesan-pesan dibagi untuk efisiensi routing melewati Internet. TCP bertanggung jawab untuk memeriksa apakah pengiriman data dari client ke server sudah benar. TCP juga mendeteksi kesalahan atau data lost dan melakukan pengiriman kembali sampai data yang benar diterima lengkap (Gilbert, 1995). TCP merupakan protokol yang menyediakan pelayanan seperti connection oriented, reliable, byte stream service. Connection oriented berarti dua aplikasi pengguna TCP harus melakukan pembentukan hubungan untuk melakukan pertukaran 11 data. Reliable berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi. Byte Stream Service berarti paket dikirimkan dan sampai ke tujuan secara berurutan. Selain TCP, dikenal juga protokol transport UDP (User Datagram Protocol). UDP bersifat connectionless dan unreliable. Connectionless berarti dalam mengirim paket dari tempat asal ke tujuan, masing- masing tidak mengadakan handshake (proses saling menginisialiasikan koneksi) terlebih dahulu. Unreliable dimaksudkan bahwa protokol IP tidak menjamin datagram yang dikirim sampai ke tempat tujuan tetapi berusaha sebaik-baiknya agar paket yang dikirim sampai ke tempat tujuan. 2.3.2 Internet Protocol (IP) IP adalah suatu metode atau protokol yang mengatur bagaimana suatu data dikirim dari satu komputer ke komputer lain dalam suatu jaringan komputer. Setiap perangkat keras (host) yang berada dalam jaringan Internet setidaknya mempunyai satu alamat IP yang bersifat unik yang membedakan dari host lain.. Internet Protocol (IP) mempunyai 3 fungsi utama dalam jaringan TCP/IP Internet: • IP merupakan bagian dasar dalam. pengiriman data di Intemet, mendefinisikan format data yang tepat untuk dikirimkan ke Intemet. • IP mendefinisikan fungsi routing dan mendefinisikan pengalamatan dari komputer. • IP mendefinisikan bagaimana suatu paket data harus diproses, mendefinisikan kapan pesan kesalahan harus disampaikan dan mendefinisikan kapan kondisi suatu paket data harus diabaikan 12 IP memiliki pengalamatan sebesar 32 bit. Dalam penulisannya IP dibagi menjadi 4 bagian dimana setiap bagiannya terdiri dari 8 bit dan dibatasi dengan titik (.). Alamat IP ini dibagikan ke seluruh pengguna jaringan Intemet di seluruh dunia. Pengalamatan IP terdiri dari dua bagian yaitu bagian network number dan host number. Bagian yang menjadi network number dan host number diketahui dari pembagian kelas IP. Kelas IP dibedakan pada ukuran dan jumlahnya. Menurut Miller (1996, p35), Pengalamatan IP terbagi dalam, 5 kelas yaitu : a. Kelas A Pengalamatan IP kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar. Bit pertama dari pengalamatan IP kelas A selalu di set 0 (nol) sehingga byte terdepan dari alamat IP selalu bernilai antara 0 - 127. Delapan bit pertama digunakan sebagai network number sedangkan 24 bit akhir untuk host number. Misal alamat IP kelas A adalah 113.46.5.6 maka network number-nya adalah 113 dan host number-nya adalah 46.5.6 b. Kelas B Pengalamatan IP kelas B biasanya dialokasikan untuk jaringan berukuran sedang dan besar. Dua bit pertama dari pengalamatan IP kelas B selalu di set 10 (satu nol) sehingga byte terdepan dari pengalamatan IP selalu bernilai antara 128 - 191. Enam belas bit pertama digunakan sebagai network number, sedangkan 16 bit berikutnya digunakan sebagai host number. Misalnya pengalamatan IP kelas B 132.92.121.1 maka network number-nya adalah 132.92 dan host number-nya adalah 121.1. Dengan panjang 13 host number yang 16 bit, maka network dengan pengalamatan IP kelas B dapat menampung sekitar 65000 host. c. Kelas C Pengalamatan IP kelas C awalnya digunakan untuk jaringan berukuran kecil, misalnya LAN. Tiga bit awal dari pengalamatan IP kelas C selalu diset 111. Dua puluh satu bit berikutnya membentuk network number sedangkan 8 bit akhir untuk host number. Dengan konfigurasi ini sekitar dua juta network dapat dibentuk dengan memiliki 256 pengalamatan IP untuk masing- masing network. d. Kelas D Pengalamatan IP kelas D digunakan untuk keperluan IP multicasting. Empat bit awal di set 1110. Bit-bit berikutnya diatur sesuai dengan keperluan multicast group yang menggunakan pengalamatan IP ini. Dalam multicast tidak dikenal network number dan host number. e. Kelas E Pengalamatan IP kelas E tidak digunakan untuk umum. Empat bit awal di set 1111. Selain network number, digunakan network prefix (dengan tanda garis miring '/' diikuti angka yang menunjukkan panjang network prefix dalam bit) untuk menyebut bagian pengalamatan IP yang menunjukkan jaringan. Contohnya, untuk alamat IP kelas B 132.92.121.1 maka dapat ditulis dengan 132.92/16. 2.3.3 Komponen Fisik Dalam Jaringan TCP/IP Menurut Purbo (1998, p32), komputer dengan protokol TCP/IP dapat terhubung ke komputer lain dan jaringan lain karena bantuan peralatan jaringan komputer. Pada 14 komputer itu sendiri, ditambahkan apa yang disebut sebagai network interface. Network interface berupa kartu Ethernet atau modem. Kartu Ethernet terhubung ke komputer lain lewat kabel RG-585 atau ke hub Ethernet lewat kabel UTP. Modem terhubung ke jaringan melalui kabel telepon. Disamping itu masih diperlukan peralatan lain untuk membentuk jaringan komputer. Peralatan ini disebut sebagai device penghubung jaringan. Device penghubung jaringan ini secara umum dibagi dalam beberapa kategori, yaitu repeater, bridge, dan router. Repeater merupakan fasilitas paling sederhana dalam jaringan komputer yang berfungsi menerima sinyal dari satu segmen kabel LAN dan memancarkannya kembali dengan kekuatan yang sama dengan sinyal asli pada satu atau lebih segmen kabel LAN yang lain. Dengan adanya repeater, jarak antara dua jaringan komputer bisa diperjauh, Bridge memiliki kefleksibelan dan kecerdasan lebih dibandingkan dengan repeater. Bridge dapat menghubungkan jaringan yang menggunakan metode transmisi berbeda atau medium access control yang berbeda. Router memiliki kemampuan me lewatkan IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur di antara keduanya. Router-router yang saling terhubung dalam jaringan Internet turut serta dalam sebuah algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari satu sistem ke sistem lain. 2.4 Arsitektur TCP/IP 2.4.1 Struktur Header IP Menurut Bacalla (1995), semua paket IP memiliki struktur yang sama – dimulai dari IP header, diikuti oleh beberapa variabel field yang bervariasi ukurannya. Isi dari 15 struktur tersebut adalah field -field berikut: Version, Internet Header Length, Type of Service, Total Length, Identification, Flags, Fragment Offset, Time To Live, Protocol, Header Checksum, Source IP Address, Destination IP Address, Options dan Padding seperti yang diperlihatkan pada Gambar 2.2. 0 4 Version 8 16 IHL 19 31 TOS Identification Time To Live Total Length Flags Fragment Offset Protocol Header Checksum Source IP Address Destination IP Address Options Padding Gambar 2.2 Struktur header IP Paket data yang sudah memiliki header IP lengkap yang ditangkap dari jaringan ini diistilahkan sebagai packet dump. Gambar 2.3 berikut menggambarkan posisi packet dump dari sebuah file yang dikirimkan ke jaringan dengan topologi Ethernet. File: Testing.xls Frame #1 Frame #1 with IP header Frame #2 Frame #2 with IP header Frame #3 Frame #3 with IP header . . . Frame #n . . . Frame #n with IP header Ethernet * * * * 00 00 27 22 00 28 92 38 0C 34 04 00 07 02 20 B0 | | | | AC 40 00 00 Frame #3 with IP header 01 00 80 | 48 B7 FD 70 | 08 00 45 00 [........H..p..E.] 00 80 06 | C9 9F 0A 15 | 00 E9 CA 9E [.(4.@...........] 50 00 00 | DE 1C C9 5F | E3 D1 50 10 ['.. .P....._..P.] 00 | | ["8....] Packet Dump Gambar 2.3 Visualiasi Packet Dump 16 Berikut adalah penjelasan lebih detil mengenai masing-masing field pada header IP diatas: 1. Version: Field ini berukuran 4 bits dimulai dari oktet 0 s.d. 3, dimana isi dari field ini menyatakan versi format internet header. Dalam dokumen ini menjelaskan versi 4. 2. IHL: Singkatan dari Internet Header Length, berukuran 4 bits dimulai dari oktet 4 s.d. 7. Isi dari field ini menyatakan panjang internet header dalam bilangan bulat 32 bit, dan menunjukkan alamat awal dari data. Catatan: nilai minimum header yang benar adalah lima. 3. Type of Service: Dengan ukuran 8 bits yang dimulai dari oktet 8 s.d. 15, yang mengindikasikan parameter abstrak dari kualitas servis yang diinginkan. Parameter ini digunakan untuk membimbing selection pada parameter servis yang sebenarnya ketika mengirimkan datagram ke jaringan local. Beberapa jaringan menawarkan prioritas servis (service precedence) dimana dapat digunakan untuk mengutamakan aliran lalu lintas data yang berprioritas tinggi daripada lalu lintas lainnya (biasanya dengan hanya mengijinkan aliran data trafik yang memiliki nilai prioritas yang lebih tinggi dari pengaturan saat itu untuk di ‘loloskan’ pada saat load jaringan sedang tinggi). Tiga pilihan utama dalam field ini adalah : three way tradeoff between low-delay, high-reliability, and high-throughput yang diperlihatkan pada Gambar 2.4. 17 Gambar 2.4 IP Header, field precedence Pada Gambar 2.4, diketahui bahwa masing- masing bit memiliki arti tertentu. Berikut adalah maksud dari setiap isi pada bit tersebut: Bits 0-2: Bit 3: Bit 4: Bit 5: Bit 6-7: Precedence. 0 = Normal Delay, 1 = Low Delay. 0 = Normal Throughput, 1 = High Throughput. 0 = Normal Relibility, 1 = High Relibility. Reserved for Future Use. Adapun kode dari precedence adalah sebagai berikut: 111 011 110 010 101 001 100 000 Network Control Flash Internetwork Control Immediate CRITIC/ECP Priority Flash Override Routine Penggunaan fasilitas Delay, Throughput, dan Reliability dapat meningkatkan cost dari servis (dalam beberapa kasus). Dalam sebuah jaringan, apabila ada satu jaringan lokal dengan kinerja yang lebih baik dari yang lain akan mengakibatkan dampak yang berbanding terbalik, yaitu ada beberapa jaringan lokal lainnya yang akan mengalami penurunan performa. 18 Oleh karena itu parameter ini biasanya jarang diset, kecuali pada kasus-kasus khusus. 4. Total Length: Field ini berukuran 16 bits dimulai dari oktet 16 s.d. 31. Isi dari field ini menyatakan ukuran total satu datagram dalam satuan oktet, termasuk internet header dan data. Maksimum ukuran datagram yang akan diisi pada field ini adalah 65.535 oktet, akan tetapi ukuran datagram yang terlalu besar yang hampir mendekati nilai maksimum hampir jarang ditemui pada jaringan secara umum. Setiap hosts harus mampu menerima datagram sampai dengan 576 oktet (walau mereka tiba semuanya ataupun dalam keadaan terpecah) . Pengiriman datagram ke hosts dengan ukuran lebih dari 576 oktet sebaiknya hanya dilakukan apabila hosts tujuan siap untuk menerima datagram dalam ukuran yang lebih besar. Ukuran 576 oktet dipilih karena dianggap merupakan ukuran blok data yang masuk akal untuk dikirim apabila dibutuhkan tambahan header information. 5. Identification: Dimulai dari oktet 32 s.d. 47 (16 bit). Isi dari field ini berupa indentifikasi dimana angka dari field ini diisi oleh pengirim untuk membantu perakitan datagram yang terpecah. 6. Flags: Field ini berukuran 3 bits, dimulai dari 48 s.d. 50. Masing- masing dari tiga bit pada field ini digunakan sebagai kode yang detilnya dijelaskan pada Gambar 2.5. 19 Gambar 2.5 IP header, field Flags Masing- masing isi dari bit tersebut harus berupa angka 0 atau 1. Bit 0 tidak dipakai dan dicadangkan untuk keperluan yang akan datang, isinya harus bernilai nol. Bit kesatu menandakan apakah data boleh dipecah atau tidak. Apabila bit kesatu berisi 0 menandakan data boleh dipecah (May Fragment), dan apabila berisi sebaliknya, berarti data jangan dipecah (Don’t Fragment). Bit kedua menandakan status fragmen. Apabila berisi 0 berarti fragmen ini adalah fragmen terakhir, tetapi apabila berisi sebaliknya berarti menandakan masih ada fragmen lain. 7. Fragment Offset : Dengan berukuran 13 bits (diawali dari oktet 51 s.d. 63), field ini menyatakan posisi pecahan data (fragmen) ini dalam datagram. Fragment offset diukur dalam satuan unit 8 bilangan oktet (64 bits). Fragmen pertama selalu ber-offset nol. 8. Time to Live: Diawali dari oktet 64 s.d. 71 (berukuran 8 bits), Field ini menyatakan waktu maksimum datagram diperbolehkan beredar dalam sistem jaringan. Jika field ini berisi nol maka datagram harus dibuang. Isi dari field ini diubah setiap kali dalam memproses header. Satuan dari field ini adalah detik, tetapi semenjak setiap modul yang memproses datagram harus mengurangi TTL dengan minimal satu walaupun pemrosesan 20 datagram berlangsung kurang dari satu detik, TTL harus dipandang sebagai batas atas dari waktu dimana datagram tersebut diperbolehkan beredar dalam jaringa n. Maksud dari hal ini adalah untuk membuat datagram yang tidak dapat terkirim disingkirkan dari jaringan, dan untuk mengacu kepada waktu hidup maksimal dari datagram. 9. Protocol: Berjumlah 8 bits, dimulai dari oktet 72 s.d. 79. Isi dari field ini menyatakan protocol apa yang akan digunakan pada level selanjutnya. Field protocol ini berukuran 8 bit yang digunakan untuk menentukan protokol yang digunakan oleh client yang menyediakan payload (data) untuk paket ini dan digunakan untuk memecah- mecah paket ini untuk menghasilkan informasi. 10. Header Checksum: Field ini hanya merupakan checksum field saja. Dengan berukuran 16 bit, dimulai dari oktet 80 s.d. 95, field ini digunakan karena beberapa field header isinya selalu berubah (misalnya time to live). Apabila isi field berikut berubah, isi field ini di hitung ulang dan di verifikasi pada setiap point dimana internet header diproses. Algoritma checksum -nya adalah sebagai berikut: Field checksum ini komplemen 1 dari jumlah komplemen 1 dari semua field dalam header yang berukuran 16 bit. Untuk menghitung checksum, maka nilai field checksum nol. Cara ini merupakan cara termudah untuk menghitung checksum, dan hasil percobaan awal menunjukkan bahwa cara ini layak, tapi cara ini hanyalah sementara dan dapat diganti dengan prosedur CRC, tergantung dari kebutuhan selanjutnya. 21 11. Source Address: Berukuran 32 bits (dari oktet 96 s.d. 127). Field ini berisi alamat IP pengirim. Alamat ini digunakan oleh intermediate routers untuk memilih jalur yang tepat / terbaik untuk mengirimkan datagram tersebut. 12. Destination Address: Dengan ukuran yang sama seperti source address (dari oktet 128 s.d. 159), field ini berisi alamat IP tujuan. Alamat ini digunakan oleh intermediate routers untuk memilih jalur yang tepat / terbaik untuk mengirimkan datagram tersebut. 13. Options: Field ini merupakan field yang unik karena ukurannya bervariasi. Dalam sebuah datagram, field ini mungkin ada atau juga tidak ada. Field option harus diimplementasi oleh semua modul IP (host dan gateway). Yang bukan menjadi suatu keharusan adalah keberadaan option pada transmisi pada sebuah datagram, bukan implementasi mereka. Pada beberapa kasus, security option mungkin dibutuhkan ada pada semua datagrams. Panjang dari field inipun bervariasi. Mungkin saja nol (tidak ada sama sekali) atau lebih. 14. Padding: Field ini juga memiliki ukuran yang tidak pasti. Digunakan untuk meyakinkan bahwa jumlah internet header berakhir pada batas 32 bit. Jika kurang dari 32 bit, maka padding ini akan diisi dengan angka nol sampai ukuran 32 bit terpenuhi. 2.4.2 Struktur Header TCP Semua paket TCP memiliki struktur yang sama – dimulai dari Source port, diikuti oleh beberapa variabel field yang bervariasi ukurannya (Bacalla, 1995). Isi dari 22 struktur tersebut adalah field-field berikut: Source Port, Destination Port, Sequnece Number, Ack number, Data Offset, Reserved, Control, Window, Checksum, Urgent Pointer, TCP Options, dan Padding seperti yang diperlihatkan pada Gambar 2.6 0 4 10 16 Source Port 31 Destination Port Sequence Number Acknowledgement Number Dta Ofs Reserved Control Checksum Window Urgent Pointer TCP Options Padding Gambar 2.6 Struktur header TCP Penjelasan lebih detil mengenai masing- masing field : 1. Source Port dan Destination Port masing- masing berukuran 16 bit (oktet 0 s.d. 15 dan oktet 16 s.d. 31), isi dari field ini merupakan nomor port sumber dan tujuan dari paket TCP. 2. Sequence Number: Berukuran 32 bits, dimulai dari oktet 32 s.d. 63, Berisi nomor urut byte stream dalam data applikasi yang dikirim. Setiap kali data ini sukses dikirim, pihak penerima data mengisi field acknowledgement number dengan sequence number berikutnya yang diharapkan penerima. 3. Acknowledgment Number: Juga menempati 32 bits, diawali dari oktet 64 s.d. 95. Bila bit kontrol ACK di set maka field ini berisi nomor urut selanjutnya yang diharapkan diterima oleh oleh pihak pengirim. Sekali koneksi terbentuk, ACK ini selalu dikirimkan. 23 4. Data Offset : Berukuran 4 bits (oktet 96 s.d. 99). Isi field ini menyatakan jumlah potongan sebesar 32 bit dalam header TCP. Field ini menunjukan permulaan data. Header TCP (bahkan yang mengandung field option) merupakan kumpulan fragmen yang masing- masing sebesar 32 bit. 5. Reserved: Field ini dicadangkan untuk kebutuhan masa datang, harus berisi nol. Ukuran dari field ini adalah 6 bits. 6. Control Bits: Berukuran 6 bits (dari oktet 106 ke 111), Pada setiap bit mengandung satu control sebagai ber ikut : URG: Urgent Pointer field significant ACK: Acknowledgment field significant PSH: Push Function RST: Reset the connection SYN: Synchronize sequence numbers FIN: No more data from sender 7. Window: Berukuran 16 bits dari oktet 112 s.d. 127. Window ini berisi jumlah oktet data, dimulai dengan ACK yang telah disetujui oleh pengirim segmen ini. 8. Checksum: Field ini dimulai dari oktet 128 s.d. 143 (berukuran 16 bits). Field sebesar 16 bit ini adalah komplemen 1 dari jumlah komplemen 1 dari semua fragmen 16 bit dari header dan teks. Bila sebuah segmen yang berisi oktet header dan teks dengan jumlah ganjil di-checksum, oktet terakhir ditambahkan 0 untuk membentuk bilangan bulat positif 16 bit untuk keperluan checksum. Bilangan 0 ya ng ditambahkan tidak dikirimkan sebagai 24 bagian dari segmen. Selama menghitung checksum, field checksum itu sendiri diisi dengan 0. Proses checksum ini juga menghitung 96 bit pseudoheader yang secara konseptual ditambahkan sebelum header TCP. Pseudoheader ini berisikan alamat pengirim, alamat tujuan, protokol yang digunakan, dan besar paket TCP. Hal ini dilakukan untuk melindungi TCP dari segmen yang tidak sampai pada tujuan. Informasi ini dibawa oleh IP dan dikirim melalui jaringan sebagai hasil pemanggilan oleh TCP kepada IP. Panjang dari TCP adalah jumlah panjang dari header TCP ditambah dengan panjang data dalam oktet (bukan kuantitas yang dikirim secara eksplisit, melainkan hasil perhitungan), dan tidak termasuk pseudo -header sebesar 12 oktet. 9. Urgent Pointer: Field ini berukuran 16 bits, dimulai pada oktet 144 s.d. 159. Field Urgent Pointer ini menyatakan ofset positif dari nomor urut dalam segmen ini. Urgent Pointer menunjuk nomor urut dari oktet yang diikuti data yang penting (urgent data). Field ini hanya diproses apabila bit kontrol URG diset. 10. TCP Options: Ukuran dari field ini tidak tetap, dapat menempati akhir dari header TCP dan memiliki panjang kelipatan dari 8 bit. Semua option diikutsertakan dalam checksum. Sebuah option dapat bermulai di setiap batas oktet. TCP Options dapat memakan tempat pada akhir TCP header dan ukurannya adalah kelipatan 8 bit. Semua pilihan pada field TCP Options sudah termasuk dalam checksum. Isi pada field ini dapat dimulai pada oktet berapapun dalam batas alamat oktetnya. 25 11. Padding: Field ini juga tidak memiliki ukuran yang pasti dan digunakan untuk meyakinkan bahwa jumlah TCP header berakhir pada batas 32 bit. Jika kurang dari 32 bit, maka padding ini akan diisi dengan angka nol sampai ukuran 32 bit terpenuhi. 2.4.3 Struktur Header UDP Menurut Purbo (1998, p56), UDP merupakan paket yang sederhana yang bersifat unreliable. Karena sifatnya itu paket ini tidak memiliki field Acknowledgement. Pada Gambar 2.7 ditunjukkan format dari datagram UDP (Purbo, 1998, p56). Source Port Destination Port Datagram Length Checksum Application Data Gambar 2.7 Struktur header UDP Penjelasan lebih detil mengenai masing- masing field : 1. Source Port dan Destination Port masing- masing berukuran 16 bit (oktet 0 s.d. 15 dan oktet 16 s.d. 31), isi dari field ini merupakan nomor port sumber dan tujuan dari paket UDP. 2. Datagram Length : Berukuran 16 bit, dari oktet 32 s.d. 47. Field ini menyatakan panjang datagram paket UDP. 3. Checksum: Berukuran 16 bit dimulai dari oktet 48 s.d. 63. Field sebesar 16 bit ini adalah komplemen 1 dari jumlah komplemen 1 dari semua fragmen 16 bit dari header dan teks. Bila sebuah segmen yang berisi oktet header dan teks dengan jumlah ganjil di- checksum, oktet terakhir ditambahkan 0 untuk membentuk bilangan bulat positif 16 bit untuk keperluan checksum. 26 Bilangan 0 yang ditambahkan tidak dikirimkan sebagai bagian dari segmen. Selama menghitung checksum, field checksum itu sendiri diisi dengan 0. Proses checksum ini juga menghitung 96 bit pseudo-header yang secara konseptual ditambahkan sebelum header UDP. Pseudo-header ini berisikan alamat pengirim, alamat tujuan, protokol yang digunakan, dan besar paket UDP. Hal ini dilakukan untuk melindungi UDP dari segmen yang tidak sampai pada tujuan. Informasi ini dibawa oleh IP dan dikirim melalui jaringan sebagai hasil pemanggilan oleh UDP kepada IP. 2.5 Internet 2.5.1 Sejarah Internet Teknologi Internet pertama sekali dikembangkan pada pertengahan tahun 1970 oleh Defense Advance Research Projects Agency (DARPA). Pada saat itu DARPA adalah organisasi yang menemukan dan meneliti jaringan paket switching yang kemudian dikenal dengan nama ARPANET, Pada tahun 1979 banyak sekali peneliti yang terlibat dengan proyek protokol TCP/IP yang merupakan salah satu dari penelitian DARPA. Protokol inilah yang menjadi protokol utama pada jaringan Internet. Pada tahun 1980 protokol TCP/IP yang baru mulai digunakan oleh ARPANET dengan cepat berubah menjadi backbone dari jaringan yang baru dan digunakan oleh banyak sekali peneliti pada waktu itu. Pada tahun 1983 protokol TCP/IP resmi harus digunakan untuk setiap komputer yang terkoneksi pada ARPANET. 27 Banyak universitas-universitas di Amerika mencoba mengadopsi protokol TCP/IP yang dikembangkan di DARPA untuk digunakan dalam penelitian mereka. Pada saat itu sistem operasi yang paling banyak digunakan adalah UNIX Karena itu protokol TCP/IP kemudian dicoba untuk dikembangkan pada sistem operasi UNIX. Pada saat yang sama University of Wisconsin menemukan konsep Domain Name System (DNS) sehingga untuk mengakses komputer dalam ARPANET cukup menggunakan nama komputer. Salah satu universitas yang berhasil mengembangkan protokol TCP/IP adalah University of California, yang memiliki bagian khusus pengembangan aplikasi yang disebut Berkeley Software Distribution. Berkeley Software Distribution berhasil membuat paket protokol TCP/IP yang lebih baik dibandingkan dengan protokol TCP/IP hasil penelitian DARPA. Kemudian Berkeley Software juga menemukan socket sebagai program aplikasi yang digunakan untuk mengakses protokol komunikasi. Aplikasi socket ini yang kemudian paling banyak digunakan dalam mengakses protokol TCP/IP. Pada tahun 1985 dimulai proyek besar untuk menggabungkan 6 pusat super komputer di Ame rika Serikat dengan ARPANET yang disebut dengan NSFNET (National Science Foundation Network ). Semua bagian dari NSFNET ini menggunakan protokol TCP/IP dalam komunikasinya. Pada saat ini mulai dikembangkan jaringan TI dengan bandwidth sebesar 1,544 Mbps. Dengan kecepatan jaringan yang tinggi, NSFNET kemudian berkembang menjadi semakin besar dan jaringan inilah yang dikenal dengan nama Internet. Pada tahun 1992 World Wide Web (WWW) mulai dikenalkan kepada umum. WWW 28 kemudian menjadi salah satu service yang memacu dengan perkembangan Internet. (Purbo, 1998, pp8-9) 2.5.2 Fasilitas di Internet Beberapa contoh fasilitas yang disediakan pada jaringan Internet adalah : 1. WWW (World Wide Web), halaman web yang dapat menampilkan informasi gambar, tulisan, suara, video dan lain- lain 2. FTP (File Transfer Protocol), aplikasi yang digunakan untuk transfer file dari satu komputer ke komputer lainnya 3. IRC (Internet Relay Chatting), aplikasi yang digunakan untuk saling berkomunikasi dengan modus teks. 4. E-mail (Electronic Mail), aplikasi yang digunakan untuk mengirimkan surat atau pesan secara elektronik 5. USENET (Newsgroup), aplikasi yang digunakan untuk membaca dan mengirimkan surat-surat yang dapat dibaca oleh umum (public). 2.6 HTML Berdasarkan pendapat December dan Ginsburg (1996, p10), HTML singkatan dari HyperText Markup Language. Hypertext menunjuk pada sesuatu yang bersifat konektivitas dalam teks, artinya hubungan ke bagian lain dari teks ke dokumen lain. Hubungan ini dilakukan dengan men-click topik yang ada. Markup menyatakan bahwa dokumen HTML terdiri dari kode pemformatan (tag) yang menunjukkan bagaimana dokumen harus ditampilkan. Dokumen HTML adalah dokumen yang terdiri dari teks 29 biasa, dan gambar yang merupakan kaitan dimana ditampilkan oleh browser. HTML adalah bahasa pemrograman yang digunakan untuk membuat halaman web yang merupakan standard interface ke Internet meliputi animasi grafik, suara, video, program interaktif, dan lain- lain. HTML menjabarkan sebuah tampilan halaman dengan cara markup tag untuk memperlihatkan posisi yang berhubungan pada halaman tersebut. Dua komponen penting untuk dapat menjalankan HTML adalah web server dan aplikasi browser. Web server adalah program yang dapat mengerti dan berbicara dengan HTTP (HyperText Transfer Protocol). Mereka digunakan untuk menjawab permintaan HTTP dan bereaksi dengan jawaban HTTP. Sebuah web server yang sederhana digunakan untuk melaksanakan operasi HTTP dan mengembalikan header yang benar. Server yang lebih rumit mempunyai banyak fasilitas yang memudahkan pengaturan dokumen HTML. Beberapa fasilitas memungkinkan server untuk parse file atau menjalankan program eksternal, otentikasi, meningkatkan fasilitas logging, atau access control untuk membatasi alamat IP. Aplikasi browser digunakan untuk menampilkan halaman web yang berupa file HTML. Untuk membuka suatu halaman HTML dari browser perlu diketahui alamat URL (Uniform Resource Locator) dan halaman web yang hendak dibuka 2.7 Sistem Operasi Linux Sistem operasi Linux dikembangkan pertama kali oleh Linus Torvalds mahasiswa sebuah Universitas Helsinki di Finlandia. (Anonymous, 2001c) Linux dulunya adalah proyek hobi yang dikembangkan dari Minix, yaitu sistem operasi UNIX 30 versi kecil. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991, kemudian pada tanggal 5 Oktober 1991, Linus Torvalds mengumumkan versi resmi Linux yaitu 0.02. Saat ini, Linux adalah sistem distribusi bebas dari UNIX yang sangat lengkap dan bisa digunakan untuk networking, pengembangan software, dan bahkan untuk pekerjaan sehari- hari. Linux memiliki kelebihan diantaranya: 1. Linux merupakan sistem multitasking yang mengijinkan banyak user menjalankan program-program pada sistem yang sama secara bersamaan. Linux juga adalah sistem operasi 32 bit yang memanfaatkan ciri mode proteksi khusus dari Intel 80386 dan prosesor sesudahnya untuk bekerja sama. 2. Linux memiliki sistem. X-Window yang merupakan standard de facto sistem grafik industri untuk mesin UNIX sehingga user dapat mengoperasikan Linux berdasarkan modus grafik. 3. Linux mendukung protokol TCP/IP yang menghub ungkan milyaran komputer dalam jaringan dunia, yakni Internet. Untuk bisa mengakses ke Internet atau LAN di sistem Linux diperlukan hubungan Ethernet atau bisa juga menggunakan SLIP dan PPP lewat saluran telepon dengan menggunakan modem. 4. Linux dapat menggunakan sebagian dari hard disk sebagai virtual memory, dengan mengembangkan total jumlah dari RAM yang tersedia. Linux juga mengimplementasikan shared libraries, yang membolehkan program- 31 program yang menggunakan standard subroutines untuk menemukan kode untuk subroutines ini di libraries saat runtime. 5. Linux dapat berkembang berkat banyak sumbangan dari penggemar Linux, hacker, dan para programmer. Hacker adalah orang-orang yang masuk ke sistem komputer secara illegal untuk menunjukkan celah keamanan atau untuk memahami cara kerja sistem tersebut. (Anonymous, 2001g). 6. Linux mendukung hampir semua fungsi- fungsi yang ada di UNIX. 7. Linux didukung oleh GNU diantaranya GNU C dan kompiler C++, gawk, Grof, dan lain- lain yang terdapat dalam paket Linux. Banyak dari sistem penting yang digunakan oleh Linux merupakan software GNU. 8. Linux kompatibel dengan standard IEEE POSIX 1. Linux dikembangkan dengan software yang portable yang mendukung banyak ciri-ciri dari standard UNIX. 9. Linux mendukung virtual memori. Linux menggunakan semua sistem memori tanpa batas memori/segmentasi melewati penggunaan dari virtual memory manager 10. Linux didistribusikan secara gratis di intemet. Perkembangan Linux terkait erat dengan Internet. Pertama kali kernel Linux di posting oleh Linus Torvalds di newsgroup comp.os.minix dan kemudian oleh programmer-programmer di Internet bersama mengembangkan sistem operasi ini berdasarkan General Public License yang berarti dalam distribusi Linux itu tidak dikenakan biaya dan source code dari Linux dibagikan secara gratis. Hal ini yang membuat Linux berkembang dengan sangat cepat. 32 2.8 PHP PHP (PHP Hypertext Preprocessor) adalah bahasa pemrograman server side pada, web yang diperkenalkan Rasmus Lerdorf pada musim gugur 1994 (Castagnetto, 1999, pp8-9 ). Dikembangkan pertama kali untuk mengawasi jumlah pengunjung yang datang ke sitenya. Versi pertama yang digunakan oleh umum diperkenalkan pada tahun 1995 dan dikenal dengan nama Personal Home Page Tools. Versi pertama ini merupakan versi yang masih sangat sederhana. Pada pertengahan tahun 1995 dikembangkanlah PHP/FI versi 2. FI merupakan singkatan dari Form Interpreter yang merupakan paket tambahan pada PHP khusus untuk menangani proses form di HTML (Castagnetto, 1999, p9). Ketika PHP/FI dikembangkan sudah banyak orang yang ikut menyumbangkan kode, sehingga proyek ini berubah menjadi tim kerja. Di akhir tahun 1996 PHP/FI sedikitnya telah digunakan oleh 15.000 web site di dunia, kemudian di pertengahan tahun 1995 angka ini meningkat menjadi lebih dari 50.000 web site di dunia. Dan pada saat ini PHP banyak digunakan pada sistem operasi Linux. 2.9 Apache Apache adalah web server yang didistribusikan secara gratis dibawah NCSA HTTPD. Pusat pengembangan dari web server Apache dibentuk oleh sekitar 20 programmer yang dinamakan grup Apache. Versi 1.3 digunakan oleh sistem operasi UNIX seperti Linux, Solaris, DEC - Ultrix dan AIX. Meskipun banyak web server yang ada, Apache tetap merupakan web server yang banyak digunakan pada perusahaan dan 33 universitas dimana umumnya sistem UNIX berada. Apache didesain untuk kecepatan, reliabilitas dan memperbaiki masalah keamanan di NCSA HTTPD (Anonymous, 2001d) 2.10 ANSI C Menurut Khan (2001), bahasa C dibuat di Bell Laboratories sebagai system programming language untuk mengimplementasikan sistem operasi baru pada DEP PDP-11 minicomputer. Proyek ini dimulai pada tahun 1972 dan spesifikasi bahasa C dipublikasikan setelah enam tahun kemudian (Kernighan and Ritchie, 1978) [C is a compact terse programming language that includes data types, data separations, the ability to manipulate addresses, and uncomplicated but complete set of flow control constructions.] Pada tahun 1983, the American National Standards Institute (ANSI) membuat suatu komite untuk menjadikan C sebagai bahasa pemrograman standar. ANSI C rampung pada tahun 1988 dan diharapkan disetujui pada bulan Maret 1989. Fasilitas tambahan yang utama pada standar ANSI ini adalah fungsi prototyping, lebih mendukung banyak library untuk mempresentasikan date dan time, mata uang, dan sebagainya, juga kemampuan lain seperti pre-processing directives dan mampu untuk membuat dan mengatur banyak karakter yang terlalu banyak untuk ditampung dalam satu byte. Pada saat standar ini dikerjakan secara paralel, spesifikasi bahasa aslinya sudah berubah dan dipublikasi ulang (Kernighan and Ritchie, 1988). Beberapa vendor dari beberapa jenis C compilers untuk mikrokomputer sudah telanjur “membawa” ANSI C compilers ke pasar. Setelah itu, sampai saat ini, C sudah sangat dekat diasosiasikan 34 dengan sistem operasi UNIX, dimana system programming C ini menjadi umum, dan memiliki tantangan untuk menulis kode “portable” yang dapat dengan mudah ditransfer ke banyak jenis komputer. 2.11 MySQL MySQL adalah Structured Query Language database server. Bahasa pemrograman SQL di aplikasi MySQL menggunakan tata bahasa (syntax ) SQL standar. MySQL digunakan karena memiliki kecepatan yang baik, reliabilitas dan kemudahan. MySQL mengimplementasikan konsep client-server yang terdiri dari daemon mysqld dan beragam jenis aplikasi client dan library (Anonymous, 2001e). MySQL adalah sumber perangkat lunak yang terbuka (open source software). Open source software dapat diartikan bahwa ada kemungkinan untuk pemakai menambah dan memodifikasi program tanpa ada kewajiban untuk membayar royalti. 2.12 Cisco Port Monitoring / SPAN (SwitchPort Analyzer) Switch dan hub memiliki perbedaan dalam metode pengiriman paket data. Pada hub apabila ada satu port mengirimkan paket data ke port lainnya, maka semua port dalam hub tersebut akan mendengar (listen) paket data tersebut, sehingga dalam hub pengiriman paket data bersifat broadcast. Berbeda halnya dengan switch. Pada switch apabila ada satu port mengirimkan data ke port lainnya, maka paket data hanya akan didengar (listen) oleh port itu saja. Oleh karena itu pada switch pengiriman data bersifat point-to-point. 35 Cisco memiliki fasilitas untuk menduplikat (mirror) paket data yang lewat pada port tertentu ke port yang telah ditentukan. Pada Cisco seri 1900 fasilitas ini dinamakan Port Monitoring sedangkan pada Cisco Switch seri 5000, 4000, 2948G, 2926G dan 2926 fasilitas ini diistilahkan sebagai SPAN (Switched Port Analyzer ). (Cisco System, 1999, p31-1) SPAN memilih lalu lintas jaringan untuk dianalisis oleh Network Analysis Module Catalyst seri 5000 (sebuah device SwitchProbe atau RMON probe lainnya) SPAN menduplikat lalu lintas jaringan dari satu atau lebih source port (Ethernet, FastEthernet, TokenRing, atau Fiber Distributed Data Interface (FDDI)) pada Virtual LAN (VLAN) yang sama ke destination port untuk dianalisa. Gambar 2.8 Contoh konfigurasi SPAN Pada Gambar 2.8 diatas, semua lalu lintas pada Ethernet port 5 (source port) diduplikat ke Ethernet port 10. Sebuah network analyzer pada Ethernet port 10 menerima semua lalu lintas jaringan dari Ethernet port 5 tanpa secara fisik terhubung ke jaringan tersebut. Untuk mengkonfigurasi port SPAN pada Cisco Switch, ketikkan perintah ini (diasumsikan user sudah logon / telnet ke switch ): 36 Langkah Perintah 1. Masuk ke mode konfigurasi Enable 2. Masukkan password secret ********** 3. Konfigurasi SPAN port asal set span {scr_mod/scr_ports | scr_vlan} dan tujuan dest_mod/dest_port [inpkts {enable | disable}] [rx|tx|both] 4. Melihat status SPAN show span Perlu diperhatikan bahwa apabila port tujuan SPAN dihubungkan ke device lain dan penerimaan paket yang masuk diaktifkan (menggunakan keyword inpkts enable), port tujuan SPAN menerima lalu lintas data untuk semua VLAN dimana port tujuan berada. Tetapi walaupun demikian, port tujuan SPAN tidak dapat berpartisipasi pada spanning-tree untuk VLAN tersebut. (Cisco, 1999, p31-3) Berikut adalah contoh yang memperlihatkan bagaimana cara mengkonfigurasi SPAN sehingga pengiriman dan penerimaan lalu lintas data dari port 1/1 (SPAN source) diduplikat ke port 2/1 (SPAN destination): Console> (enable) set span 1/1 2/1 Enabled monitoring of Port 1/1 transmit/receive traffic by Port 2/1 Console> (enable) show span Status : enabled Admin Source : Port 1/1 Oper Source : Port 1/1 Destination : Port 2/1 Direction : transmit/receive Incoming Packets: disabled Console> (enable) Untuk menonaktifkan SPAN, ketikkan perintah ini pada mode konfigurasi: set span disable 37 Berikut contoh untuk menonaktifkan SPAN pada switch : Console> (enable) set span disable Disabled monitoring of Port 1/1 transmit/receive traffic by Port 2/1 2.13 Sniffer 2.13.1 Definisi Sniffer yang dikenal dengan istilah Network Traffic Analyzer/penganalisa lalu lintas jaringan adalah sejenis alat atau program yang dirancang untuk mengintai paket data. Program ini sering digunakan oleh sistem administrator untuk menganalisis isi suatu paket data dalam pengiriman dan penerimaan (lalu lintas) data. Apabila ternyata terjadi masalah seperti degradasi atau kemacetan dalam pengiriman data, informasi yang dihasilkan dari sniffer akan digunakan untuk menentukan penyebab terjadinya masalah. (Anonymous, 2001a) 2.13.2 Konsep Kebanyakan proprietary sniffer (enhanced commercial) terdiri dari gabungan antara alat dan teknologi. Kemampuan sniffer dalam menganalisis paket data bisa bermacam- macam, tetapi protokol yang sering digunakan adalah standard Ethernet seperti TCP/IP, IPX dan DECNet. Sebagai dasar untuk memahami konsep sniffer ini, kita perlu mengetahui tentang dasar pengiriman data dalam sistem jaringan. Umumnya dalam pengiriman paket data, semua komputer yang terdapat di dalam satu jaringan akan turut menerima atau mendengar paket data dari komputer sumber, tetapi hanya satu komputer, yaitu komp uter tujuan yang akan merespon paket data tersebut. Komputer-komputer lain akan mengabaikan paket data tersebut kecuali komputer yang dilengkapi dengan alat atau program untuk merekam (capture) data yang 38 dikirim tadi. Komputer ini dikatakan berada dalam promiscuous mode (mode yang kacau balau dan apa adanya) atau dengan kata lainnya program ini adalah sniffer. Selain dari itu, ada juga program sniffer yang dibuat dalam bentuk trojan dan berasal dari luar sistem jaringan. Trojan yang istilah lengkapnya adalah Trojan Horse adalah sebuah program yang menetap (malicious ) dan berbahaya yang didalamnya berisi kode program yang berbahaya dimana kode program itu dibuat sedemikian rupa sehingga dapat mengambil alih kendali dan biasanya merusak seperti menghancurkan File Allocation Table (FAT) pada harddisk (Anonymous, 2001f). Ini berarti program ini dikirimkan kepada komputer sasaran melalui e-mail atau sekadar melekatkan dirinya pada communication port komputer yang sudah diincar. Program ini kemudian akan merekam traffic data yang dibuat oleh komputer yang diincar mengikuti aturan yang telah diprogramkan oleh pengirim trojan tersebut dan menghantarnya kembali kepadanya untuk dieksploitasi / manipulasi. 2.14 Skema Bintang Sebuah skema bintang terdiri dari dua jenis tabel, yaitu tabel fakta dan table dimensi. Tabel fakta terdiri dari data kuantitatif atau data fakta mengenai bisnis, informasi yang akan di- query. Informasi sering berupa pengukuran numeric dan terdiri dari banyak kolom dan jutaan baris. Tabel dimensi lebih kecil dan menunjang data deskriptif yang mencerminkan dimensi dari bisnis. Query SQL kemudian digunakan untuk pendefinisian awal dan digunakan sebagai jalur penghubung antara tabel fakta dan tabel dimensi, dengan batasan pada data untuk mengembalikan info rmasi yang dipilih. 39 2.15 State Transition Diagram (STD) 2.15.1 Pengertian STD Menurut Hoffer (1996, p364) STD adalah sebuah diagram yang menggambarkan bagaimana proses saling berhubungan dalam suatu waktu. STD menggambarkan state yang dimiliki komponen sistem dan kejadian yang menyebabkan perubahan ke state lainnya. 2.15.2 Pembuatan STD Ada dua cara pembuatan STD, yaitu : 1. Perhatikan semua state yang mungkin muncul dan perhatikan semua hubungan yang mungkin diantara mereka. 2. Mulai dari state awal, perhatikan state apa yang dapat diteruskan darinya, kemudian dilanjutkan sampai semua jaringan tergambarkan. Dalam pembuatan STD terdapat beberapa aturan, yaitu : 1. Identifikasi semua state yang mungkin atau state initial. 2. Gambarkan kotak untuk mewakili setiap state. 3. Hubungan state dengan panah untuk memperlihatkan transisi. 4. Setiap state harus menuju ke state lainnya. 5. Namakan panah transisi dengan nama kejadian. 6. Buatlah aksi yang ada pada setiap kotak. 7. Pikirkan kemungkinan reaksi sistem akan kejadian tak terduga. 8. Pelajari diagram untuk melihat apakah perlu untuk diuraikan. 40 9. Lakukan pembahasan untuk kecepatan dan konsisten a. Apakah semua state telah tergambarkan. b. Apakah semua state dapat dituju. c. Apakah semua state dapat menuju ke state lain (kecuali final state). d. Apakah sistem berjalan normal pada semua kejadian. BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Sejarah dan Struktur Organisasi Universitas Bina Nusantara 3.1.1 Sejarah Bina Nusantara Menurut katalog mahasiswa (1997, pp5-8), sejarah Bina Nusantara bermula pada tahun 1974, ketika penggunaan komputer di Indonesia masih dini, di mana pengolahan data dan aplikasi komputer yang dikenal luas. masih harus menunggu beberapa tahun lagi, YAYASAN BINA NUSANTARA telah membuka kursus komputer yang bernama Modern Computer Course (MCC) dengan menyelenggarakan program pendidikan 3, 6, dan 12 bulan. Perkembangan komputer dan pendayagunaan yang begitu cepat mengakibatkan pemupukan kemampuan dalam bidang ini tidak dapat ditunda lagi. Sebagai perintis, Yayasan Bina Nusantara berperan aktif dalam mewarnai sejarah dan perkembangan komputerisasi di Indonesia, dengan menyiapkan tenaga-tenaga terampil dalam bidang komputer. Berdasarkan dari pengalaman tersebut, pada tanggal 1 Juli 1981 Yayasan Bina Nusantara membuka / menyelenggarakan pendidikan komputer tingkat Akademi dengan nama Akademi Teknik Komputer (ATK). Kehadiran Akademi ini ternyata mendapat sambutan hangat dari kalangan masyarakat dan pemerintah, sehingga keahlian para mahasiswa dan para alumninya langsung dimanfaatkan oleh kalangan perusahaan maupun pendidikan komputer. 41 42 Berkat bimbingan dan penilaian Mendikbud cq. Kopertis Wilayah III serta, usaha besar yang ditunjukkan oleh seluruh Civitas Akademika, terutama dalam meningkatkan mutu proses belajar mengajar, maka pada tanggal 13 Juli 1984 Akademi Teknik Komputer mendapat status Terdaftar dengan surat keputusan Mendikbud No. 03 08 10 11984. Bersamaan dengan surat tersebut Mendikbud memberikan nama baru, yaitu Akademi Manajemen Informatika dan Komputer Jakarta. Dengan munculnya beberapa yayasan yang menyelenggarakan pendidikan komputer tingkat akademi maka pada tahun 1985 Kopertis Wilayah III menganjurkan pemakaian nama "AMlK BINA NUSANTARA” mengingat akademi ini dibina oleh Yayasan Bina Nusantara. Tanggal 1 Juli 1985 Akademi ini mulai mengelola program studi kedua yaitu program studi Akuntansi Komputer dan Informatika (AKI), sebagai tambahan dari program studi sebelumnya. Tanggal 15 Maret 1986 Akademi ini dinilai sebagai Akademi Komputer Terbaik Pertama atas penyelenggaraan kegiatan akademik dan administratif sehingga mendapat penghargaan dari Kantor Koordinator Perguruan Tinggi Swasta (KOPERTIS) Wilayah III Jakarta. Pada tanggal 1 Juli 1986 Yayasan Bina Nusantara mulai merintis pendidikan program S1 dengan nama "Sekolah Tinggi Manajemen Informatika dan Komputer Bina Nusantara" (STMIK BINA NUSANTARA) dengan jurusan Manajemen Informatika, yang merupakan lanjutan dari Program DIII dengan beberapa penyesuaian. Pada tanggal 1 Juli 1987, STMIK Bina Nusantara membuka, jurusan baru yaitu Jurusan Teknik Komputer yang menyelengga rakan program pendidikan pada orientasi peralatan 43 komputer (Hardware) dengan jenjang pendidikan S1. Pada bulan November 1987 status terdaftar diterima untuk semua jurusan baru dan disusul dengan peleburan AMIK ke dalam STMIK. Pada bulan Januari 1988 STMIK Bina Nusantara memperoleh status Diakui bagi jenjang DIII untuk jurusan Manajemen Informatika dan Teknik Informatika, yang kemudian meningkat menjadi status Disamakan pada tanggal 9 Agustus 1990 dengan surat Keputusan Mendikbud No. 0523 10 11990. Sejak tahun 1992 semua jurusan/program studi mempunyai status “Disamakan”. Sejak tahun 1993 STMIK Bina Nusantara diijinkan untuk mengelola pendidikan Pascasarjana, yaitu program studi Magister Manajemen Sistem Informasi. Pada tahun 1995 Yayasan Bina Nusantara membulatkan tekad untuk meningkatkan pengabdiannya pada Nusa dan Bangsa dengan menyelenggarakan pendidikan yang lebih luas namun tetap bertumpu pada "Core Competence" dalam teknologi dan sistem informasi, dan setelah melalui perjuangan yang cukup panjang akhirnya dengan rahmat Tuhan Yang Maha Esa pada tanggal 8 Agustus 1996, Universitas Bina Nusantara diakui keberadaannya oleh pemerintah. Pada tanggal 17 November 1997, semua jurusan dan jenjang studi S1, di STMIK Bina Nusantara memperoleh akreditasi berdasarka n SK Mendikbud No. 78/D/O/1997. Pada tanggal 21 Desember 1998 semua jurusan dan program studi di lingkungan S1 Bina Nusantara diintegrasikan ke dalam Universitas Bina Nusantara berdasarkan S.K. Mendikbud No. 174/D/O/1998, sehingga keseluruhan fakultas/prograrn studi di Universitas Bina Nusantara menurut katalog Website Binus Online (2000), terlihat seperti pada Tabel 3.1 berikut: 44 Tabel 3. 1 Fakultas dan Program Studi di Universitas Bina Nusantara No. 1 2 3 4 5 6 7 Lembaga / Fakultas dan Program Studi Ilmu Komputer Teknik Informatika Teknik Komputer Manajemen Informatika Komputerisasi Akuntansi MIPA 2.1 Matematika 2.2 Statistika Teknik 3.1 Teknik Industri 3.2 Teknik Sipil 3.3 Teknik Arsitektur 3.4 Desain Komunikasi Visual Ekonomi 4.1 Manajemen 4.2 Akuntansi Sastra 5.1 Bahasa Inggris Jurusan Ganda 6.1 Manajemen & Manajemen Informatika 6.2 Matematika & Teknik Informatika 6.3 Teknik Industri & Manajemen Informatika 6.4 Akuntansi & Manajemen Informatika 6.5 Statistik & Teknik Informatika Pasca Sarjana 7.1 Magister Manajemen Sistem Informasi 7.2 Magister Manajemen Sistem Informasi (Akuntansi) Jenjang S1 S1 S1, DIII S1, DIII S1 S1 S1 S1 S1 S1 S1 S1, DIII S1, DIII S1 S1 S1 S1 S1 S2 S2 45 3.1.2 Bagan Struktur Organisasi Universitas Bina Nusantara Menurut Online katalog di Website Binus 2000, Struktur oganisasi Universitas Bina Nusantara secara garis besar diperlihatkan pada Gambar 3.1: REKTOR Pembantu Rektor I-IV Direktur Operasi Akademik Keuangan, Sarana dan Umum Marketing Biro Kendali Mutu UPT Lab Perangkat Keras UPT Lab Perangkat Lunak UPT Lab Akuntansi UPT Lab Perangkat Jaringan UPT Perpustakaan UPT Pusat Komputer UPT Cyber @ccess UPT Dukungan Pengajaran UPT Pusat Bahasa Applied Technology Laboratory Fakultas Teknik Jurusan Teknik Industri Jurusan Teknik Sipil Jurusan Teknik Arsitektur Jurusan Desain Komunikasi Visual Fakultas Ilmu Komputer Jurusan Sistem Informatka Jurusan Teknik Informatika Jurusan Sistem Komputer Jurusan Komputerisasi Akuntansi Fakultas MIPA Jurusan Matematika Jurusan Statistika Widya Raharja Informatika BiNus @ccess BiNus Career BiNus Center BiNus Training Biro Layanan Regristrasi & Informasi Biro Layanan Operasi Akademik Biro Kemahasiswaan Biro Sekretariat S2 Biro Dukungan Administrasi Biro Publikasi Biro Penerbitan Koordinator Penelitian Biro Keuangan Biro Logistik Biro Sumber Daya Manusia Biro Building Management Biro Kerja sama dan Hubungan Luar Fakultas Ekonomi Jurusan Manajemen Jurusan Akuntansi Fakultas Sastra Jurusan Sastra Inggris Program Pasca Sarjana Program Studi MM SI Program Studi MM SI (AK) Gambar 3.1 Struktur Organisasi Universitas Bina Nusantara Dari Gambar 3.1 tersebut, maka struktur organisasi Bina Nusantara dapat dijelaskan sebagai berikut: Struktur jabatan tertinggi adalah Rektor. Rektor memiliki empat pembantu rektor. Masing-masing membidangi fungsi tertentu. Untuk operasional sehari- hari juga dipimpin oleh empat direktur, yaitu Direktur Operasi, Direktur Akademik, Direktur Keuangan Sarana dan Umum serta Direktur Marketing. Di Bina Nusantara juga terdapat Biro dan UPT untuk pendukung operasional. Diantaranya ada satu Biro yang bernama Biro Kendali Mutu, yang bertanggung jawab terhadap mutu di Bina Nusantara. Juga terdapat beberapa subsidiary yaitu: Widya Raharja Informatika (Software House), BiNus@ccess, Binus Career, Binus Center dan Binus Training. 46 Berikut adalah Biro-biro lain yang mendukung operasional: • • • • • • • • • • • • • Biro Layanan Regristrasi & Informasi Biro Layanan Operasi Akademik Biro Kemahasiswaan Biro Sekretariat S2 Biro Dukungan Administrasi Biro Publikasi Biro Penerbitan Koordinator Penelitian Biro Keuangan Biro Logistik Biro Sumber Daya Manusia Biro Building Management Biro Kerja sama dan Hubungan Luar Selain Biro juga terdapat beberapa Unit Pelayanan Teknis (UPT) yang berfungsi sebagai pendukung operasional dalam hal- hal yang bersifat teknis. Berikut adalah UPT yang ada di Universitas Bina Nusantara : • • • • • • • • • UPT Lab. Perangkat Keras UPT Lab. Perangkat Lunak UPT Lab. Akuntansi UPT Lab. Perangkat Jaringan UPT Perpus takaan UPT Pusat Komputer UPT Cyber @ccess UPT Dukungan Pengajaran UPT Pusat Bahasa Dan untuk mengimplementasikan teknologi secara tepat guna bagi mahasiswa maka Unversitas Bina Nusantara memiliki satu divisi yaitu Applied Technology Laboratory. Adapun Bina Nusantara memiliki 5 Fakultas dan 1 Program Pasca Sarjana. Kelima Fakultas tersebut adalah Fakultas Teknik dengan jurusan Teknik Industri, Teknik Sipil, Teknik Arsitektur dan Desain Komunikasi Visual; Fakultas Ilmu Komputer dengan jurusan Sistem Informatika, Teknik Informatika, Sistem Komputer, 47 Komputerisasi Akuntansi; Fakultas MIPA dengan jurusan Matematika dan Statistika; Fakultas Ekonomi dengan jurusan Manajemen dan Akuntansi serta Fakultas Sastra dengan jurusan Sastra Inggris. Program S2 yang diadakan di Bina Nusantara adalah Program Pasca Sarjana dengan Program Studi MM SI dan MM SI (AK). 3.2 UPT Lab. Perangkat Jaringan UPT Lab. Perangkat Jaringan adalah UPT yang bertugas melayani penggunaan fasilitas komputer bagi segenap civitas akedemika di lingkungan Universitas Bina Nusantara. Berikut adalah lingkup kerja, wewenang dan tanggung jawab di UPT Lab. Perangkat Jaringan: I. Lingkup Kerja Menunjang kegiatan teknologi informasi khususnya penggunaan fasilitas jaringan dan server-server penunjang, yang dilakukan oleh direktorat-direktorat dalam melaksanakan kegiatan operasional dan pengembangan dilingkungan Universitas Bina Nusantara serta bagian-bagian lain dalam Yayasan Bina Nusantara. II. Wewenang Tanggung-Jawab 1. Bertanggung jawab atas terlaksananya pelayanan dalam kegiatan yang terkait dengan jaringan dan network operating system kepada seluruh pemakai dilingkungan Universitas Bina Nusantara. 2. Berwewenang mengatur dan mengeluarkan kebijaksanaan operasional. 3. Membuat rencana, mengendalikan pelayana n, dan mengevaluasi kegiatan pelaksanaan. 48 4. Bekerja-sama dengan Sub Divisi Support dan Sub Divisi Warehouse berkaitan dengan pelaksanaan tugas/fungsi UPT Lab. Perangkat Jaringan. 5. Membuat laporan bulanan dan semesteran untuk disampaikan kepada Kepala UPT Lab. Perangkat Jaringan. 3.3 Sistem Monitoring Jaringan yang Sedang Berjalan UPT Lab. Perangkat Jaringan sebagai bagian yang memfasilitasi koneksi jaringan di Universitas Bina Nusantara, harus senantiasa memastikan bahwa koneksi jaringannya dalam keadaan baik untuk mendukung kegiatan operasional sehari- hari. Lingkup koneksi jaringan yang harus dipelihara oleh UPT Lab. Perangkat Jaringan meliputi jaringan lokal (LAN) yang terdiri dari sekitar 63 Virtual LAN (VLAN), jaringan ke Internet (termasuk koneksi jaringan antar cabang-cabang lain seperti di kampus Anggrek, gedung BinusTraining di tiga lokasi: Kemanggisan, Kedoya dan Grogol, gedung SMU Bina Nusantara dan sekitar 15 Binus@ccess sites (dalam bentuk associate member warnet)). Sampai saat ini ada beberapa ca ra yang dilakukan oleh staf UPT Lab. Perangkat Jaringan didalam melakukan tugas monitoring sebagai berikut : a. Menggunakan software untuk memonitor pemakaian bandwidth yaitu Multi Router Traffic Generator (MRTG). MRTG ini memonitor 5 interface Cisco router seri 3600 yang juga merupakan 5 segmen jaringan besar di Universitas Bina Nusantara. (Detil posisi router ini dapat dilihat pada Gambar 3.2 dibawah) 49 b. Melakukan tes berkala ke beberapa web server dan juga server-server lain dengan metode sederhana seperti ping scanner dan traceroute (untuk mengecek waktu respon dari tiap-tiap router/hop). c. Melakukan pengecekan rutin log file pada server, misalnya pada server Linux adalah pada file (/var/log/*), dan Event Viewer pada server Windows NT. Cara lainnya adalah dengan menginstall Syslog server (remote) untuk server atau device tertentu. Syslog adalah mekanisme untuk mencatat log file suatu device ke server tertentu yang sudah ditentukan. Semua log file akan disimpan pada harddisk di server yang sudah ditentukan tersebut. d. Memonitor koneksi wireless ke cabang-cabang yang menggunakan wireless device dengan menggunakan software yang sudah terintegrasi (embedded) pada wireless device yang dimiliki oleh UPT Lab. Perangkat Jaringan. 50 1 2 3 4 5 Gambar 3.2 Diagram Jaringan Bina Nusantara Gambar 3.2 diatas memperlihatkan 5 sub-network yang ada di Bina Nusantara saat ini. • Area yang ditandai dengan nomor 1 adalah area DMZ. DMZ (Demilitarized Zone) adalah area dimana semua server yang berada pada area ini dapat diakses oleh semua orang di seluruh dunia melalui Internet, berbeda dengan private zone atau LAN. Oleh karena itu semua server yang diletakkan pada area ini harus memiliki IP real yang dikenal di Internet (bukan IP reserved yang digunakan untuk LAN seperti umumnya IP class A 10.0.0.0 dan IP class C 192.168.0.0). • Sub network dial-in modem yang ditunjukkan pada area yang bernomor 2 merupakan area jaringan WAN dimana mahasiswa/staff Bina Nusantara dapat mengakses Internet menggunakan line telepon dengan jaringan Universitas Bina 51 Nusantara sebagai perantaranya. Mahasiswa/staff Bina Nusantara harus memiliki account agar dapat mengakses Internet lewat area ini dan untuk penggunaan fasilitas ini dikenakan biaya tertentu yang besarnya ditentukan dan diatur oleh UPT Lab. Cyber@ccess. • Sedangkan pada lokasi yang ditandai dengan nomor 3, terdapat sub network Bina Nusantara Study Site atau lebih dikenal dengan area warnet. Sampai saat ini sudah sekitar 15 warnet yang terhubung ke jaringan Universitas Bina Nusantara untuk mengakses Internet. Associate warnet ini terhubung ke jaringan Universitas Bina Nusantara dengan menggunakan wireless device dengan radius jarak pancar sekitar 2 km. Area ini juga digunakan untuk menghubungkan jaringan Universitas Bina Nusantara ke SMU Bina Nusantara. • Pada area yang ditandai dengan nomor 4, terdapat sub network Cyber@ccess. Area ini diperuntukkan untuk mengakses Internet bagi seluruh mahasiswa aktif Bina Nusantara dengan biaya yang cukup murah. Mahasiswa harus terlebih dahulu mendaftarkan diri dan membayar biaya pemakaian ruangan beserta komputer dan untuk memanfaatkan fasilitas ini, mahasiswa harus membawa Binus Card sebagai kartu tanda pengenal. • Area 5 adalah area LAN Bina Nusantara. Pada area ini terdapat sekitar 63 VLAN dan digunakan untuk operasional oleh seluruh staff Bina Nusantara. Area ini juga terhubung jaringan BinusTraining Bina Nusantara untuk cabang Kemanggisan dan Grogol. 52 3.4 Analisis 3.4.1 Analisis Sistem yang Sedang Berjalan Sebagai Universitas yang memiliki visi untuk menjadi perguruan tinggi swasta yang diterima sebagai panutan dalam pengembangan dan penerapan Ilmu dan Teknologi di Indonesia, terutama yang terkait dan ditunjang oleh berbagai bentuk penerapan Teknologi Informasi, maka semenjak tahun 1999 Bina Nusantara telah menjadi semacam Internet Service Provider untuk warnet-warnet di sekitar Bina Nusantara. Gabungan warnet-warnet ini dinamakan Binus@ccess, yang selain melayani mahasiswa/umum didalam mengakses Internet, juga sebagai study site dimana mahasiswa diharapkan dapat mengakses pengetahuan atau menjalani proses pembelajaran dari tempat ini, selain didalam kampus. Untuk langkah selanjutnya, pada awal tahun 2002, Universitas Bina Nusantara merencanakan melebarkan sayap ke pelosok-pelosok daerah di Indonesia, baik di pulau Jawa, maupun keluar pulau Jawa dengan mendirikan cabang-cabang BinusTraining yang rencananya pada setiap BinusTraining tersebut juga akan didirikan beberapa site seperti Binus@ccess di Jakarta yang proses pendiriannya akan bermitra dengan pengelola warnet lain pada daerahnya masing- masing. Melihat dari visi Bina Nusantara kedepan, tentunya kebutuhan untuk infrastruktur jaringan yang kuat dan baik, selain dari sumber daya manusia yang kokoh mutlak diperlukan. Infrastruktur jaringan yang kuat dan baik, tentunya membutuhkan penanganan yang khusus untuk proses monitoring, perawatan dan juga pemeliharaannya sehari- hari. 53 3.4.2 Analisis Masalah Proses monitoring yang dilakukan sampai saat ini di UPT Lab. Perangkat Jaringan Bina Nusantara dirasakan masih memiliki kelemahan. Berikut adalah gambaran umum dari permasalahan yang dirasakan saat ini: Sub Network A Sub Network D ? 11010011001 2 Area Kampus Anggrek 11010011001 Sub Network B 3 11010011001 11010011001 1 Area Kampus Syahdan ? Sub Network C Sub Network E 110100110 010110111 011100101 ? Network Traffic Analyzer 4 Gambar 3.3 Gambaran Analisis Masalah Gambar 3.3 diatas memperlihatkan gambar jaringan di Universitas Bina Nusantara. Dari gambar ini, digambarkan gedung Kampus Syahdan dan Kampus Anggrek terhubung dengan jaringan. Pada area yang ditandai dengan nomor 1, dapat dilihat bahwa administrator jaringan tidak mengetahui mengenai paket data yang beredar di dalam jaringan Universitas Bina Nusantara. Karena tidak mengetahui paket data yang beredar di jaringan, baik dari sisi jumlah, ukurannya dan kepadatannya menyebabkan administrator jaringan tidak dapat menentukan penyebab dari masalah apabila terjadi kasus seperti lack of bandwidth yang ditandai dengan terjadinya penurunan performa pada kecepatan transfer data pada jaringan. Kasus ini (yang 54 ditandai pada nomor 2) biasanya menjadi masalah yang cukup serius pada Universitas dengan ukuran jaringan yang luas. Program penganalisa lalu lintas jaringan yang beredar saat ini hanya memberikan informasi tentang packet dump dengan penyajian laporan yang apa adanya. Hal ini (yang ditandai dengan nomor 3) menyebabkan administrator jaringan pemula akan mengalami masalah yang cukup serius karena kesulitan untuk membaca laporan dan memahami hal yang terjadi pada jaringan. Pada gambar yang ditandai dengan nomor 4, terlihat satu kendala lagi, yaitu program penganalisa lalu lintas jaringan yang ada saat ini jarang sekali yang memiliki fasilitas remote, sehingga akan sangat menyulitkan apabila terdapat tuntutan agar program penganalisa lalu lintas jaringan dapat diakses dari mana saja. Dari narasi diatas, empat kendala yang dihadapi oleh administrator jaringan di Universitas Bina Nusantra pada saat ini dapat diuraikan sebagai berikut : 1. Belum adanya sistem/program yang digunakan oleh UPT Lab. Perangkat Jaringan yang dapat mengamati lalu lintas data yang lewat pada jaringan apabila terjadi masalah, misalnya kemacetan dalam jaringan. Kelemahan ini juga menjadi kendala apabila administrator jaringan mencurigai terjadinya serangan pada server atau device yang otomatis membenahi jaringan seperti packet flooding, yaitu mengirimkan data yang besar ke salah satu server atau device yang menyebabkan bandwidth terpakai secara sia-sia. Serangan lain misalnya seperti Distributed Denial of Service (DDoS) attack. DDoS adalah metode yang digunakan untuk menggagalkan fungsi/servis yang berjalan yang disediakan oleh server dengan 55 cara meminta (request) layanan servis tersebut secara berlebihan dan serentak oleh banyak unauthorized hosts/users, sehingga hosts/user yang berhak (authorized) untuk memperoleh servis tersebut gagal atau tidak dapat mengakses servis yang disediakan oleh server. 2. Tidak dapat menentukan secara pasti penyebab terjadinya masalah apabila terjadi lack of bandwidth. Administrator jaringan masih meraba-raba kemungkinan penyebab dari masalah ini dan juga tentang siapa atau apa yang menyebabkan masalah tersebut tanpa mampu melakukan proses sniffing (pengintipan) lalu lintas data yang lewat terhadap jaringan yang dicurigai bermasalah. 3. Produk penganalisa lalu lintas jaringan yang beredar sampai saat ini, masih menyulitkan administrator jaringan dalam membaca hasil packet dump. Hal ini menyebabkan hanya administrator jaringan yang memiliki pengetahuan yang luas akan paket data TCP/IP saja yang mampu melakukan monitoring, selebihnya hasil laporan dari program penganalisa lalu lintas jaringan kurang menghasilkan informasi yang berguna karena sulit dimengerti. 4. Produk penganalisa lalu lintas jaringan yang beredar saat ini, jarang yang memiliki kemampuan remote. Apabila administrator jaringan tersebut bekerja pada area yang luas dimana dia sendiri dituntut untuk menangani jaringan pada beberapa lokasi yang berbeda dan juga saling 56 berjauhan, maka kemampuan dari program penganalisa lalu lintas jaringan yang tidak memiliki fasilitas remote akan menyulitkan administrator jaringan, karena monitoring hanya dapat dilakukan pada lokasi dimana program penganalisa lalu lintas jaringan diinstall. 3.4.3 Analisis Pemecahan Masalah 3.4.3.1 Analisa Pemecahan Masalah (Umum) Pada Gambar 3.4 berikut digambarkan pemecahan masalah untuk mengatasi permasalahan yang ada: INTERNET 3 Sub Network A Sub Network D 2 11010011001 1 Sub Network B Area Kampus Anggrek 11010011001 11010011001 11010011001 Sub Network E Area Kampus Syahdan Sub Network C 4 DATA DAT ATA DATA TA DATA D Network Traffic Analyzer 3 Gambar 3.4 Gambaran solusi dari analisis masalah Melihat Gambar 3.4 diatas, program penganalisa lalu lintas jaringan mutlak digunakan agar dapat melihat dan mengawasi paket data yang beredar di jaringan (Area yang bernomor 1). Dengan menggunakan program penganalisa lalu lintas jaringan, maka 57 paket data yang beredar di jaringan dapat diketahui. Hal ini berguna untuk mengetahui keadaan utilisasi bandwidth pada jaringan (Area yang bernomor 2). Sedangkan untuk masalah yang ditandai dengan nomor 3, harus dirancang sebuah program penganalisa lalu lintas jaringan yang memungkinkan administrator jaringan untuk mengakses program penganalisa lalu lintas jaringan tersebut dari tempat manapun, baik dalam jaringan LAN maupun dari Internet tanpa harus berada di tempat dimana program tersebut diinstall (Area yang bernomor 3). Dan sebaiknya program tersebut dibuat agar dapat memudahkan administrator jaringan yang masih pemula untuk dapat membaca laporan hasil tampilan packet dump dengan mudah (hal ini ditandai dengan nomor 4). Dari analisa masalah diatas, penulis menyadari bahwa penggunaan program penganalisa lalu lintas jaringan yang juga dikenal dengan istilah sniffer/Network Traffic Analyzer, mutlak diperlukan bagi UPT Lab. Perangkat Jaringan untuk mengawasi lalu lintas data pada saat terjadi masalah-masalah seperti yang sudah diuraikan diatas. Ada cukup banyak program penganalisa lalu lintas data jaringan yang sudah diproduksi, baik yang dapat didownload di Internet dengan gratis maupun versi yang berupa shareware dalam bentuk paket komersial. Pada Tabel 3.2, penulis membandingkan 3 jenis program penganalisa lalu lintas jaringan yang beredar di Internet dan menganalisa kemampuan dari ketiganya. Tabel 3. 2 Perbandingan 3 jenis produk penganalisa lalu lintas jaringan di pasaran Nama Produk Uraian Feature Mampu menghasilkan informasi grafikal Dapat diakses dari workstation manapun (remote) Dapat menghasilkan detil laporan hasil sniffing Pemakai mudah menganalisa hasil packet dump Tersedia filter input untuk memilih jenis protokol (IP,TCP,UDP) yang hendak dianalisa Tersedia filter input untuk memilih jangkauan IP address yang hendak dianalisa Mampu menyajikan statistik ukuran paket data yang analisa Dapat memberikan rangkuman laporan berupa penggunaan bandwidth berdasarkan protocol, IP address dan menggambarkan kejadian pada jaringan Dapat menyimpan hasil analisa ke file bertipe text Dapat mencetak laporan hasil analisa ke printer Harga Analyzer Link View Ethereal (Windows) (Windows) (Linux) P O P O O O P P O P O P diperlukan program tambahan untuk menganalisa packet dump O multiple address O P P P O O O P P O P O P gratis $995.00 gratis O P Keterangan: P O : Fasilitas tersedia/ada/bisa. : Fasilitas tidak tersedia/tidak ada/tidak bisa. multiple address : Tidak berupa jangkauan (range) tetapi pemakai dapat mengisikan banyak alamat sekaligus 58 59 Hasil perbandingan ketiga produk pada Tabel 3.2 didapat melalui pengujian dengan data teknis seperti yang ditampilkan pada Tabel 3.3 berikut: Tabel 3. 3 Data teknis perbandingan 3 jenis produk penganalisa lalu lintas jaringan di pasaran Nama Produk Uraian Versi program Media penampung hasil dump sementara Utilisasi CPU pada saat sniffing Penggunaan RAM pada saat loading program Penggunaan RAM pada saat sniffing Pengguna dapat mengakses program pada jenis sistem operasi Ukuran program setelah diinstall Analyzer Link View Ethereal (Windows) (Windows) (Linux) full memori 2-20% 2458-2948kB 3464-3682kB demo memori 5-10% 8972-9200kB 9454-9626kB full memori 3-7% 1304-1812kb 2140-2292kb windows windows linux 5.19 MB 6.55 MB 1.2 MB Keterangan: full: Produk yang diuji coba merupakan versi penuh. Semua fasilitas yang tersedia dapat digunakan. demo: Produk yang diuji coba merupakan versi demo. Kemungkinan ada fasilitas yang tidak dapat digunakan. Utilisasi CPU pada saat sniffing: Batas nilai antara 0% sampai 100% Salah satu kelemahan yang diperlihatkan oleh program diatas adalah hasil packet dump yang sulit dimengerti. Hal ini cukup menyulitkan orang awam maupun administrator jaringan pemula yang kurang mengerti paket data dalam TCP/IP. Oleh karena itu, penulis mencoba mencari pola-pola dari kegiatan dalam jaringan yang umum dilakukan. Dengan mendapatkan pola tersebut, penulis mencoba untuk membuat informasi paket data yang dicapture sehingga dapat ditampilkan dalam bentuk yang lebih baik. 60 3.4.3.2 Analisa Pemecahan Masalah (Teknik EasyView) Untuk memberikan hasil tampilan dari analisa paket yang lebih baik, dilakukan pengambilan contoh packet dump (Gambar 2.3) untuk dianalisa. Berikut adalah hasil pola dari kegiatan dalam jaringan yang umum dilakukan : 1. HTTP (HyperText Transfer Protocol) Berikut adalah salah satu contoh packet dump dari paket dengan protokol HTTP: 1 2 3 4 5 6 7 * * * * * * 1 2 3 4 01 59 22 2F 61 23 13 38 31 67 8C 04 19 2E 65 03 12 76 31 2F | | | | | 5 6 7 8 40 00 00 0D 67 00 50 00 0A 69 80 00 47 41 66 06 01 45 63 2C 9 10 11 12 | | | | | 1A 61 54 63 20 DD 4B 20 65 69 0A DB 2F 70 6D 14 F4 20 74 61 | | | | | 13 14 15 16 45 00 [ E.] 25 32 CA 9B [.#..@.......%2..] B8 0F 50 18 [Y....P..aK....P.] 48 54 54 50 ["8.v..GET / HTTP] 3A 20 69 6D [/1.1..Accept: im] 67 65 2F 78 [age/gif, image/x] -----cut---- Dari data tersebut, dapat ditarik kesimpulan bahwa protokol yang digunakan didalam paket HTTP adalah TCP. Hal ini dapat dilihat dari baris ke-2, kolom ke-8, yang berisikan angka 0x06 (06 hexadecimal), yang menandakan paket TCP. Data lain yang menunjukkan bahwa ini adalah paket HTTP adalah paket ini menggunakan port 80, yang dapat dilihat pada baris ke-3, kolom ke-5 dan ke-6 (0x50 = 80 decimal). Selain itu, paket HTTP sendiri ada 2 macam, yaitu HTTP request dan reply. Pada HTTP request, terdapat kata kunci GET, pada baris ke-4, kolom ke-7 sampai kolom ke-9. Sedangkan jika pada baris ke-4, kolom ke-7 sampai kolom ke-10 berisikan kata HTTP, maka paket tersebut adalah paket HTTP reply. Berikut ini adalah contoh paket HTTP request. 1 1 2 3 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 * 45 * 05 DC 75 D2 | 40 00 3F 06 | 6D 55 CA 9B | 59 13 0A * 25 32 00 50 | 04 12 DB F4 | B8 0F 00 01 | 62 46 50 * 7D 78 53 29 | 00 00 48 54 | 54 50 2F 31 | 2E 30 20 00 14 18 32 [ E.] [..u.@.?.mU..Y...] [%2.P........bFP.] [}xS)..HTTP/1.0 2] 61 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 * * * * * * * * * * * * * * * * 30 2C 3A 65 32 2E 3A 74 68 49 61 20 0A 3C 6E 3C 30 20 33 72 20 31 20 65 74 53 66 63 3C 74 74 2F 20 32 39 3A 28 0D 50 6E 6D 53 66 6C 68 69 61 74 4F 31 3A 20 55 0A 48 74 6C 20 0D 6F 65 74 72 69 | | | | | | | | | | | | | | | | 4B 20 33 41 6E 58 50 2D 0D 66 0A 73 61 6C 61 74 0D 4A 30 70 69 2D 2F 54 0A 72 43 65 64 65 20 6C 0A 75 20 61 78 50 34 79 58 6F 6F 0D 3E 3E 55 65 44 6E 47 63 29 6F 2E 70 2D 6D 6E 0A 0A 42 6E 3E | | | | | | | | | | | | | | | | 61 20 4D 68 20 77 30 65 43 20 6E 0D 20 69 69 0A 74 32 54 65 50 65 2E 3A 61 50 65 0A 20 6E 76 20 65 30 0D 2F 48 72 31 20 63 72 63 3C 20 61 65 20 3A 30 0A 31 50 65 0D 74 68 6F 74 68 20 20 72 20 | | | | | | | | | | | | | | | | 20 31 53 2E 2F 64 0A 65 65 78 69 74 20 4E 73 20 54 20 65 33 34 2D 43 78 3A 79 6F 6D 20 75 69 20 68 31 72 2E 2E 42 6F 74 20 53 6E 6C 20 73 74 20 75 32 76 31 30 79 6E 2F 4D 74 3A 3E 20 61 79 20 [00 OK..Date: Thu] [, 21 Jun 2001 12] [:39:30 GMT..Serv] [er: Apache/1.3.1] [2 (Unix) PHP/4.0] [.1..X-Powered-By] [: PHP/4.0.1..Con] [tent-Type: text/] [html..X-Cache: M] [ISS from ProxySt] [aff..Connection:] [ close....<html>] [.<head>. ] [<title>Bina Nusa] [ntara University] [</title>. ] -----cut----- Jika paket terdeteksi bertipe HTTP, maka informasi yang perlu ditampilkan adalah informasi berikut: Source Port, Destinaton Port, dan deskripsi untuk EasyView. Deskripsi ini diambil dari text yang dapat terbaca pada data di field TCP Options dengan kata kunci berupa GET, POST, HTTP. 2. HTTPS (HyperText Transfer Protocol Secure) Berikut ini adalah potongan packet dump dari paket data yang dikirim dengan protokol HTTPS yang berhasil ditangkap: 1 2 3 4 5 6 * * * * * 1 2 3 4 02 25 3F 69 40 32 BB 6B EC 01 B3 62 C0 BB 86 63 | | | | 5 6 7 8 00 04 00 61 00 51 00 2E 76 66 14 63 06 FF 11 6F 9 10 11 12 | | | | 4C C2 69 6D DF 15 62 30 CA 00 61 81 9E 01 6E 9F 13 14 15 16 | | | | 0F 31 6B 30 34 EC 2E 0D 45 0A 50 6B 06 00 14 10 6C 09 [ E.] [[email protected]..] [%2...Qf.....1.P.] [?.......ibank.kl] [ikbca.com0..0...] -----cut----Paket HTTPS adalah paket TCP. Hal ini dibuktikan dar i angka 0x06 pada baris ke-2 dan kolom ke-8. Data kedua yang menunjukkan ciri dari paket HTTPS adalah penggunaan port 443. Angka ini dapat dilihat pada baris ke-3 kolom ke-3 dan ke-4, atau 62 baris ke-3 kolom ke-5 dan ke-6. (Pada contoh diatas, angka yang menunjukkan port 443 ada pada baris ke-3 kolom ke-3 dan ke-4). Jika terdeteksi paket bertipe HTTPS, maka informasi yang perlu ditampilkan adalah informasi berikut: Source Port, Destinaton Port, dan deskripsi untuk EasyView. Karena isi dari paket data yang dik irim dengan protokol HTTPS ini dikirimkan dalam keadaan terenkripsi, maka deskripsi untuk EasyView hanya dapat berupa tampilan text yang menyatakan data tersebut adalah data HTTPS tanpa bisa memberikan keterangan lain. 3. Ping (Packet InterNet Groper) 1 2 1 2 3 4 5 * * * * * 00 25 67 77 3C 63 68 61 3 4 EB 08 69 62 00 00 6A 63 | | | | 5 6 7 8 00 43 6B 64 00 5C 6C 65 20 01 6D 66 01 00 6E 67 9 10 11 12 | | | | 51 09 6F 68 04 0A 14 | 00 61 62 | 70 71 72 | 69 | 13 14 15 16 45 00 [ E.] 25 32 0A 14 [.<.... .Q...%2..] 63 64 65 66 [%c..C\....abcdef] 73 74 75 76 [ghijklmnopqrstuv] [wabcdefghi] Ping menggunakan protokol ICMP. Hal ini dapat dilihat pada baris ke-2 kolom ke-8 (field protocol), yang berisi nilai 0x01 yang berarti ICMP. ICMP terdiri dari 2 jenis, yaitu ICMP request dan ICMP reply. Jika angka pada baris ke-3 kolom ke-3 bernilai 0x08, seperti pada contoh diatas, maka paket tersebut adalah paket ICMP echo request. Sedangkan jika pada kolom ke-3 tersebut bernilai 0x00, maka paket tersebut adalah paket ICMP echo reply. Beberapa tipe lain yang dikenali adalah sebagai berikut. Type 0 3 4 5 6 8 9 Name Echo Reply Destinatio n Unreachable Source Quench Redirect Alternate Host Address Echo Router Advertisement 63 10 11 12 13 14 15 16 17 18 30 31 Router Selection Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply Traceroute Datagram Conversion Error Jika paket terdeteksi bertipe ICMP, maka ambil informasi berupa operasi ICMP dari tipe yang dikenal oleh protokol ICMP diatas. 4. FTP (File Transfer Protocol) Paket FTP dapat dikenali dengan cara melihat apakah angka pada field source atau destination port bernilai 21. Angka 0x15 (21 desimal) pada baris ke-3 kolom ke-3 dan ke-4 merupakan nomor port standar yang dikenal untuk servis ini. FTP menggunakan protokol TCP yang ditunjukkan oleh angka 0x06 pada baris ke-2 kolom ke-8. Berikut ini adalah contoh paket dump dari data FTP: 1 2 3 4 5 6 7 8 * * * * * * * * 1 2 3 4 00 00 16 44 72 6C 20 72 E9 D0 20 20 74 5B D5 00 28 31 28 20 42 66 15 45 2E 50 49 6C | | | | | | | 5 6 7 8 40 08 00 32 72 6E 75 00 1C 00 2E 6F 73 65 3F 16 32 32 46 74 4A 06 87 32 72 54 61 61 9 10 11 12 | | | | | | | 46 AE 30 63 50 6C 63 F7 8F 20 31 44 6C 6B 0A 00 50 20 20 61 65 17 0A 72 53 44 74 74 | | | | | | | 13 14 15 45 1A 15 0A C8 D2 50 6F 46 54 65 72 76 65 66 61 69 6F 6E 73 5D 0D 16 00 15 18 50 65 75 29 0A [ E.] [.r.f@.?.F.......] [..............P.] [..(E..220 ProFTP] [D 1.2.2rc1 Serve] [r (ProFTPD Defau] [lt Installation)] [ [BlueJackets]..] Jika terdeteksi paket bertipe FTP, maka informasi yang perlu ditampilkan adalah informasi berikut: Source Port , Destinaton Port, dan deskrip si untuk EasyView. Deskripsi ini diambil dari text dari paket data FTP yang field datanya hanya terdiri dari 1 baris saja. Ciri dari informasi yang field datanya hanya 1 baris, adalah selalu dimulai 64 pada baris ke-4 kolom ke-7 dan diakhiri dengan karakter end of line (0x0d 0x0a). Jika ternyata informasi yang terdapat pada field data ini lebih dari 1 baris, maka cukup tampilkan bahwa paket ini FTP Data. 5. Telnet Dengan memperhatikan protokol yang dipakai pada baris ke-2 kolom ke-8 yang bernilai 0x06 (TCP) dan nilai port pada baris ke-3 kolom ke-3 dan 4, atau pada kolom ke-5 dan 6 yang bernilai 0x17 (23 desimal), maka paket tersebut dikenal sebagai paket telnet, seperti pada contoh berikut ini. 1 2 3 4 5 6 7 8 * * * * * * * 1 2 3 4 00 00 10 20 6E 20 0A 6D E9 20 52 0D 56 50 00 00 1F 53 0A 65 61 02 17 5C 4D 0D 72 73 | | | | | | | 5 6 7 8 00 04 00 20 0A 69 73 00 16 00 35 55 66 77 FF 71 57 35 73 69 6F 06 88 65 30 65 63 72 9 10 11 12 | | | | | | | A5 05 6C 35 72 61 64 B5 38 63 20 20 74 3A 0A 00 6F 53 41 69 20 15 00 6D 79 63 6F 13 14 15 16 | | | | | | | 00 DD 65 61 63 6E 01 32 20 68 65 0D 45 0A 50 74 64 73 0A C0 15 18 6F 61 73 0D [..H..p........E.] [.m..............] [......q..8...2P.] [. .\..Welcome to] [ RSM 5505 Syahda] [n....User Access] [ Verification...] [.Password: ] Jika terdeteksi paket adalah bertipe Telnet, maka informasi yang perlu ditampilkan adalah informasi berikut: Source Port, Destinaton Port, dan deskripsi untuk EasyView. Deskripsi ini diambil dari text yang dapat terbaca pada data di field TCP Options pada baris pertama saja. Cara untuk mendeteksi apakah text yang dapat terbaca hanya terdiri dari 1 baris adalah dengan memeriksa isi dari baris ke-4 kolom ke-7. Jika berisi 0xFF atau 0x00, maka cukup cetak bahwa paket data ini adalah “Telnet session”, akan tetapi jika berisi selain itu, maka cetak semua karakter yang dapat terbaca (berupa karakter ASCII text saja sampai akhir dari paket data. 65 6. DNS (Domain Name Service) Paket DNS umumnya dapat dikenali dari 2 hal. Yaitu menggunakan protokol UDP yang ditandai oleh nilai 0x11 pada baris ke-2 kolom ke-8 dan menggunakan port 53 yang ditandai oleh nilai 0x35 (53 desimal) pada baris ke-3 kolom ke-3 sampai 4 atau kolom ke-5 sampai 6. 1 2 3 4 5 * * * * * 1 2 3 4 00 59 00 67 40 11 00 32 E3 04 00 30 01 1F 00 30 | | | | 5 6 7 8 00 00 00 30 00 35 00 03 80 00 03 63 11 2C 77 6F 9 10 11 12 | | | | 29 E7 77 6D 01 86 77 00 0A 00 0A 00 15 03 6C 01 | | | | 13 14 15 16 45 00 [ E.] 00 E9 CA 9B [.@......).......] 01 00 00 01 [Y....5.,........] 65 6C 61 6E [.......www.lelan] 00 01 [g2000.com.....] Paket DNS terdiri dari 2 jenis, yaitu paket DNS query dan DNS response. Perbedaannya adalah bit pertama dari parameter DNS (baris ke-3 kolom ke-13). Jika bit pertama dari parameter DNS bernilai ‘0’, maka paket tersebut adalah DNS query dan jika bit pertama bernilai ‘1’, maka paket tersebut adalah DNS response. Pada contoh dibawah., angka pada baris ke-3 kolom ke-13 tersebut adalah 81 (jika dikonversi ke biner menjadi 1010001), ini menandakan paket tersebut adalah paket DNS response akan tetapi jika berisi angka misalnya 01 (jika dikonversi ke biner menjadi 00000001) maka paket tersebut adalah paket DNS query. 1 2 3 4 5 6 7 8 9 10 11 12 13 * * * * * * * * * * * * * 1 2 3 4 00 00 00 67 00 65 00 4E 02 C0 03 03 B4 E9 01 32 01 6C 01 03 95 53 02 06 B3 00 00 30 00 61 00 4E C2 C0 C0 87 35 02 30 01 6E 02 45 00 4E 6B | | | | | | | | | | | | 5 6 7 8 00 04 00 30 00 67 95 54 0D 00 00 00 1F 02 03 01 32 C2 02 0A 01 01 3D 00 03 63 2C 30 00 49 57 00 00 11 A0 77 6F D2 30 11 44 49 01 01 9 10 11 12 | | | | | | | | | | | | 9B C2 77 6D 00 30 04 00 4C 00 00 07 97 77 00 04 03 48 C0 4C 00 00 CA 00 0A 00 CA 63 4F 34 41 26 26 9B 03 6C 01 9E 6F 4F 00 4D 8A 43 13 14 15 16 | | | | | | | | | | | | 59 81 65 00 27 6D 44 02 45 00 00 11 80 6C 01 92 00 03 00 54 04 04 45 0A 00 61 C0 0A 00 43 01 54 CA CA 00 15 01 6E 0C 6C 02 42 00 45 9E 9E [ E.] [......=.....Y...] [...5............] [.......www.lelan] [g2000.com.......] [......,.....'..l] [elang2000.com...] [.........HOOD.CB] [N.NET.ID..4.....] [......WILLAMETTE] [.S.N......&.....] [...k......&C....] [..] 66 Jika terdeteksi paket berupa paket DNS, maka ambil informasi nama DNS yang hendak diresolve dan tampilkan hasilnya meliputi Operation Code, dan Status. Deskripsi untuk EasyView dapat diambil dari text di baris ke-4 kolom ke-8 sampai dengan baris ke-6 kolom ke-6. 7. SMTP (Simple Mail Transport Protocol) Jika sebuah paket menggunakan protokol TCP (0x06), yang ditunjukkan pada baris ke-2 kolom ke-8 dan salah satu dari port asal ataupun port tujuan menggunakan port 25 (0x19) yang ditunjukkan pada baris ke-3, kolom ke-3 dan 4 ataupun kolom ke-5 dan 6, maka kemungkinan besar paket itu adalah paket SMTP. Berikut ini adalah contoh paket SMTP. 1 2 3 4 5 6 7 8 9 * * * * * * * * * 1 2 3 4 00 25 7D 62 50 30 32 3A 7D 63 78 69 20 2F 20 33 27 00 04 6E 53 38 4A 30 EE 19 DD 75 65 2E 75 20 | | | | | | | | 5 6 7 8 40 04 00 73 6E 31 6E 2B 00 5A 00 2E 64 31 20 30 3C C6 32 61 6D 2E 32 37 06 8B 32 63 61 30 30 30 9 10 11 12 | | | | | | | | C3 7B 30 2E 69 3B 30 30 4E FA 20 69 6C 20 31 0D CA 31 73 64 20 46 20 0A 9B 39 69 20 38 72 31 | | | | | | | | 13 14 15 45 59 2C 0A E7 44 50 67 6D 61 45 53 4D 2E 31 31 69 2C 20 30 3A 32 16 00 14 18 2E 54 2E 32 30 [ E.] [.}'.@.<..N..Y,..] [%c...Z..{.19.DP.] [}x....220 sigma.] [binus.ac.id ESMT] [P Sendmail 8.11.] [0/8.11.0; Fri, 2] [2 Jun 2001 10:20] [:30 +0700..] Jika terdeteksi paket adalah bertipe SMTP, maka ambil hanya informasi dari paket data SMTP yang field datanya hanya terdiri dari 1 baris saja. Ciri dari informasi yang field datanya hanya 1 baris, adalah selalu dimulai pada baris ke-4 kolom ke-7 dan diakhiri dengan karakter end of line (0x0d 0x0a). Jika ternyata informasi yang terdapat pada field data ini lebih dari 1 baris, maka cukup tampilkan SMTP Data. 67 8. POP3 (Post Office Protocol 3) Perbedaan antara paket SMTP dengan paket POP adalah pada port asal ataupun port tujuan. Jika salah satu dari port asal atau port tujuan bernilai 110, maka paket tersebut adalah paket POP. Berikut ini adalah contoh paket POP, dimana port asal bernilai 0x6E (110) yang terletak pada baris ke-3, kolom ke-3 & 4. 1 2 3 4 5 6 7 8 9 10 * * * * * * * * * * 1 2 3 4 00 25 22 6F 65 72 61 30 30 8C 63 38 6C 72 20 74 30 30 B0 00 A6 73 6E 28 20 31 20 13 6E B0 74 65 74 46 20 28 | | | | | | | | | 5 6 7 8 40 04 00 69 74 6D 72 31 47 00 5D 00 63 20 29 69 30 4D FB E1 2B 65 4D 20 2C 3A 54 06 DC 4F 20 61 50 20 35 29 9 10 11 12 | | | | | | | | | 7C 13 4B 28 69 4F 32 34 0D 16 4B 20 74 6C 50 32 3A 0A CA 36 62 6D 20 33 20 30 9B 57 65 29 53 20 4A 35 | | | | | | | | | 13 14 15 45 59 2F 0A 95 29 50 74 61 20 20 49 6E 65 72 76 32 2E 30 75 6E 20 20 2D 30 16 00 14 18 53 74 65 20 32 37 [ E.] [....@...|...Y/..] [%c.n.]...K6W.)P.] ["8....+OK beta S] [olstice (tm) Int] [ernet Mail Serve] [r (tm) POP3 2.0 ] [at Fri, 22 Jun 2] [001 10:54:05 -07] [00 (GMT)..] Jika terdeteksi paket adalah bertipe POP, maka ambil hanya informasi dari paket data POP yang field datanya hanya terdiri dari 1 baris saja. Ciri dari informasi yang field datanya hanya 1 baris, adalah selalu dimulai pada baris ke-4 kolom ke-7 dan diakhiri dengan karakter end of line (0x0d 0x0a). Jika ternyata informasi yang terdapat pada field data ini lebih dari 1 baris, maka cukup tampilkan POP Data. 3.4.3.3 Ciri Program Penganalisa Lalu Lintas Jaringan yang Ideal Sebuah program penganalisa lalu lintas jaringan yang ideal setidaknya harus memiliki fasilitas sebagai berikut : 1. Tidak membebani server. Pengguanaan program penganalisa lalu lintas jaringan seharusnya tidak membebani server sedemikian rupa sehingga server masih dapat beroperasi dengan baik dan melayani servis-servis selain program penganalisa lalu 68 lintas jaringan itu sendiri. Hal ini termasuk juga didalam utilisasi processor dan memory pada sistem operasi. 2. Remote. Kemampuan ini dibutuhkan untuk mempermudah administrator jaringan di dalam mengakses program penganalisa lalu lintas jaringan kapanpun dan dimanapun didalam satu sistem jaringan. 3. Kemudahan membaca informasi packet dump. Maksudnya adalah untuk mempermudah administrator jaringan bahkan yang masih pemula untuk dapat mengerti hasil packet dump yang ditampilkan. 4. Rangkuman laporan cerdas. Tidak hanya detil laporan biasa saja, akan tetapi berupa detil laporan yang dapat membantu administrator jaringan untuk mengetahui adanya kemungkinan masalah yang terjadi pada lalu lintas data dalam jaringan. 5. Informasi Grafikal. Kemampua n ini akan mempermudah administrator jaringan dan juga pihak eksekutif untuk membaca hasil laporan dengan mudah. 6. Packet filter (jenis protocol dan range IP address). Fasilitas ini memungkinkan administrator jaringan untuk mengecek hanya pada jenis protokol atau alamat IP tertentu saja. 7. Statistik ukuran paket data. Fasilitas ini berguna untuk memperlihatkan variasi ukuran paket data yang beredar pada jaringan. Dapat berguna sebagai bahan analisa lebih lanjut jika diperlukan. 8. Intrusion Detection. Adalah kemampuan untuk mendeteksi kemungkinan terjadinya sabotase pada jaringan. Intrusion detection ini akan membantu administrator jaringan untuk segera aware dan dapat mengambil tindakan pencegahan secara cepat apabila terjadi tindakan intrusion pada jaringan. 69 9. Intelligent Report. Kemampuan ini berguna agar sniffer dapat menghasilkan laporan yang lebih baik sehingga hasil laporannya mudah dimengerti. 10. Smart learning sniffing. Kemampuan tambahan dengan menggunakan kepandaian buatan sehingga dapat menentukan/memprediksi pola-pola baru penyerangan pada sistem intrusion detection. 11. Data reconstruct. Fasilitas ini dapat digunakan untuk merangkai data yang dikirimkan ke jaringan dan merakitnya lagi menjadi satu file utuh sehingga administrator jaringan dapat melihat/mengambil file yang dikirimkan apabila file tersebut dicurigai berbahaya. 3.5 Perancangan Program Penganalisa Lalu Lintas Jaringan 3.5.1 Perancangan Model Sistem Berikut adalah gambaran perancangan program penganalisa lalu lintas jaringan Sterolex. Pada Gambar 3.5, Sterolex dibuat dalam 2 model. Server dan Client. Untuk program server dibuat dengan menggunakan bahasa C di sistem operasi Linux dan berjalan sebagai sebuah servis tanpa mengeluarkan tampilan apapun kecuali pesan kesalahan pada layar (console mode), sedangkan program untuk client dibuat dengan menggunakan PHP dan menggunakan web server Apache serta memanfaatkan database server MySQL. Semua administrasi dapat dilakukan di client mulai dari Start /stop program server sampai dengan mencetak laporan. Sterolex dapat dijalankan di sistem operasi manapun asalkan pada sistem operasi itu terdapat web browser. 70 Linux Server Tabel_dump MySQL Database Sterolex Apache Web Server PHP Script ery _qu p m _du n bel Ta sio r ses l_use _ l e e b b Ta Ta Client Client Query Response U+P Otorisasi Query Response U+P Otorisasi Query Response U+P Otorisasi Web Browser Client Gambar 3.5 Gambaran perancangan program Sterolex Gambar 3.5 diatas dapat dijelaskan sebagai berikut: • Client berhubungan dengan server melalui interface web browser. Semua aktivitas seperti mengirimkan User ID dan Password (U+P) kemudian memperoleh otorisasi, Query dan Response semuanya dilak ukan melalui perantara web browser. • Web Browser berhubungan dengan server Sterolex melalui Apache web server yang dilayani dengan script PHP. • Script PHP berhubungan langsung dengan MySQL database untuk operasi authentikasi, menjaga user session dan mempero leh hasil query. 71 • Server Sterolex berjalan sebagai servis di server Linux dan selalu mengisi tabel_dump pada MySQL database dengan informasi paket data yang berhasil ditangkap pada saat sniffing. Tahap-tahap perancangan program penganalisa lalu lintas jaringan ini dibagi menjadi 5 tahap yaitu: • Perancangan Struktur Menu • Perancangan State Transition Diagram (STD) • Perancangan Layar • Perancangan Database • Perancangan Modul 3.5.2 Rancangan Struktur Menu Untuk merancang menu ini, penulis menganalisa kebutuhan pengguna untuk menggunakan Sterolex. Adapun menu- menu yang sekiranya dibutuhkan oleh pengguna adalah sebagai berikut: Start/Stop, Query (Duration, Protocol, IP Address), Save, Report (Bandwidth Usage, Packet Size Information, Summary, Detail), Normal/View, Settings, Help dan Logout. Pada Gambar 3.6 berikut, digambarkan struktur menu dari program client Sterolex: 72 Menu Utama Start/ Stop Query Duration Protocol Save IP Address Detail report View Result By Protocol Easy/ Normal View Report Bandwidth usage infor By IP Address Report Summary Settings Help Logout Packet size info Graphics Version By IP Address Graphics Version Gambar 3.6 Diagram Struktur Menu Program Client Berikut penjelasan akan perancangan dari masing-masing menu tersebut: • Start/Stop: Menu ini akan digunakan oleh pengguna yang memiliki hak untuk mengaktifkan atau menon-aktifkan program server Sterolex. Fasilitas menu ini digunakan secara toggle, artinya apabila posisi server Sterolex saat ini sedang aktif, maka akan server Sterolex akan dinon-aktifkan dan demikian juga berlaku untuk sebaliknya. • Query: Menu ini akan digunakan oleh pengguna untuk menampilkan/melihat hasil packet dump yang berhasil diintip dan tersimpan dalam bentuk log file yang masih belum diolah pada server (dalam format binary). Untuk menu Query ini penulis sengaja memisahkan menjadi beberapa filter dengan tujuan 73 agar pengguna dapat lebih fokus hanya ke tampilan data yang diinginkan. Penulis membagi kategori query ini menjadi 3 yaitu: Duration, Protocol, IP Address. o Menu Duration digunakan untuk membatasi rentang waktu. Menu ini digunakan untuk menentukan rentang waktu yang ingin dilihat oleh pengguna untuk dianalisa dimana menu ini akan mengeluarkan hasil analisis berupa data yang diminta pengguna dengan cara mengisikan batas tanggal dan jam awal serta tanggal dan jam akhir. Dari sini data awal akan disaring dan data yang tidak termasuk dalam rentang waktu ini akan dibuang/tidak dianalisa. o Filter kedua adalah berdasarkan Protocol. Pada menu ini pengguna dapat mendefinisikan dengan jelas jenis-jenis protokol yang diinginkan untuk dianalisa. Sterolex menggunakan filter ini untuk memilah jenis paket yang akan diikutkan untuk ditampilkan serta dianalisa. o Filter terakhir adalah berdasarkan IP address. Disini akan terjadi filter terakhir dimana hanya IP address yang dipilih saja yang akan ditampilkan dan dianalisa. IP address ini dapat berupa IP address dari host ataupun sembarang IP address, yaitu dengan mengisikan kata kunci “Any”. Setidaknya sesudah filter Duration diisi, maka pengguna dapat menggunakan menu View Result yang terdapat pada menu Query untuk melihat hasil dari tampilan dari analisa Sterolex terhadap packet dump yang dipilih. Pada sa at Tombol View Result 74 belum ditekan, maka penulis membuat agar menu Start/Stop, Query, Settings, Help dan Logout saja yang dapat diaktifkan. Oleh karena itu tombol View Result ini digunakan sebagai gerbang, dimana setelah tombol ini tekan maka akan menyebabkan banyak menu yang baru dapat aktif. Menu yang baru aktif kemudian setelah tombol ini ditekan adalah: Save, Easy/Normal View dan Report (Bandwidth Usage, Packet Size Information, Summary, Detail). Yang masingmasing akan dijelaskan sebentar lagi. • Save: Menu ini akan gunakan oleh pengguna untuk menyimpan hasil query dalam bentuk laporan detil yang akan disimpan pada harddisk local di workstation client dalam format file text. • Report: Menu ini akan digunakan oleh Sterolex untuk memberikan hasil laporan analisa kepada pengguna. Karena laporan ini memainkan peranan yang sangat penting untuk pengguna karena laporan dapat memberikan informasi yang sekiranya dibutuhkan oleh pengguna, maka menu ini dirancang dengan banyak sub-menu dan dengan hati- hati. Adapun sub-menu yang penulis rancang adalah: Bandwidth Usage Information, Packet Size Information, Summary dan Detail. o Menu Bandwidth usage information memberikan informasi mengenai penggunaan bandwidth oleh protokol atau IP address tertentu. Oleh karena itu menu ini dibagi lagi menjadi 2 sub- menu yaitu: Bandiwdth Usage Information By Protocol dan Bandwidth Usage Information by IP Address. Laporan dalam bentuk grafik juga diberikan untuk 75 meringkas kedua informasi diatas dalam bentuk grafik. Menu untuk melakukan hal ini adalah menu Bandwidth Usage Information Graphics Version. o Jenis laporan kedua yang akan disajikan kepada pengguna adalah berupa menu Packet Size Information. Pada menu ini dilaporkan distribusi ukuran paket data yang beredar di jaringan dan juga dapat ditampilakn secara berurutkan berdasarkan IP address. Laporan untuk bentuk grafiknya adalah berupa menu Packet Size Information Graphics Version. o Dua laporan lain yang akan dibuat adalah Summary dan Detail. Menu Report Summary digunakan untuk menghasilka n rangkuman dari laporan yang bias dibuat oleh Sterolex. Isi dari rangkuman ini berupa Total bandwidth usage, Bandwidth usage by Protocol, Top 15 bandwidth usage by IP Address, Total packet count, Top 15 most packet count by IP address dan Packet list detailed tanpa packet dump dengan tambahan informasi Bandwidth Usage dan Packet Size Information dalam bentuk grafik. Sedangkan isi dari Detail Report terdiri dari Total bandwidth usage, Bandwidth usage by Protocol, Bandwidth usage by IP Address, Total packet count, Packet count by IP address dan Packet list detailed dengan informasi packet dump tetapi tanpa presentasi dalam bentuk grafik. • Easy/Normal View: Menu ini akan digunakan oleh pengguna secara toggle untuk melihat hasil query dengan modus presentasi no rmal (seperti pada 76 program penganalisa lalu lintas jaringan biasa) ataupun dengan modus EasyView dimana presentasi dapat lebih mudah dibaca. Modus EasyView ditampilkan dalam bentuk yang sesuai dengan analisa teknik EasyView diatas. • Settings, menu ini akan digunakan apabila pengguna ingin mengatur beberapa pengaturan pada program Sterolex. Pengaturan yang dirancang adalah adalah auto logoff setelah idle dalam beberapa waktu, mencoba resolve IP ke nama DNS dan mengubah password admin serta user. • Help, menu ini dapat digunakan apabila pengguna membutuhkan bantuan didalam mengakses menu ataupun fasilitas yang disediakan oleh Sterolex. Isi dari menu ini dapat dilihat pada Lampiran Help yang disertakan pada halaman lampiran. • Logout, menu ini akan digunakan oleh pe ngguna yang sudah selesai menggunakan program Sterolex. 77 3.5.3 Perancangan State Transition Diagram Gambar 3.7 dibawah adalah gambaran State Transition Diagram program client Sterolex: Verifikasi User ID dan Password gagal Tampilkan Layar Verifikasi Layar Verfikasi Verifikasi User ID dan Password berhasil Tampilkan Layar Utama Proses selesai Kembali ke Layar Utama Layar Utama Pilih Menu Start/Stop Tampilkan status program server Pilih Menu Logout Tampilkan Layar Logout Pilih Menu Query Tampilkan Layar Query Pilih Menu Help Tampilkan Layar Help Pilih Menu Save Tampilkan Layar Save Pilih Menu Print Tampilkan Layar Detail report Layar Start/ Stop Layar Query Layar Save Pilih Menu Settings Tampilkan Layar Settings Pilih Menu Report Summary TampilkanLayar Report Summary Pilih Menu Easy/ Normal View Tampilkan Layar Easy/ Normal View Layar Detail report Pilih Menu Report Tampilkan Menu Report Layar Easy/ Normal View Layar Report Layar Report Summa ry Layar Settings Layar Help Layar Logout Gambar 3.7 State Transition Diagram Layar Utama Pada Gambar 3.7 ini, sebelum masuk ke state Layar Utama terdapat state Verifikasi, apabila verifikasi berhasil dilewati, maka proses akan berlanjut ke state Layar Utama sedangkan apabila verifikasi masih gagal, maka state verifikasi akan terus diulangi. Ada 10 state yang dapat dituju dari Layar Utama, yaitu: Start/Stop, Query, 78 Save, Detail Report, Easy/Normal View, Report, Report Summary, Settings, Help dan Logout. Masing- masing state dari ke-10 state diatas dapat kembali lagi ke Layar Utama. Layar Utama Pilih Menu Start/Stop Tampilkan status program server Proses Selesai Kembali ke Layar Utama Start/ Stop Gambar 3.8 State Transition Diagram Layar Start/Stop Program Pada Gambar 3.8 ini, dari state Layar Utama, pengguna dapat langsung menuju ke state Start/Stop dan sebaliknya. Layar Utama Pilih Menu Query Tampilkan Layar Query Proses selesai Kembali ke Layar Utama Layar Query Pilih Duration Tampilkan Layar Duration Pilih IP Address Tampilkan Layar IP Address Pilih Protocol Tampilkan Layar Protokol Layar Duration Layar Protocol Layar IP Address Pilih View Result Tampilkan Layar Normal View Layar Normal View Proses Selesai Kembali ke Layar Utama Gambar 3.9 State Transition Diagram Layar Query 79 Pada Gambar 3.9 ini, dari state Layar Utama, pengguna dapat langsung menuju ke state Query. Dari state Query ini pengguna dapat menuju ke-3 state lainnya, yaitu: Duration, Protocol dan IP Address. Setiap dari 3 state diatas dapat langsung menuju ke state Normal View dengan menekan tombol View Result . Pada state View Result ini, pengguna dapat langsung kembali ke state Layar Utama. Layar Utama Layar Query Pilih Duration Tampilkan Layar Duration Pilih Tanggal Awal Tampilkan Tanggal Awal Pilih Jam Awal Tampilkan Jam Awal Layar Duration Pilih Tanggal Akhir Tampilkan Tanggal Akhir Pilih Jam Akhir Tampilkan Jam Akhir Pilih View Result Tampilkan Normal View Proses Selesai Kembali ke Layar Utama Layar Normal View Pilih Menu easy/ Normal View Tampilkan Easy view Pilih Menu easy/ Normal View TampilkanNormal view Layar Easy View Proses Selesai Kembali ke Layar Utama Gambar 3.10 State Transition Diagram Layar Query Duration Pada Gambar 3.10 ini ditampilkan detil state Query Duration. Pada state ini, pengguna dapat memasukkan entri berupa Tanggal Awal, Jam Awal, Tanggal Akhir dan Jam Akhir. Setelah pengguna menekan tombol View Result, maka program akan menuju 80 ke state Normal View. Pengguna dapat berpindah-pindah dari state Normal View ke EasyView dan seterusnya atau kembali ke State Query. Layar Utama Layar Query Pilih Protocol Tampilkan Layar Protokol Klik di Check Box Tampilkan tanda checked Layar Protocol Pilih View Result Tampilkan Normal View Proses Selesai Kembali ke Layar Utama Pilih Menu easy/ Normal View Tampilkan Easy view Layar Normal View Layar Easy View Pilih Menu easy/ Normal View TampilkanNormal view Proses Selesai Kembali ke Layar Utama Gambar 3.11 State Transition Diagram Layar Query Protocol Pada Gambar 3.11 ini ditampilkan detil state Query Protocol. Pada state ini, pengguna dapat memasukkan entri berupa pilihan jenis protokol yang diinginkan, seperti IP, TCP, UDP, ICMP. Setelah selesai memilih dan pengguna menekan tombol View Result, maka program akan menuju ke state Normal View. Pengguna dapat berpindahpindah dari state Normal View ke EasyView dan seterusnya atau kembali ke State Query. 81 Proses Selesai Kembali ke Layar Utama Layar Utama Layar Query Pilih IP Address Tampilkan Layar IP Address Ketik IP Address di Station1 Tampilkan IP Address di Station1 Ketik IP Address di Station2 Tampilkan IP Address di Station2 Layar IP Address Pilih View Result Tampilkan Layar Normal View Proses Selesai Kembali ke Layar Utama Pilih Direction Tampilkan Direction Layar Normal View Pilih Menu easy/ Normal View Tampilkan Layar Easy view Layar Easy View Pilih Menu easy/ Normal View Tampilkan Layar Normal view Gambar 3.12 State Transition Diagram Layar Query IP Address Pada Gambar 3.12 ini ditampilkan detil state Query IP Address. Pada state ini, pengguna dapat memasukkan entri berupa pilihan alamat IP address (station 1 dan station 2) dan juga jenis direction yang diinginkan. Setelah selesai memilih dan pengguna menekan tombol View Result, maka program akan menuju ke state Normal View. Pengguna dapat berpindah-pindah dari state Normal View ke EasyView dan seterusnya atau kembali ke State Query. 82 Layar Utama Pilih Cancel Kembali ke Layar Utama Pilih Menu Save Tampilkan Layar Save Layar Save Proses selesai Kembali ke Layar Utama Data tersimpan Pilih Save Simpan data Gambar 3.13 State Transition Diagram Layar Save Pada Gambar 3.13, dari state Layar Utama, pengguna dapat menuju State Save dengan menekan tombol Save. Setelah masuk state ini terdapat 2 pilihan yaitu Ok atau Cancel. Apabila pengguna memilih Ok, maka program akan menyimpan data ke file dan langsung kembali ke state Layar Utama, akan tetapi jika pengguna memilih Cancel, maka program akan langsung ke state Layar Utama tanpa menyimpan data ke file. Layar Utama Pilih Menu Print Tampilkan Layar Report Detail Layar Report Detail Proses selesai Kembali ke Layar Utama Pilih Menu Print Now Cetak Tampilan Tampilan tercetak Gambar 3.14 State Transition Diagram Menu Print 83 Pada Gambar 3.14, dari state Layar Utama, pengguna dapat menuju State Detail Report dengan menekan tombol Print. Setelah masuk state ini terdapat pilihan untuk mencetak. Apabila pengguna memilih tombol Print, maka program akan mencetak data ke printer dan kemudian kemb ali ke state Layar Utama. Layar Utama Pilih Menu Easy/Normal Tampilkan Layar Normal View Proses Selesai Kembali ke Layar Utama Pilih Menu easy/ Normal View Tampilkan Easy view Layar Normal View Layar Easy View Pilih Menu easy/ Normal View TampilkanNormal view Proses Selesai Kembali ke Layar Utama Gambar 3.15 State Transition Diagram Layar Normal/EasyView Pada Gambar 3.15 ini, dari state Layar Utama, pengguna dapat menuju ke state Normal View dengan menekan tombol Normal/EasyView. Akan tetapi tombol ini hanya dapat ditekan apabila pengguna sudah terlebih dahulu menekan tombol View Result dari sub menu Query. Setelah masuk ke state Normal View, pengguna dapat berpindahpindah dari state Normal View ke EasyView dan seterusnya atau kembali ke State Query. 84 Layar Utama Pilih Menu Report Tampilkan Layar Report Layar Report Pilih Bandwidth Usage Information Tampilkan Bandwidth Usage Information Pilih Packet Size Information Tampilkan Packet Size Information Layar Bandwidth Usage Information Layar Packet Size Information Pilih Summary Tampilkan Summary Proses Selesai Kembali ke Layar Utama Pilih Complete Tampilkan Complete Layar Complete Layar Summary Gambar 3.16 State Transition Diagram Layar Report Pada Gambar 3.16 ini, pada state Report pengguna dapat menuju ke-4 state yang diinginkan yaitu: Bandwidth usage information, Packet size information, Complete dan Summary. Masing-masing state tersebut akan memberikan laporan dengan presentasi tampilan informasi yang berbeda-beda. Dari ke-4 state tersebut, pengguna dapat kembali ke state Layar Utama. 85 Layar Report Pilih Bandwidth Usage Information Tampilkan Bandwidth Usage Information Layar Bandwidth Usage for IP Address by Protocol Pilih Salah satu IP Address yang Ada Tampilkan Bandwidth Usage for IP Address by Protocol Layar Bandwidth Usage Information (Text) Pilih Graphics Version Tampilkan Graphics Version Pilih Text Version Tampilkan Text Version Layar Bandwidth Usage Information (Graphics) Pilih Salah satu Protocol yang Ada Tampilkan Bandwidth Usage for Protocol by IP Address Layar Bandwidth Usage for Protocol by IP Address Gambar 3.17 State Transition Diagram Layar Report Bandwidth Usage Information Pada Gambar 3.17 ini, dari state Bandwidth usage information text version, pengguna dapat menuju ke-3 state yaitu: Bandwidth usage information by Protocol, Bandwidtdh usage information by IP Address dan Bandwitdh usage information Graphics Versions. Dari state Bandwidth usage information by Protocol, Bandwidtdh usage information by IP Address pengguna dapat menuju ke state Bandwidth usage information Text Version. Pada state Bandwitdh usage information Graphics Versions pengguna dapat langsung menuju ke state Bandwidth usage information Text Version dan sebaliknya, ataupun langsung ke state Layar Utama. 86 Layar Report Pilih Packet Size Information Tampilkan Packet Size Information Layar Packet Statistic for IP Address Pilih Salah satu IP Address yang Ada Tampilkan Packet Statistic for IP Address Layar Packet Size Information (Text) Pilih Graphics Version Tampilkan Graphics Version Pilih Text Version Tampilkan Text Version Layar Packet Size Information (Graphics) Gambar 3.18 State Transition Diagram Layar Report Packet Size Information Pada Gambar 3.18 ini, dari state Packet size information text version, pengguna dapat menuju ke-2 state yaitu: Packet Statistic for IP Address dan Packet size information Graphics Versions. Dari state Packet size information text v ersion pengguna dapat menuju ke state Layar Utama. Pada state Packet size information Graphics Versions pengguna dapat langsung menuju ke state Bandwidth usage information Text Version dan sebaliknya, ataupun langsung ke state Layar Utama. Layar Report Pilih Complete Tampilkan Tampilan Complete Layar Complete Proses selesai Kembali ke Layar Utama Tampilan tercetak Gambar 3.19 State Transition Diagram Layar Report Complete 87 Pada Gambar 3.19 ini, dari state Report, pengguna langsung dibawa ke state Complete Report apabila menekan tombol Complete pada sub menu Report, dan pengguna dapat langsung menuju ke state Layar Utama jika diinginkan. Layar Report Pilih Summary Tampilkan Layar Report Summary Proses Selesai Kembali ke Layar Utama Layar Tampilan tercetak Pilih Menu Print Now Cetak Tampilan Layar Report Summary Gambar 3.20 State Transition Diagram Layar Report Summary Pada Gambar 3.20 ini, dari state Report, pengguna langsung dibawa ke state Report Summary apabila menekan tombol Summary pada sub menu Report, dan pengguna dapat langsung menuju ke state Layar Utama jika diinginkan. Layar Utama Pilih Menu Report Summary Tampilkan Layar Report Summary Proses Selesai Kembali ke Layar Utama Tampilan tercetak Pilih Menu Print Now Cetak Tampilan Layar Report Summary Gambar 3.21 State Transition Diagram Layar Menu Report Summary Pada Gambar 3.21 ini, dari state Layar Utama, pengguna langsung dibawa ke state Report Summary apabila menekan to mbol Report Summary pada menu Layar 88 Utama. Pada state ini pengguna juga dapat menuju state Print apabila pengguna menekan tombol Print. Layar Utama Pilih Menu Settings Tampilkan Menu Settings Proses Selesai Kembali ke Layar Utama Ketik Current Admin Password Tampilkan Asterisk Ketik New Admin Password Tampilkan Asterisk Layar Data Tersimpan Ketik New Admin Password lagi Tampilkan Asterisk Pilih Save Simpan Data Ketik Current User Password Tampilkan Asterisk Layar Settings Ketik New User Password Tampilkan Asterisk Ketik New User Password lagi Tampilkan Asterisk Ketik Minutes for Auto Logoff Tampilkan Menit Gambar 3.22 State Transition Diagram Layar Settings Pada Gambar 3.22 ini, dari state Layar Utama, pengguna langsung dibawa ke state Settings apabila menekan tombol Settings pada menu Layar Utama. Pada state ini pengguna dapat mengatur fasilitas Auto Logoff dan mengubah password user serta admin. Pengguna langsung dibawa ke state Layar Utama apabila pengguna menekan tombol Save. 89 Layar Utama Pilih Menu Help Tampilkan Menu Help Pilih salah satu Index Help Tampilkan Help Text Proses Selesai Kembali ke Layar Utama Layar Help Gambar 3.23 State Transition Diagram Layar Help Pada Gambar 3.20 ini, dari state Layar Utama, pengguna dapat langsung menuju ke state Help dan sebaliknya. Dari state ini pengguna dapat memilih link yang diinginkan dan layar bantuan ditampilkan dalam state yang sama. Layar Utama Pilih Menu Logout Tampilkan Layar Logout Layar Logout Gambar 3.24 State Transition Diagram Layar Logout Pada Gambar 3.24 ini, dari state Layar Utama, pengguna dapat langsung menuju ke state Logout dan setelah itu program akan mengakhiri sesinya. State ini adalah final state pada program ini. 90 3.5.4 Rancangan Layar Pada program server, tidak ada rancangan layar karena program server dibuat sebagai sebuah service pada sistem operasi Linux. Rancangan layar pada program client meliputi 24 rancangan layar. Pada layar pertama akan digambarkan rancangan layar login seperti yang terlihat pada Gambar 3.25. Network Traffic Analyzer Logo User XXXXXX Password ******* Login STEROLEX STEphanus Ridwan ROny Baskoro Lukito ALEX (c) 07.2001 Gambar 3.25 Rancangan Layar Logon Layar ini terdiri dari tulisan Network Traffic Analyzer, logo, text box User, text box Password dan nama pembuat. Apabila login gagal, maka akan ditampilkan Layar Invalid Login (Gambar 3.26) dan program akan meminta pemakai untuk melakukan login ulang. Tetapi jika User dan Password diterima maka akan ditampilkan Layar Utama (Gambar 3.27). 91 Network Traffic Analyzer Logo Invalid User/Password User XXXXX Password ******** STEROLEX STEphanus Ridwan ROny Baskoro Lukito ALEX (c) 07.2001 Login Gambar 3.26 Rancangan Layar Invalid Login Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Help Press Query to begin analyze..... Gambar 3.27 Rancangan Layar Utama Logo ut 92 Pada Gambar 3.27 ini, Layar Utama memiliki sebuah toolbar pada baris atas yang terdiri dari beberapa tombol berikut: Start/Stop (Gambar 3.28), Query (Gambar 3.29), Save (Gambar 3.33), Print (Gambar 3.34), Easy/Normal View (Gambar 3.32), Report (Gambar 3.36), Report Summary (Gambar 3.44), Settings (Gambar 3.45), Help (Gambar 3.46) dan Logout (Gambar 3.47). Awalnya, hanya tombol Start/stop, Query, Settings, Help dan Logout saja yang dapat ditekan (enable). Tombol lainnya hanya dapat ditekan (enable) setelah pemakai melakukan query dengan menekan tombol query. Tombol Start/Stop berupa toggle, dapat berupa 2 gambar (icon) yang berbeda. Apabila program server dalam keadaan tidak aktif, maka gambar pada tombol akan berbentuk seperti berikut: [ u ], akan tetapi jika program server sudah dalam keadaan aktif, maka gambar pada tombol akan berbentuk seperti: [ ¢ ]. Apabila tombol Start/Stop ditekan, maka program akan menampilkan Gambar 3.28. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Help Service has been started/stopped Gambar 3.28 Rancangan Layar Start/Stop Program Server Logo ut 93 Jika pemakai ingin menampilkan hasil sniffing yang dilakukan oleh program server, maka pemakai dapat menekan tombol query seperti pada Gambar 3.29 berikut. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Help Logo ut Filter Category Duration Protocol IP Address View Result Gambar 3.29 Rancangan Layar Query Layar ini digunakan oleh pemakai untuk menampilkan hasil sniffing yang dilakukan oleh program server berdasarkan kriteria yang dapat diatur sendiri oleh pemakai. Kriteria atau filter yang dapat diatur oleh pemakai untuk menampilkan hasil sniffing berdasarkan kategori Duration (Gambar 3.30), kategori Protocol (Gambar 3.31) dan kategori IP Address (Gambar 3.32). Setelah pemakai mengisi kriteria rentang waktu (Duration), maka pemakai baru dapat menekan tombol View Result yang sebelumnya tidak dapat ditekan (disable). Setelah tombol View Result ditekan, maka semua tombol pada toolbar baru dapat ditekan (enable). Hasil dari View Result dapat dilihat pada Gambar 3.32. 94 Start/ Stop Query Save Filter Category Print Easy /Nor Repo rt Rept Sum Setti ngs Help Logo ut Duration From: q Date q q Time q q To: Date q q Time q q Duration Protocol IP Address q View Result Gambar 3.30 Rancangan Layar Kriteria Duration Pada rancangan layar ini, terdapat beberapa combo box yang harus diisi dengan tanggal, bulan, tahun, jam dan menit. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Help Select Protocol: Filter TCP Category Duration Protocol IP Address View Result HTTP HTTPS FTP Telnet POP3 SMTP DNS Lotus Note NNTP Others UDP DNS NFS Others ICMP Gambar 3.31 Rancangan Layar Kriteria Protocol Logo ut 95 Rancangan layar kriteria protokol memiliki 3 check box kategori untuk memilih jenis protokol. Ke-3 check box itu adalah pilihan untuk TCP, UDP dan ICMP dimana masing-masing kategori masih memiliki sub kategori lagi. Yaitu: HTTP, HTTPS, FTP, Telnet, POP3, SMPT, DNS, Lotus Note, NNTP, DNS (UDP), NFS dan 2 textbox untuk mengisi nomor port pada TCP dan UDP. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Logo ut Help IP Address Filter Station 1 Category Direction Station 2 Duration Protocol IP Address View Result Apply Gambar 3.32 Rancangan Layar Kriteria IP Address Pada rancangan layar ini, terdapat 5 text box Station1 dan 5 text box Station2 yang digunakan untuk mengisi IP address. Disamping itu juga terdapat 5 pasang radio button yang digunakan untuk memilih arah (direction). 96 DETAIL REPORT Created on 30 Jul 2001 23:55 Save As Bandwidth Usage: ___ Protocol: Save in: xxxx xxxx xxxx xxxxx xxxx xxxxx xxxx xxxx Bandwidth usage by IP Address xxxx xxxxx xxxx xxxxx xxxx xxxxx xxxx xxxxx Packet statistics : ____ total count xxx-xxx : nnn xxx-xxx : nnn packet count by IP Address xxxx xxxx xxxx xxxx File name: *.txt xxxx xxxx xxxx xxxx q S Save as type: Text Documents (*.txt) Packet lit deailed: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Save Cancel Gambar 3.33 Rancangan Layar Save Pada Gambar 3.33 diatas, ditampilkan rancangan layar Save. Pada layar save ini, dilatar belakang selalu ditampilkan layar Report Detil terlebih dahulu. Pada layar ini akan dibuka new window pada web browser. Dialog box “Save As” menggunakan default dari sistem operasi Windows (jika client menggunakan sistem operasi Windows). Isi dari dialog box itu adalah text box Save In, List nama file, text box File name dan Save as type, dengan 2 button yaitu Save dan Cancel. Jika tidak menggunakan sistem operasi Windows, maka tampilan akan disesuaikan dengan sistem operasi dan web browser yang digunakan oleh pemakai. 97 DETAIL REPORT Created on 30 Jul 2001 23:55 Bandwidth Usage: ___ Protocol: xxxx xxxx xxxx xxxxx xxxx xxxxx xxxx xxxx Bandwidth usage by IP Address xxxx xxxxx xxxx xxxxx xxxx xxxxx xxxx xxxxx 2 Packet statistics : ____ total count xxx-xxx : nnn xxx-xxx : nnn packet count by IP Address xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 4 1 3 5 Packet list detailed: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Gambar 3.34 Rancangan Layar Print Rancangan layar ini ditampilkan apabila pengguna menekan tombol Print. Pada saat tombol Print ditekan, maka hasil laporan detil akan ditampilkan pada layar baru. Berikut contoh tampilan pada area nomor 1: Total bandwidth usage : 10459kb Bandwidth usage by protocol HTTP : 8945kb (78.81%) FTP : 1024kb (12.75%) POP3 : 564kb ( 5.89%) SMTP : 56kb ( 0.54%) --dan seterusnya— Angka persen pada rancangan layar diatas didapat dari penggunaan bandwidth per protokol dibagi total bandwidth usage dikalikan 100%. 98 Berikut contoh tampilan pada area nomor 2: Bandwidth usage by IP address 10.10.10.1 in: 144kb (%) out: 801kb (%) 10.10.10.15 in: 43kb (%) out: 198kb (%) 10.10.20.22 in: 257kb (%) out: 307kb (%) --dan seterusnya— total: 945kb (37.01%) total: 241kb (13.22%) total: 564kb (20.98%) Angka persen pada rancangan layar diatas didapat dari penggunaan bandwidth per IP dibagi total bandwidth usage dikalikan 100% Berikut contoh tampilan pada area nomor 3: Total packet count : 151223 0-75 b : 212 ( 7.12%) 76-150b : 65 ( 2.11%) 151-225b : 220 ( 7.34%) 226-300b : 54 ( 1.99%) 301-375b : 16 ( 0.45%) 376-450b : 200 ( 7.12%) 451-525b : 1023 (34.66%) --dan seterusnya--- Berikut contoh tampilan pada area nomor 4: Packet count by IP address 10.10.10.1 in: 144 (%) out: 801 (%) 10.10.10.15 in: 43 (%) out: 198 (%) 10.10.20.22 in: 257 (%) out: 307 (%) --dan seterusnya— total: 945 (37.01%) total: 241 (13.22%) total: 564 (20.98%) Berikut contoh tampilan pada area nomor 5: Packet list detailed Filter apply Duration : 29 July 2001 23:15 To 30 July 2001 00:30 Protocol : ICMP, DNS, HTTP IP address : 10.21.0.233 < -> Any Or 10.20.37.99 --> 10.21.0.45 No : 01 ----- IPv4 Header ----Version = 4 Header length = 20 bytes 99 Type of service = 0x00 Total length = 1500 bytes Identification = 30162 Flags = 0x04 Fragment offset = 0 bytes Time to live = 63 seconds/hops Protocol = 6 (TCP) Header checksum = 0x6D55 Source address = [202.155.89.19] Destination address = [10.20.37.50] No IP options ----- TCP Header ----Source port = 80 (http) Destination port = 1042 Sequence number = 3690248207 Acknowledgement number = 90694 Header length = 20 bytes Flags = **P*** Window = 32120 Checksum = 0x5329 Urgent pointer = 0 No TCP options ----- HTTP Server Reply ----[1460 byte(s) of data] HTTP/1.0 200 OK Date: Thu, 21 Jun 2001 12:39:30 GMT ========================================================================== * 00 A0 24 70 | FA 55 00 03 | FE DE 0C 00 | 08 00 45 00 [..$p.U........E.] * 05 DC 75 D2 | 40 00 3F 06 | 6D 55 CA 9B | 59 13 0A 14 [..u.@.?.mU..Y...] * 25 32 00 50 | 04 12 DB F4 | B8 0F 00 01 | 62 46 50 18 [%2.P........bFP.] * 7D 78 53 29 | 00 00 48 54 | 54 50 2F 31 | 2E 30 20 32 [}xS)..HTTP/1.0 2] * 30 30 20 4F | 4B 0D 0A 44 | 61 74 65 3A | 20 54 68 75 [00 OK..Date: Thu] * 2C 20 32 31 | 20 4A 75 6E | 20 32 30 30 | 31 20 31 32 [, 21 Jun 2001 12] * 3A 33 39 3A | 33 30 20 47 | 4D 54 0D 0A | 53 65 72 76 [:39:30 GMT..Serv] * 65 72 3A 20 | 41 70 61 63 | 68 65 2F 31 | 2E 33 2E 31 [er: Apache/1.3.1] * 32 20 28 55 | 6E 69 78 29 | 20 50 48 50 | 2F 34 2E 30 [2 (Unix) PHP/4.0] * 2E 31 0D 0A | 58 2D 50 6F | 77 65 72 65 | 64 2D 42 79 [.1..X-Powered-By] * 3A 20 50 48 | 50 2F 34 2E | 30 2E 31 0D | 0A 43 6F 6E [: PHP/4.0.1..Con] * 74 65 6E 74 | 2D 54 79 70 | 65 3A 20 74 | 65 78 74 2F [tent-Type: text/] * 68 74 6D 6C | 0D 0A 58 2D | 43 61 63 68 | 65 3A 20 4D [html..X-Cache: M] * 49 53 53 20 | 66 72 6F 6D | 20 50 72 6F | 78 79 53 74 [ISS from ProxySt] * 61 66 66 0D | 0A 43 6F 6E | 6E 65 63 74 | 69 6F 6E 3A [aff..Connection:] * 20 63 6C 6F | 73 65 0D 0A | 0D 0A 3C 68 | 74 6D 6C 3E [ close....<html>] * 0A 3C 68 65 | 61 64 3E 0A | 20 20 20 20 | 20 20 20 20 [.<head>. ] * 3C 74 69 74 | 6C 65 3E 42 | 69 6E 61 20 | 4E 75 73 61 [<title>Bina Nusa] * 6E 74 61 72 | 61 20 55 6E | 69 76 65 72 | 73 69 74 79 [ntara University] * 3C 2F 74 69 | 74 6C 65 3E | 0A 20 20 20 | 20 20 20 20 [</title>. ] * 20 3C 6C 69 | 6E 6B 20 72 | 65 6C 3D 22 | 73 74 79 6C [ <link rel="styl] * 65 73 68 65 | 65 74 22 20 | 68 72 65 66 | 3D 22 62 73 [esheet" href="bs] * 74 79 6C 65 | 2E 63 73 73 | 22 3E 0A 3C | 2F 68 65 61 [tyle.css">.</hea] * 64 3E 09 0A | 3C 62 6F 64 | 79 20 6C 65 | 66 74 6D 61 [d>..<body leftma] * 72 67 69 6E | 3D 22 30 22 | 20 74 6F 70 | 6D 61 72 67 [rgin="0" topmarg] * 69 6E 3D 22 | 30 22 3E 0A | 3C 21 2D 2D | 20 57 68 6F [in="0">.<!-- Who] * 6C 65 20 74 | 61 62 6C 65 | 20 2D 2D 3E | 20 0A 3C 74 [le table --> .<t] * 61 62 6C 65 | 20 63 65 6C | 6C 70 61 64 | 64 69 6E 67 [able cellpadding] * 3D 22 30 22 | 20 63 65 6C | 6C 73 70 61 | 63 69 6E 67 [="0" cellspacing] * 3D 22 30 22 | 20 62 6F 72 | 64 65 72 3D | 22 30 22 20 [="0" border="0" ] * 77 69 64 74 | 68 3D 22 31 | 30 30 25 22 | 3E 0A 20 20 [width="100%">. ] * 3C 74 72 3E | 20 0A 20 20 | 20 20 3C 74 | 64 20 61 6C [<tr> . <td al] * 69 67 6E 3D | 22 63 65 6E | 74 65 72 22 | 3E 20 3C 21 [ign="center"> <!] * 2D 2D 20 48 | 65 61 64 65 | 72 20 42 69 | 6E 61 20 4E [-- Header Bina N] * 75 73 61 6E | 74 61 72 61 | 20 2D 2D 3E | 20 0A 20 20 [usantara --> . ] * 20 20 20 20 | 3C 74 61 62 | 6C 65 20 63 | 65 6C 6C 70 [ <table cellp] 100 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 61 70 72 33 30 72 64 65 65 69 65 77 68 30 61 79 61 20 68 72 3C 0A 72 20 6E 20 74 6E 6C 20 74 6E 76 20 79 65 65 20 26 20 75 69 6F 20 62 20 20 3D 67 61 33 3D 20 3E 26 20 3E 2D 2D 64 61 3D 33 30 3E 20 69 66 6D 61 69 74 22 6E 20 3E 20 74 22 21 20 6D 61 2F 20 20 61 75 20 20 61 61 20 70 3D 3D 20 6E 20 74 7A 72 20 73 20 74 73 65 72 33 53 61 0A 6E 20 0A 2D 2D 64 63 22 33 25 20 61 67 3D 67 64 64 3D 20 74 2D 3C 3C 22 20 2D 20 20 63 68 20 74 6D 65 20 74 6D 6C 20 65 22 22 20 62 20 20 65 64 20 70 20 79 65 2F 63 09 65 6C 20 62 20 20 20 3E 69 69 30 33 22 0A 6C 68 22 20 65 74 22 61 61 20 2F 74 20 68 2D 20 6D 74 74 20 79 65 3D 20 79 65 75 20 3D 65 22 20 73 20 74 3D 73 20 3B 20 70 61 62 68 68 61 69 20 73 20 20 45 20 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6E 6E 22 33 3E 20 69 74 69 73 72 68 36 6C 72 48 74 64 63 65 20 20 65 69 73 20 70 3D 22 20 70 3D 65 20 22 78 3E 53 70 20 79 22 22 20 26 20 65 72 75 2E 65 72 67 20 70 20 20 4E 3C 67 67 20 33 0A 20 67 3D 6E 72 5F 3D 33 74 61 6F 64 20 6C 69 53 20 74 6F 65 20 65 22 68 20 65 22 3D 20 68 63 0A 20 3B 20 70 31 20 20 6E 20 3D 63 74 67 69 63 6E 20 3B 20 20 44 73 3D 3D 62 22 20 20 6E 22 64 63 6C 22 22 3D 20 6D 3E 61 61 67 65 20 68 6E 61 20 3D 63 74 20 3D 72 22 20 69 6C 20 45 26 20 65 35 76 20 62 20 69 68 74 69 67 68 3D 20 26 20 20 20 70 No : 02 ----- IPv4 Header ----Version = 4 22 22 67 20 20 20 3D 36 65 3D 65 33 20 22 55 65 0A 6C 73 68 61 20 6F 3D 72 20 22 6F 64 20 22 65 22 20 64 75 20 20 6E 20 3D 22 61 20 73 20 6D 20 6F 66 68 20 61 20 6E 20 20 3A 61 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 30 30 63 77 20 20 22 30 78 22 66 31 62 42 6E 70 20 69 73 74 72 20 64 22 63 20 68 6E 69 20 68 73 3E 3C 64 64 20 41 62 20 22 20 6C 20 70 20 61 73 6E 22 74 62 62 20 62 20 20 20 6E 22 22 6F 69 20 20 6C 22 2E 69 74 30 6F 69 69 61 20 67 3D 3D 63 20 3D 2F 68 20 69 66 67 20 69 74 0A 69 65 65 20 20 73 20 74 6E 75 20 3B 20 67 72 2F 20 3D 6F 73 20 73 20 20 53 20 20 20 6C 64 20 20 65 3E 68 6D 2E 22 72 6E 76 67 20 6E 22 22 68 20 22 63 22 20 64 69 22 20 64 72 20 6E 6E 22 20 52 70 20 65 61 65 20 20 3C 65 63 62 77 32 72 6D 20 70 3C 20 65 63 62 6F 74 20 20 66 3C 74 61 6A 20 64 61 65 65 20 3D 68 36 20 20 70 67 3E 3C 64 67 3E 3C 64 69 20 70 22 20 20 20 3B 20 78 6D 3D 20 0A 69 20 3D 74 69 30 64 69 20 3B 2F 20 61 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 65 6F 72 68 20 20 74 61 6D 67 70 68 65 20 72 22 20 22 65 30 2D 20 6F 69 0A 69 65 22 0A 69 65 63 20 75 20 76 20 43 20 3C 74 65 22 20 20 6E 6E 22 6E 64 20 65 64 20 20 66 20 72 6C 72 3D 3D 20 20 22 20 22 65 67 65 72 4E 73 3E 20 72 61 22 2D 3C 73 2D 20 6E 6E 20 20 6E 6E 74 20 74 6E 61 20 20 0A 69 22 3D 22 20 20 70 61 69 5F 74 61 72 64 20 0A 6F 20 63 6C 64 22 22 3C 3C 20 68 3E 2F 22 69 3D 75 69 3C 20 69 64 3E 3E 66 74 62 20 70 22 76 20 70 22 22 20 20 61 6C 20 48 20 6E 20 22 3E 26 20 75 6D 6D 73 68 6C 3D 6C 20 20 72 3C 68 73 65 23 31 74 74 68 72 3C 68 20 67 22 73 74 2F 20 67 65 20 20 6F 22 69 20 75 20 61 20 75 20 20 20 74 6D 75 20 20 20 70 73 77 0A 6E 20 74 65 61 65 3D 74 30 65 20 20 6D 21 20 [adding="0" cells] [pacing="0" borde] [r="0" bgcolor="#] [333333" width="1] [00%">. <t] [r> . <t] [d align="left" h] [eight="60"><a hr] [ef="index.htm"><] [img src="image/h] [eader_left.jpg" ] [width="310" heig] [ht="63" border="] [0" alt="Bina Nus] [antara Universit] [y - Homepage"></] [a></td>. ] [ <td align="rig] [ht" class="heade] [r" height="60"> ] [<!-- Search --> ] [. <fo] [rm method="post"] [ action="/cgi-bi] [n/htsearch">. ] [ <inpu] [t type="hidden" ] [name="config" va] [lue="htdig">. ] [ <inpu] [t type="hidden" ] [name="restrict" ] [value="">. ] [ <input t] [ype="hidden" nam] [e="exclude" valu] [e="">. ] [ S E A R C H ] [&nbsp;&nbsp; . ] [ <inp] [ut type="text" s] [ize="15" name="w] [ords" value="">.] [ &n] [bsp;&nbsp; . ] [ <input] [ type=image name] [=search src="ima] [ge/button/btn_se] [arch.gif" width=] [33.height=20 alt] [=Search border=0] [ align=absmiddle] [>. ] [&nbsp;&nbsp; . ] [ </form] [>. <!] [-- END : Search ] [--> <span ] 101 Header length = 20 bytes Type of service = 0x00 Total length = 1500 bytes --dan seterusnya— Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Help Logo ut List packet listened DETAIL PACKET INFORMATION List packet listened List packet listened xxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx 2 1 List packet listened List packet listened List packet listened List packet listened List packet listened List packet listened List packet listened HEXA HEXA HEXA HEXA HEXA (DUMP (DUMP (DUMP (DUMP (DUMP FILE) FILE) FILE) FILE) FILE) 3 Gambar 3.35 Rancangan Layar Result Berikut adalah rancangan layar apabila pemakai menekan tombol View Result pada menu Query. Terdapat tiga area pada layar ini. Area kiri berisi semua informasi paket secara detil, area kanan atas berisi deskripsi singkat setiap paket yang dianalisa, sedangkan area kanan bawah, berisi isi dari tiap-tiap paket yang dianalisa (packet dump). Awalnya (by default) data pada area kanan atas akan disajikan dalam bentuk normal, seperti layaknya program sniffer lain. Bentuk normal itu berisi informasi sebagai berikut: Tipe koneksi, Source IP Address, Destination IP Address, Source Port, Destination Port, Sequence Number, Acknowledgement, Length, Description, Time, dll. Dalam mode normal ini, gambar ( icon) pada tombol Easy/Normal akan berupa: [ Eà N ] 102 sedangkan jika tombol tersebut ditekan, maka gambar (icon) tombol akan berubah menjadi: [ NàE ] dan program akan memasuki mode EasyView. Ada beberapa perbedaan antara Normal View dan EasyView . Pada mode EasyView , informasi pada area kanan atas, akan disajikan dalam bentuk yang lebih friendly. Berikut rancangan tampilan area nomor 1 pada Gambar 3.35 untuk modus normal view: No 99 99 99 99 99 99 Source Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Dest Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Summary XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XX XX XX XX XX XX Time mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss Misalnya : No Source Add Dest Add Description Time : : : : : 01, 02, 03, . . . 10.21.0.233 10.21.0.45 TCP: SPort=80 DPort=1250 SYN ACK=001 SEQ=7755 LEN=60 07/29/2001 23:17:59 --dan seterusnya— Sedangkan berikut adalah rancangan tampilan area nomor 1 pada Gambar 3.35 untuk modus EasyView: No 99 99 99 99 99 99 Source Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Dest Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Summary XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX Misalnya : No Source Add Dest Add : 01, 02, 03, . . . : 10.21.0.233 : 10.21.0.45 XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XX XX XX XX XX XX Time mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss 103 Summary Time : TCP: SPort=1513 GET /index.html HTTP/1.1 : 07/29/2001 23:19:49 --dan seterusnya— Pada area nomor 2, rancangan tampilannya adalah sebagai berikut: No : 01 ----- IPv4 Header ----Version = 4 Header length = 20 bytes Type of service = 0x00 Total length = 1500 bytes Identification = 30162 Flags = 0x04 Fragment offset = 0 bytes Time to live = 63 seconds/hops Protocol = 6 (TCP) Header checksum = 0x6D55 Source address = [202.155.89.19] Destination address = [10.20.37.50] No IP options ----- TCP Header ----Source port = 80 (http) Destination port = 1042 Sequence number = 3690248207 Acknowledgement number = 90694 Header length = 20 bytes Flags = **P*** Window = 32120 Checksum = 0x5329 Urgent pointer = 0 No TCP options ----- HTTP Server Reply ----[1460 byte(s) of data] HTTP/1.0 200 OK Date: Thu, 21 Jun 2001 12:39:30 GMT 104 Berikut rancangan tampilan pada area nomor 3: 0x9999: 0x9999: 0x9999: 0x9999: 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Contoh: 0x0000: 0x0010: 0x0020: 0x0030: 00 00 0A 3E 80 28 15 FD 48 CD 04 41 D7 83 A9 4A A7 40 00 00 6C 00 17 00 00 7F 70 00 03 06 6A 00 FE 0F 44 00 DE E0 A1 00 0C 0A 57 00 00 08 00 45 00 15 00 2D 0A 16 47 00 0E 50 10 00 Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum 99 99 99 99 99 99 99 99 Setti ngs 99 99 99 99 99 99 99 99 Help XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ..H..l........E. .([email protected].. ......pjD.WG..P. >.AJ........ Logo ut Please select report type Bandwidth usage information Packet size information Complete Summary Gambar 3.36 Rancangan Layar Report Rancangan layar ini terdiri dari 4 pilihan, yaitu rancangan layar Bandwidth usage information (Gambar 3.37), Packet size information (Gambar 3.41), Complete Gambar 3.34) dan Summary (Gambar 3.44). 105 Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Logo ut Help Summary: Graphics Version Total Bandwidth Usage: xxx Mb Please select report type Bandwidth usage by protocol: HTTP : xxx Mb (99%) POP3: xxx Mb (99%) NNTP: xxx Mb (99%) Lotus : xxx Mb (99%) Others: xxx Mb (99%) FTP: xxx Mb (99%) SMTP: xxx Mb (99%) TELNET: xxx Mb (99%) DNS: xxx Mb (99%) Bandwidth usage by IP: Bandwidth usage information Packet size information Complete Summary 10.10.10.1 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.2 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.3 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.4 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.5 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.6 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.7 in: xxx Mb (99%) out: xxx Mb (99%) Gambar 3.37 Rancangan Layar Report Bandwitdh Usage Jika link pada protokol misalnya HTTP atau FTP dipilih, maka hasilnya akan ditampilkan pada Gambar 3.38. Juga apabila link IP pada Bandwidth usage by IP dipilih, maka hasilnya akan ditampilkan pada Gambar 3.39. Jika link Graphics Version dipilih, maka layar akan menampilkan bentuk grafik dari statistik yang ada seperti pada Gambar 3.40. 106 Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Logo ut Help Summary: Total Bandwidth Usage: xxx Mb Please select report type Bandwidth usage information Packet size information Complete Summary Graphics Version Bandwidth usage by protocol: Bandwidth for HTTP by IP Address: HTTP : xxx Mb usage (99%) FTP: xxx Mb (99%) (Sort from higher to less bandwidth usage) POP3: xxx Mb (99%) SMTP: xxx Mb (99%) 10.10.10.1 xxx Mb (99%) TELNET: xxx Mb (99%) NNTP: xxx Mb :(99%) : xxx Mb (99%) NOTES:10.10.10.7 xxx Mb 10.10.10.51 : (99%) xxx Mb (99%) DNS: xxx Mb (99%) Others: xxx 10.10.10.13: Mb (99%) xxx Mb (99%) 10.10.10.17 : xxx Mb (99%) 10.10.10.23: xxx Mb (99%) Bandwidth 10.10.10.61 usage: xxx byMbIP: (99%) 10.10.10.33: xxx Mb (99%) 10.10.10.1 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.2 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.3 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.4 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.5 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.6 in: xxx Mb (99%) out: xxx Mb (99%) 10.10.10.7 in: xxx Mb (99%) out: xxx Mb (99%) Gambar 3.38 Rancangan Layar Report Bandwitdh Usage by Protocol Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Summary: Logo ut Help Graphics Version Total Bandwidth Usage: xxxMb Please select report type Bandwidth usage by protocol: HTTP : xxx Mb (99%) FTP: xxx Mb (99%) POP3: xxx Bandwidth Mb (99%)usageSMTP: for IP Address xxx Mb by protocol (99%) NNTP: xxx Mb (99%) TELNET:xxx Mb (99%) IP: 10.10.10.13 NOTES: xxx Mb (99%) DNS: xxx Mb (99%) Others: xxxHTTP Mb (99%) : xxx Mb (99%) FTP: xxx Mb (99%) POP3: xxx Mb (99%) NNTP: xxx Mb (99%) Bandwidth usage IP: NOTES: xxx by Mb (99%) Bandwidth usage information Packet size information Complete Summary SMTP: xxx Mb (99%) TELNET:xxx Mb (99%) DNS: xxx Mb (99%) (99%) out: xxx Mb (99%) 10.10.10.1 Others: in:xxx xxx MbMb (99%) 10.10.10.2 in:xxx Mb (99%) out: xxx Mb (99%) 10.10.10.3 in:xxx Mb (99%) out: xxx Mb (99%) 10.10.10.4 in:xxx Mb (99%) out: xxx Mb (99%) 10.10.10.5 in:xxx Mb (99%) out: xxx Mb (99%) 10.10.10.6 in:xxx Mb (99%) out: xxx Mb (99%) 10.10.10.7 in:xxx Mb (99%) out: xxx Mb (99%) Gambar 3.39 Rancangan Layar Report Bandwitdh Usage by IP Address 107 Untuk menutup pop-up window ini, terdapat tombol close [X] pada sudut kanan atas window. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Summary: Total Bandwidth Usage: ___ Mb Please select report type Logo ut Help Text Version Bandwidth usage by protocol: Graphics Bandwidth usage by protocol Bandwidth usage information Bandwidth usage by IP Address: Packet size information Graphics Bandwidth usage by protocol Complete Summary Gambar 3.40 Rancangan Layar Report Bandwitdh Usage Graphics Version Apabila link Text Version ditekan, maka layar akan kembali ke layar sebelumnya, seperti pada Gambar 3.37. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Total Packet Count: ___ Packet Please select report type 0-75 b : nnn 76-150b : nnn 151-225b : nnn 226-300b : nnn 301-375b : nnn 376-450b : nnn 451-525b : nnn Logo ut Help 526-600b : nnn 601-675b : nnn 676-750b : nnn 751-825b : nnn 826-900b : nnn 901-975b : nnn 976-1050b : nnn Graphics Version 1051-1125b 1126-1200b 1201-1275b 1276-1350b 1351-1425b 1426-1500b : : : : : : nnn nnn nnn nnn nnn nnn Total packet used by IP address : Bandwidth usage information Packet size information Complete Summary 10.10.10.1 10.10.10.2 10.10.10.3 10.10.10.4 10.10.10.5 10.10.10.6 10.10.10.7 10.10.10.8 : nnn : nnn : nnn : nnn : nnn : nnn : nnn : nnn 10.10.10.9 : nnn 10.10.10.10 : nnn 10.10.10.11 : nnn 10.10.10.12 : nnn 10.10.10.13 : nnn 10.10.10.14 : nnn 10.10.10.15 : nnn 10.10.10.16 : nnn Gambar 3.41 Rancangan Layar Report Packet Size Information 108 Jika link IP address dari Total packet used by IP address dipilih, maka akan ditampilkan layar seperti pada Gambar 3.42. Jika link Graphics Version dipilih, maka akan ditampilkan bentuk grafik dari statistik data yang ada seperti pada Gambar 3.43. Start /Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Total Packet Count: ___ Packet Please select report type Logo ut Help Graphics Version 0-75 b : nnn 526-600b : nnn 76-150b : nnn 601-675b : nnn Packet 151-225b statistic for : nnn IP Address 676-750b : nnn 226-300b : nnn 751-825b : nnn IP: 10.10.10.13 301-375b : nnn 826-900b : nnn Packet in: nnn (99%) Packet out: nnn (99%) 376-450b : nnn 901-975b : nnn Total451-525b Packet Count: : nnn ___ Packet 976-1050b : nnn 0-75 b : nnn 526-600b : nnn 76-150b : nnn 601-675b : nnn 1051-1125b : nnn 1126-1200b : nnn 226-300b : nnn 1276-1350b : nnn 1051-1125b : nnn 1126-1200b : nnn 1201-1275b : nnn 1276-1350b : nnn 1351-1425b : nnn 1426-1500b : nnn Total packet by IP : address : 151-225b : nnn used 676-750b nnn 1201-1275b : nnn Bandwidth usage information Packet size information Complete Summary 751-825b : nnn 301-375b : nnn nnn 1351-1425b 10.10.10.1 : nnn826-900b : 10.10.10.9 : nnn: nnn 376-450b : nnn nnn 1426-1500b : nnn 10.10.10.2 : nnn901-975b : 10.10.10.10 : nnn 451-525b : nnn 976-1050b : nnn 10.10.10.3 : nnn 10.10.10.11 : nnn 10.10.10.4 : nnn 10.10.10.12 : nnn 10.10.10.5 : nnn 10.10.10.13 : nnn 10.10.10.6 : nnn 10.10.10.14 : nnn 10.10.10.7 : nnn 10.10.10.15 : nnn 10.10.10.8 : nnn 10.10.10.16 : nnn Gambar 3.42 Rancangan Layar Report Packet Size Information by IP address Untuk menutup pop-up window ini, terdapat tombol close [X] pada sudut kanan atas window. Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Total Packet Count: ___ Packet Help Logo ut Text Version Please select report type Graphics packet count Total packet used by IP address : Bandwidth usage information Packet size information Complete Graphics packet used by IP Address Summary Gambar 3.43 Rancangan Layar Report Packet Size Information Graphics Version 109 Apabila link Text Version ditekan, maka layar akan kembali ke layar sebelumnya, seperti pada Gambar 3.41. SUMMARY REPORT Created on 30 Jul 2001 23:55 Bandwidth Usage: ___ Protocol: xxxx xxxx xxxx xxxxx xxxx xxxxx xxxx xxxx Top 15 bandwidth usage by IP Address xxxx xxxxx xxxx xxxxx xxxx xxxxx xxxx xxxxx Graphics Bandwidth usage 1 2 Bandwidth Usage Packet statistics : ____ total count xxx-xxx : nnn xxx-xxx : nnn Top 15 most packet count by IP Address xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 3 4 Packet lit deailed: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Graphics Packet size information 5 Gambar 3.44 Rancangan Layar Report Summary Rancangan tampilan pada Gambar 3.44 area nomor 1: Total bandwidth usage : 10459 Kb Bandwidth usage by Protocol HTTP : 8945 Kb (78.81%) FTP : 1024 Kb (12.75%) POP3 : 564 Kb ( 5.89%) SMTP : 56 Kb ( 0.54%) --dan seterusnya— Pada Gambar 3.44 area nomor 2: Top 15 bandwidth usage by IP Address #1 10.10.10.1 in: 144kb (%) out: 801kb (%) #2 10.10.20.22 in: 257kb (%) out: 307kb (%) . . #15 10.10.10.15 in: 43kb (%) out: 198kb (%) total: 945kb (37.01%) total: 564kb (20.98%) total: 241kb (13.22%) 110 Berikut rancangan tampilan pada Gambar 3.44 untuk area nomor 3: Total packet count : 151223 0 75b : 650 ( 7.14%) 76 – 150b : 1145 (13.77%) 151 – 225b : 231 ( 3.45%) 226 – 300b : 46 ( 0.45%) 301 – 375b : 1022 (10.67%) 376 – 450b : 125123 (69.11%) 451 - 525b : 650 ( 7.14%) --- dan seterusnya --- Pada area nomor 4 untuk Gambar 3.44 adalah sebagai berikut: Top 15 most packet count #1 10.10.10.1 in: 144 #2 10.10.20.22 in: 257 . . #15 10.10.10.15 in: 43 by IP address (%) out: 801 (%) (%) out: 307 (%) total: 945 (37.01%) total: 564 (20.98%) (%) total: 241 (13.22%) out: 198 (%) Dan untuk rancangan tampilan Gambar 3.44 pada area nomor 5 adalah: Packet list detailed Filter Apply Duration : 99 XXXX 9999 99:99 To 99 XXXX 9999 99:99 Protocol : XXX, XXX, XXX IP address : 99.99.99.99 <-> Any Or 99.99.99.99 --> 99.99.99.99 No 99 99 99 99 99 99 Source Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Dest Add 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 9.9.9.9 Summary XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XX XX XX XX XX XX Misalnya : Packet list detailed Filter Apply Duration : 29 July 2001 23:15 To 30 July 2001 00:30 Protocol : ICMP, DNS, HTTP IP address : 10.21.0.233 <-> Any Or 10.20.37.99 --> 10.21.0.45 No Source Add Dest Add : 01, 02, 03, . . . : 10.21.0.233 : 10.21.0.45 Time mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy mm/dd/yyyy hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss hh:mm:ss 111 Summary Time : TCP: DPort=1513 SPort=80 SYN ACK=001 SEQ=7755 LEN=60 : 07/29/2001 23:17:59 --dan seterusnya-- Start/ Stop Query Save Print Easy /Nor Repo rt Rept Sum Setti ngs Logo ut Help Auto Logoff after idle: minutes Try to resolve IP address to DNS name Change Password Admin Password Current Password New Password Confirm Password User Password Current Password New Password Confirm Password [ Message Area ] Save Gambar 3.45 Rancangan Layar Setting Pada rancangan layar ini, terdapat beberapa text box, yaitu text box Auto Logon After Idle n Minutes, Change password: Admin dan User dan 1 tombol yaitu: Save. Apabila pemakai menekan tombol Save maka akan muncul pesan pada Message Area: “Data has been saved” 112 Start/ Stop Query Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help Index Help About Save Print Easy /Nor Repo rt Rept Sum Setti ngs HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP Help TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT Gambar 3.46 Rancangan Layar Help Thank you for using STEROLEX.... Gambar 3.47 Rancangan Layar Logout Logo ut 113 3.5.5 Spesifikasi Tabel Spesifikasi tabel pada basis data Sterolex menggunakan MySQL. Berikut ini spesifikasi dari tabel-tabel yang digunakan sebagai basis data Sterolex. Nama Tabel : Tabel_Dump Keterangan : Digunakan untuk menyimpan hasil parsing dari packet dump Nama Field waktu milisec src_ip src_port dest_ip dest_port protocol ttl tos id dgmlen seq ack paket Tipe Data Datetime Mediumint Varchar Smallint Varchar Smallint Tinyint Tinyint Tinyint Smallint Smallint Int Int Text Panjang Keterangan Waktu dari paket diterima 8 Satuan milidetik dari waktu paket diterima 11 Source IP Address 5 Port yang digunakan pada source IP Address 11 Destination IP Address 5 Port yang digunakan pada destination IP Address 3 Protokol yang digunakan dalam paket 3 Time-to-Live 3 Type-of-Service 5 Network ID 5 Panjang Datagram 10 Nomor Sequence 10 Nomor Acknowledge Isi paket Nama Tabel : Tabel_Dump_Query Keterangan : Digunakan untuk menampung data hasil filter untuk perintah View Result. Nama Field waktu milisec src_ip src_port dest_id dest_port protocol ttl tos id dgmlen Tipe Data Datetime Mediumint Varchar Smallint Varchar Smallint Tinyint Tinyint Tinyint Smallint Smallint Panjang Keterangan Waktu dari paket diterima 8 Satuan milidetik dari waktu paket diterima 11 Source IP Address 5 Port yang digunakan pada source IP Address 11 Destination IP Address 5 Port yang digunakan pada destination IP Address 3 Protokol yang digunakan dalam paket 3 Time-to-Live 3 Type-of-Service 5 Network ID 5 Panjang Datagram 114 seq ack paket Int Int Text 10 10 Nomor Sequence Nomor Acknowledge Isi paket Nama Tabel : Tabel_Query Keterangan : Digunakan untuk menyimpan kategori filter untuk query dan juga informasi user account. Nama Field sessionid durasi_awal durasi_akhir tcp_port tcp_other udp_port udp_other icmp ip_addr Tipe Data Char Datetime Datetime Text Text Text Text Set('Y','N') Text Panjang Keterangan 32 ID session yang sedang aktif Filter durasi query awal Filter durasi query akhir Filter TCP port Filter TCP port selain standar Filter UDP port Filter UDP port selain standar 1 Status filter protokol ICMP Daftar IP address Nama Tabel : Tabel_Session Keterangan : Digunakan untuk validasi session pengguna Nama Field sessionid userid datetime Tipe Data Char Char Int Panjang 32 16 10 Keterangan ID session yang sedang aktif User account yang sedang aktif Waktu terakhir session-keep-alive Nama Tabel : Tabel_User Keterangan : Digunakan untuk menyimpan user account dan password Nama Field Tipe Data userid Varchar password Varchar Keterangan: Datetime Mediumint Varchar Panjang Keterangan 15 User account 20 User password Field untuk menampung tipe data tanggal dan jam Field untuk menampung bilangan bulat, tempat fisikal yang dikonsumsi adalah sebesar 32 bit atau 4 byte Field penampung tide data alfanumerik dengan besar maksimum 255 byte. Berbeda dengan tide data char, varchar mengonsumsi tempat fisikal tergantung dari data yang dimasukkan 115 Smallint Tinyint Int Text Set('Y','N') Field untuk menampung bilangan bulat, tempat fisikal yang dikonsumsi adalah sebesar 16 bit atau 2 byte Field untuk menampung bilangan bulat, tempat fisikal yang dikonsumsi adalah sebesar 8 bit atau 1 byte Field untuk menampung bilangan bulat, tempat fisikal yang dikonsumsi adalah sebesar 32 bit atau 4 byte Field penampung tide data alfanumerik dengan besar maksimum 65535 byte. Merupakan tipe data set dengan besar tergantung dari banyaknya data set, pada kasus ini tempat fisikal yang dikonsumsi adalah 1 byte Pada Gambar 3.48 dibawah ini, diperlihatkan spesifikasi skema bintang program Sterolex. Fakta Session sessionid userid Fakta Dump_query Fakta Dump waktu waktu milisec milisec userid src_ip src_ip Password src_port src_port dest_ip dest_ip dest_port dest_port protocol protocol ttl ttl tos tos id id dgmlen dgmlen seq seq ack ack paket paket datetime Dimensi User Fakta Query sessionid durasi_awal durasi_akhir tcp_port tcp_other udp_port udp_other icmp ip_addr Gambar 3.48 Spesifikasi skema bintang Sterolex 116 3.5.6 Perancangan Modul 3.5.6.1 Perancangan Modul Program Server Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : Main (sterolex.c) : Modul utama STEROLEX, dimana program mulai berjalan : ShowUsage :: argc => counter dari commandline parameter argv => isi dari commandline parameter :- Set semua prosedur handler sinyal Set global variabel Inisialisasi struktur internal Jika argv kosong Tampilkan Petunjuk Pemakaian dengan Modul ShowUsage End Jika While argv masih belum terproses semua Parsing argv Jika argv bernilai "readmode" dan uid tidak "root" Tampilkan pesan error Set flag exit End Jika Jika argv bernilai "quiet" jalankan STEROLEX dalam modus quiet End Jika Jika argv bernilai "log" Set direktori logging ke nilai yang didefinisikan user End Jika Jika argv bernilai "daemon" Jalankan STEROLEX dalam modus daemon / servis End Jika End While Jika tersedia native thread Bangkitkan thread untuk kegiatan 'sniffing' pada setiap interface Else Pool semua kegiatan 'sniffing' pada thread utama End Jika Mulai looping LibPCap End modul Main Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : ShowUsage (sterolex.c) : Modul untuk menampilkan petunjuk pemakaian :: Main : progname => nama progra m :- 117 Tampilkan nama program Tampilkan nama pembuat program Tampilkan petunjuk pemakaian End modul ShowUsage Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeEthPkt (decode.c) : Modul untuk mendecode packet Ethernet : DecodeIP DecodeARP :: p => pointer ke struktur paket yang selesai didecode pkthdr => pointer ke header paket pkt => pointer ke data paket yang sudah ditangkap :- Inisialisasi zona memori pada struktur p Asosiasikan header paket (pkthdr) dengan struktur p Asosiasikan isi paket (pkt) frngan struktur p Set panjang paket yang telah ditangkap Set total panjang paket Jika panjang paket yang ditangkap < panjang paket total Panjang paket total = panjang paket yang ditangka p End Jika Atur urutan Ethernet pada struktur data paket Case tipe network IP : decode dengan menggunakan modul DecodeIP ARP atau REVARP : decode dengan menggunakan modul DecodeARP End Case End module DecodeEthPkt Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeIP (decode.c) : Modul untuk mendecode layer IP : Checksum DecodeIPOptions DecodeTCP DecodeUDP DecodeICMP : DecodeEthPkt : pkt => pointer ke data paket yang akan didecode len => panjang dari layer IP ke akhir paket p => pointer ke struktur paket yang didecode :- Asosiasikan struktur IP pada data mentah Jika panjang header IP < Panjang header IP seharusnya 118 Tampilkan pesan kesalahan End Jika Jika IP yang didecode bukan versi 4 Tampilkan pesan kesalahan Buang paket ini End Jika Set panjang datagram IP Set panjang header IP Jika panjang field IP lebih besar dari paket yang ditangkap Set panjang field IP = panjang paket yang ditangkap End Jika Hitung cheksum Jika cheksum sukses Jika Panjang datagram IP > 5 byte Decode Option IP dengan modul DecodeIPOptions Else Set Option = 0 End Jika Set sisa panjang datagram Lakukan pengecekan paket yang terfragmentasi Jika paket ini bukan sebuah fragmen Set flag paket fragmen = 0 Case protocol TCP : decode dengan modul DecodeTCP UDP : decode dengan modul DecodeUDP ICMP : decode dengan modul DecodeICMP End Case End Jika End Jika End modul DecodeIP Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeTCP (decode.c) : Modul untuk mendecode transport layer TCP : DecodeTCPOptions : DecodeIP : pkt => pointer ke data paket yang akan didecode len => panjang dari layer IP ke akhir paket p => pointer ke struktur paket yang didecode :- Jika panjang TCP > 20 byte Jika flag verbose di set Tampilkan pesan kesalahan End Jika Buang paket ini End JIka Susun data TCP pada struktur p Sesuaikan offset payload Persiapkan pseudo header untuk operasi checksum Hitung checksum Jika checksum terpenuhi 119 Jika panjang datagram > 20 byte Decode option TCP dengan module DecodeTCPOptions Else Set Option = 0 End Jika Set pointer data End Jika Sesuaikan panjang datagram End modul DecodeTCP Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeUDP (decode.c) : Modul untuk mendecode transport layer UDP :: DecodeIP : pkt => pointer ke data paket yang akan didecode len => panjang dari layer IP ke akhir paket p => pointer ke struktur paket yang didecode :- Jika panjang paket < panjang header UDP Jika flag verbose di set Tampilkan pesan kesalahan End Jika Buang paket ini End Jika Susun data UDP pada struktur p Hitung checksum Jika checksum terpenuhi Isi pointer p dengan isi datagram UDP End Jika End modul DecodeUDP Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeICMP (decode.c) : Modul untuk mendecode transport layer ICMP :: DecodeIP : pkt => pointer ke data paket yang akan didecode len => panjang dari layer IP ke akhir paket p => pointer ke struktur paket yang didecode :- Jika panjang paket < panjang header ICMP Jika flag verbose di set Tampilkan pesan kesalahan End Jika Buang paket ini End Jika 120 Set pointer header ICMP Hitung checksum Jika checksum terpenuhi Isi pointer p dengan isi datagram ICMP End Jika Kalkulasi besar data ICMP Case tipe ICMP ICMP_ECHOREPLY : Set nomor urut id paket ICMP_ECHO : Set nomor urut id paket Tambahkan besar echo ext ke pointer data dan kurangi dari besar data ICMP_DEST_UNREACH : Jika besar paket < 16 Jika flag verbose di set Tampilkan pesan kesalahan End Jika Jika besar paket < 8 Keluar dari modul End Jika End Jika Ciptakan Paket baru End Case End module DecodeICMP Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeARP (decode.c) : Modul untuk mendecode ARP :: DecodeEthPkt : pkt => pointer ke data paket yang akan didecode len => panjang dari layer IP ke akhir paket p => pointer ke struktur paket yang didecode :- Jika panjang paket < header ARP Jika flag verbose di set Tampilkan pesan kesalahan End Jika Buang paket ini End Jika End module DecodeARP Modul Fungsi Memanggil modul Dipanggil modul Parameter Input : DecodeTCPOptions (decode.c) : Modul untuk mendecode Oktet option dari header TCP :: DecodeTCP : o_list => ptr ke option list o_len => panjang dari option list 121 Parameter Output p => pointer ke decoded packet struct :- Set option_ptr = o_list While byte_yg_diproses < o_len Case option_ptr Case TCPOPT_NOP atau TCPOPT_EOL : Berhenti proses mendecode Case TCPOPT_SACKOK : Proses option TCP Case TCPOPT_WSCALE : Proses option TCP End Case End While End module DecodeTCPOptions Modul Fungsi Memanggil modul Dipanggil modul Parameter Input Parameter Output : DecodeIPOptions (decode.c) : Modul untuk mendecode Oktet option dari header TCP :: DecodeIP : o_list => ptr ke option list o_len => panjang dari option list p => pointer ke decoded packet struct :- Set option_ptr = o_list While byte_yg_diproses < o_len Case option_ptr Case IPOPT_RTRALT atau IPOPT_NOP atau IPOPT_EOL : Berhenti proses mendecode else Proses option IP End Case End While End module DecodeIPOptions 122 3.5.6.2 Rancangan Modul Program Client Modul Keterangan Parameter Input : start.php : Modul utama dari Module Web STEROLEX : ssc => session id act => flag aksi Parameter Output Dipanggil Modul Memanggil Modul :: queryexec.php : common.php ssc.php toolbar.php summary.php detil.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Tampilkan toolbar dengan modul toolbar.php Jika act = execQuery Tampilkan frameset baru Tampilkan sumarry dengan modul summary.php Tampilkan detil dengan modul detil.php Tutup frameset Else Tampilkan summary dengan modul summary.php End Jika End module start.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : toolbar.php : Modul untuk menampilkan toolbar : ssc => session id :: start.php : ssc.php common.php setupJavascript Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Setup DHTML dengan modul setupJavascript Ciptakan Tabel untuk menampung tombol toolbar Jika status STEROLEX hidup Tampilkan tombol Stop Else Tampilkan tombol Start End Jika Tampilkan tombol Query 123 jika Filter ada isinya Tampilkan tombol Save Tampilkan tombol Print Jika modus aktive = normal Tampilkan tombol normal2easy Else Tampilkan tombol easy2normal End Jika Tampilkan tombol Report Tampilkan tombol Summary Else Tampilkan tombol Save tidak aktif Tampilkan tombol Print tidak aktif Tampilkan tombol normal2easy tidak aktif Tampilkan tombol Report tidak aktif Tampilkan tombol Summary tidak aktif End Jika Tampilkan tombol Setting Tampilkan tombol help Tampilkan tombol Logout End module toolbar.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : summary.php : Modul untuk menampilkan summary : ssc => session id :: start.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Jika tabel dump_filter berisi Tampilkan header tabel While ada informasi paket Tampilkan informasi paket End While End Jika End module summary.php Modul Keterangan Parameter Input Parameter Output : detil.ph p : Modul untuk menampilkan detil : ssc => session id wkt => waktu paket diterima ms => waktu dalam milidetik dari paket yang diterima :- 124 Dipanggil Modul Memanggil Modul : start.php : ssc.php common.php paket2ascii paketprint Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query paket dari filter_dump Proses paket hasil query dengan modul paket2ascii Tamp ilkan hasil dengan paketprint End module detil.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : query.php : Modul untuk menampilkan navigasi menu query : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Tampilkan navigasi dari menu Query Case user input Duration: panggil modul duration.php Protocol: panggil modul protocol.php IP Address: panggil modul ipaddr.php View Result: panggil modul queryexec.php End Case End module query.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : duration.php : Modul untuk menampilkan layar filter durasi : ssc => session id :: query.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php 125 Jika session tidak valid keluar Query tabel_query untuk user filter Jika user filter tidak ada Tampilkan layar pemilihan durasi default Else Tampilkan layar pemilihan durasi sesuai pilihan user End Jika Jika User menekan tombol apply Simpan setting user dengan modul durasave.php End Jika End module duration.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : protocol.php : Modul untuk menampilkan layar filter berdasarkan protocol : ssc => session id :: query.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query tabel_query untuk user filter Jika user filter tidak ada Tampilkan layar pemilihan protocol default Else Tampilkan layar pemilihan protocol sesuai pilihan user End Jika Case user input IP : negasi status filter IP ganti status filter seluruh filter TCP/IP TCP : negasi status filter TCP ganti status filter seluruh TCP UDP : negasi status filter UDP ganti status filter seluruh UDP ICMP : negasi status filter ICMP ganti status filter seluruh ICMP End Case Jika User menekan tombol apply Simpan setting user dengan modul protocolsave.php End Jika End module protocol.php Modul Keterangan Parameter Input : ipaddr.php : Modul untuk menampilkan layar filter durasi berdasarkan ip address : ssc => session id 126 Parameter Output Dipanggil Modul Memanggil Modul :: query.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query tabel_query untuk user filter Jika user filter tidak ada Tampilkan layar filter ip address default Else Tampilkan layar filter ip address sesuai pilihan user End Jika Jika User menekan tombol apply Simpan setting user dengan modul ipsave.php End Jika End module ipaddr.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : durasave.php : Modul untuk menyimpan filter berdasarkan durasi : ssc => session id :: duration.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Hasilkan query statement dari user defined filter Execute query Jika query error Tampilkan Pesan Error End Jika End module durasave.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : protocolsave.php : Modul untuk menyimpan filter berdasarkan protocol : ssc => session id :: duration.php : ssc.php common.php 127 Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Parsing semua flip-flop filter switch Hasilkan query statement dari filter Execute query Jika query error Tampilkan Pesan Error End Jika End module protocolsave.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : ipsave.php : Modul untuk menyimpan filter berdasarkan IP address : ssc => session id :: duration.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Validasi input filter Hasilkan query statement dari user defined filter Execute query Jika query error Tampilkan Pesan Error End Jika End module ipsave.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : queryexec.php : Modul untuk menghasilkan tabel_dump_query dari filter : ssc => session id :: query.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Hapus isi tabel_dump_query Hasilkan query statement dari user defined filter Hasilkan tabel_dump_query dengan menjalankan query 128 Panggil modul start.php dengan act=execQuery End module queryexec.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : setting.php : Modul untuk menghasilkan layar konfigurasi setting : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Tampilkan layar konfigurasi Jika User menekan tombol apply Simpan settin g user dengan modul settingsave.php End Jika End module setting.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : settingsave.php : Modul untuk menghasilkan layar konfigurasi setting : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Validasi input setting Hasilkan query statement dari user setting Execute query Jika query error Tampilkan Pesan Error End Jika End module settingsave.php Modul Keterangan : report.php : Modul untuk menghasilkan report 129 Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query Tabel_dump_query Analisa dan parsing hasil query Tampilkan report End module report.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : s ummary.php : Modul untuk menghasilkan summary : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query Tabel_dump_query Analisa dan parsing hasil query Tampilkan summary Tampilkan grafik protokol di layar summary dengan modul gprotocol.php Tampilkan grafik paket di layar summary dengan modul gpaket.php End module report.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : help.php : Modul untuk menghasilkan layar help ::: toolbar.php :- Tampilkan Menu help pada seksi navigasi tampilkan Isi menu pada seksi summary End Module help.php 130 Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : gprotocol.php : Modul untuk menghasilkan grafik penggunaan bandwith berdasarkan protokol ::: summary.php : common.php Membuka koneksi ke database dengan modul common.php Query Tabel_dump_query Analisa dan parsing hasil query Hasilkan grafik protokol End module gprotocol.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : gpaket.php : Modul untuk menghasilkan grafik distribusi paket ::: summary.php : common.php Membuka koneksi ke database dengan modul common.php Query Tabel_dump_query Analisa dan parsing hasil query Hasilkan grafik protokol End module gpaket.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : save.php : Modul untuk menyimpan report ke dalam lokal storage : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query Tabel_dump_query Analisa dan parsing hasil query Tampilkan full report Munculkan save dialog setelah report selesai dibuatEnd module save.php 131 Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : print.php : Modul untuk menghasilkan report secara tertulis : ssc => session id :: toolbar.php : ssc.php common.php Membuka koneksi ke database dengan modul common.php Validasi session dengan modul ssc.php Jika session tidak valid keluar Query Tabel_dump_query Analisa dan parsing hasil query Tampilkan full report Munculkan print dialog setelah report selesai dibuat End module print.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : ssc.php : Modul untuk validasi session : ssc => session id :: start.php toolbar.php summary.php detil.php query.php report.php duration.php ipaddr.php protocol.php print.php save.php summary.php settingsave.php queryexec.php ipsave.php setting.php : session.php Set URL session_invalid Set URL session_expired Validasi session code dengan modul sesion.php Jika session invalid kirim HTTP header URL session_invalid End Jika Jika session sudah expired kirim HTTP header URL session_expired 132 End Jika End Module ssc.php Modul Keterangan Parameter Input Parameter Output Dipanggil Modul Memanggil Modul : session.php : Modul Objek operasi session : ssc => session id : err => pesan error err_no => kode error : ssc.php :- Query Tabel_Session berdasarkan ssc Jika ssc kosong Ciptakan session baru Else Verifikasi ssc Jika ssc tidak valid Set err_no = 201 Set err = "Session ID is not valid" Keluar dari module End Jika Jika ssc sudah expired Set err_no = 202 Set err = "Session ID has expired" Keluar dari module End Jika Reset timer expired Hapus session yang melewati batas expired End Jika End module session.php