TCP/IP merupakan dasar dari segalanya, tanpa mempelajari TCP/IP kemungkinan kita tidak dapat melakah maju di dunia pehackingan.
Dengan kata lain, TCP/IP merupakan awal dari segalanya. Banyak orang yg menyepelekan pentingnya mempelajari TCP/IP, mereka
mengaku dirinya "hacker" tetapi tidak mengerti sama sekali apa itu TCP/IP. Merasa hacker hanya apabila bisa mencrash ataupun
menjebol server, tetapi sebetulnya bukan itulah maksud dari segala itu. Hacker itu adalah orang yg haus akan pengetahuan,
bukan haus akan penghancuran. Untuk menjadi hacker dibutuhkan kerja keras, semangat, motivasi yg tinggi serta pemahaman
seluk-beluk internet itu sendiri, tanpa hal-hal tersebut mustahil anda dapat menjadi seorang hacker yang tangguh.Tulisan ini
didedikasikan terutama untuk member Kecoak Elektronik dan siapa saja yang ingin mempelajari TCP/IP, bukan untuk mereka yang
hanya ingin mencari jalan pintas menjadi hacker sejati. Bagi anda yg memang udah profhacking mungkin tulisan ini tidak penting,
karena memang tulisan ini hanyalah pengantar belaka dan bukan merupakan referensi yg sempurna (dan jauh dari sempurna) oleh
karenanya hanya dikhususkan bagi mereka yg pendatang baru (newbies).
1. Apa itu TCP/IP ?
TCP/IP adalah salah satu jenis protokol* yg memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu
network (jaringan).
**************************************************************************** Merupakan himpunan aturan yg memungkinkan komputer
untuk berhubungan antara satu dengan yg lain, biasanya berupa bentuk / waktu / barisan / pemeriksaan error saat transmisi data.
*****************************************************************************
2. Apa yg membuat TCP/IP menjadi penting ?
Karena TCP/IP merupakan protokol yg telah diterapkan pada hampir semua perangkat keras dan sistem operasi. Tidak ada rangkaian
protokol lain yg tersedia pada semua sistem berikut ini :
a. Novel Netware.b. Mainframe IBM.
c. Sistem digital VMS.
d. Server Microsoft Windows NT
e. Workstation UNIX, LinuX, FreeBSD
f. Personal komputer DOS.
3. Bagaimana awalnya keberadaan TCP/IP ?
Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS akan suatu komunikasi di antara berbagai variasi komputer
yg telah ada. Komputer-komputer DoD ini seringkali harus berhubungan antara satu organisasi peneliti dg organisasi peneliti
lainnya, dan harus tetap berhubungan sehingga pertahanan negara tetap berjalan selama terjadi bencana, seperti ledakan nuklir.
Oleh karenanya pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan penelitian
ini adalah sebagai berikut :
1. Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk semua jaringan.
2. Meningkatkan efisiensi komunikasi data.
3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
4. Mudah dikonfigurasikan.
Tahun 1968 DoD ARPAnet (Advanced Reseach Project Agency) memulai penelitian yg kemudian menjadi cikal bakal packet switching .
Packet switching inilah yg memungkinkan komunikasi antara lapisan network (dibahas nanti) dimana data dijalankan dan disalurkan
melalui jaringan dalam bentuk unit-unit kecil yg disebut packet*. Tiap-tiap packet ini membawa informasi alamatnya masing-masing
yg ditangani dengan khusus oleh jaringan tersebut dan tidak tergantung dengan paket-paket lain.Jaringan yg dikembangkan ini, yg
menggunakan ARPAnet sebagai tulang punggungnya, menjadi terkenal sebagai internet.Protokol-protokol TCP/IP dikembangkan lebih
lanjut pada awal 1980 dan menjadi protokol-protokol standar untuk ARPAnet pada tahun 1983. Protokol-protokol ini mengalami
peningkatan popularitas di komunitas pemakai ketika TCP/IP digabungkan menjadi versi 4.2 dari BSD (Berkeley Standard Distribution)
UNIX. Versi ini digunakan secara luas pada institusi penelitian dan pendidikan dan digunakan sebagai dasar dari beberapa
penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix dari Digital. Karena BSD UNIX mendirikan hubungan antara TCP/IP dan
sistem operasi UNIX, banyak implementasi UNIX sekarang menggabungkan TCP/IP.
************************************************************************
Unit informasi yg mana jaringan berkomunikasi. Tiap-tiap paket berisi identitas (header) station pengirim dan penerima, informasi
error- control, permintaan suatu layanan dalam lapisan network, informasi bagaimana menangani permintaan dan sembarang data
penting yg harus ditransfer.
************************************************************************
4. Layanan apa saja yg diberikan oleh TCP/IP ?
Berikut ini adalah layanan "tradisional" yg dilakukan TCP/IP :
a. Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim
ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna
(user name) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, alias tidak berpassword.
(lihat RFC 959 untuk spesifikasi FTP)
b. Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer
didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer
jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
c. Computer mail. Digunakan untuk menerapkan sistem elektronik mail. (lihat RFC 821 dan 822)
d. Network File System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses file-file pada
komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
e. remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya
berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu system komputer.
Ada beberapa jenis remote execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer
yg sama dan ada pula yg menggunakan "prosedure remote call system", yg memungkinkan program untuk memanggil subroutine yg akan
dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah "rsh" dan "rexec")f. name servers.
Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg
bertujuan untuk menentukan nama host di internet.)
************************************************************************
RFC (Request For Comments) adalah merupakan standar yg digunakan dalam internet, meskipun ada juga isinya yg merupakan bahan
diskusi ataupun omong kosong belaka. Diterbitkan oleh IAB (Internet Activities Board) yg merupakan komite independen para
peneliti dan profesional yg mengerti teknis, kondisi dan evolusi sistem internet. Sebuah surat yg mengikuti nomor RFC menunjukan
status RFC:
S: standard, standar resmi bagi internet DS: Draft standard, protokol tahap akhir sebelum disetujui sebagai standar PS: Proposed
Standard, protokol pertimbangan untuk standar masa depan.
I: Informational, berisikan bahan-bahan diskusi yg sifatnya informasi
E: Experimental, protokol dalam tahap percobaan tetapi bukan pada jalur standar.
H: Historic, protokol-protokol yg telah digantikan atau tidak lagi dipertimbankan utk standarisasi.
************************************************************************
5. Bagaimanakah bentuk arsitektur dari TCP/IP itu ?
---------------------------------------------------
Dikarenakan TCP/IP adalah serangkaian protokol di mana setiap protokol melakukan sebagian dari keseluruhan tugas komunikasi
jaringan, maka tentulah implementasinya tak lepas dari arsitektur jaringan itu sendiri. Arsitektur rangkaian protokol TCP/IP
mendifinisikan berbagai cara agar TCP/IP dapat saling menyesuaikan.
Karena TCP/IP merupakan salah satu lapisan protokol OSI * (Open System Interconnections), berarti bahwa hierarki TCP/IP merujuk
kepada 7 lapisan OSI tersebut. Berikut adalah model referensi OSI 7 lapisan, yg mana setiap lapisan menyediakan tipe khusus
pelayanan jaringan:
Peer process
|Application layer |<-----------------> | Application layer |
|Presentation layer |<-----------------> | Presentation layer|
|Session layer |<-----------------> | Session layer |
|Transport layer |<-----------------> | Transport layer |
|Network layer |<-----------------> | Network layer |
|Data link layer |<-----------------> | Data link layer |
|Physical layer |<-----------------> | Physical layer |
Tiga lapisan teratas biasa dikenal sebagai "upper lever protocol" sedangkan empat lapisan terbawah dikenal sebagai "lower level protocol". Tiap lapisan berdiri sendiri tetapi fungsi dari masing-masing lapisan bergantung dari keberhasilan operasi layer sebelumnya. Sebuah lapisan pengirim hanya perlu berhubungan dengan lapisan yang sama di penerima (jadi misalnya lapisan data link penerima hanya berhubungan dengan data link pengirim) selain dengan satu layer di atas atau dibawahnya (misalnya lapisan network berhubungan dengan lapisan transport diatasnya atau dengan lapisan data link dibawahnya).
Model dengan menggunakan lapisan ini merupakan sebuah konsep yg penting karena suatu fungsi yg rumit yg berkaitan dengan komunikasi dapat dipecahkan menjadi sejumlah unit yg lebih kecil. Tiap lapisan bertugas memberikan layanan tertentu pada lapisan diatasnya dan juga melindungi lapisan diatasnya dari rincian cara pemberian layanan tersebut. Tiap lapisan harus transparan sehingga modifikasi yg dilakukan atasnya tidak akan menyebabkan perubahan pada lapisan yang lain. Lapisan menjalankan perannya dalam pengalihan data dengan mengikuti peraturan yang berlaku untuknya dan hanya berkomunikasi dengan lapisan yang setingkat. Akibatnya sebuah layer pada satu sistem tertentu hanya akan berhubungan dengan lapisan yang sama dari sistem yang lain. Proses ini dikenal sebagai "Peer process". Dalam keadaan sebenarnya tidak ada data yang langsung dialihkan antar lapisan yang sama dari dua sistem yang berbeda ini. Lapisan atas akan memberikan data dan kendali ke lapisan dibawahnya sampai lapisan yang terendah dicapai. Antara dua lapisan yang berdekatan terdapat "interface" (antarmuka). Interface ini mendifinisikan operasi dan layanan yang diberikan olehnya ke lapisan lebih atas. Tiap lapisan harus melaksanakan sekumpulan fungsi khusus yang dipahami dengan sempurna. Himpunan lapisan dan protokol dikenal sebagai "arsitektur jaringan".
Pengendalian komunikasi dalam bentuk lapisan menambah overhead karena tiap lapisan berkomunikasi dengan lawannya melalui "header". Walaupun rumit tetapi fungsi tiap lapisan dapat dibuat dalam bentuk modul sehingga kerumitan dapat ditanggulangi dengan mudah. Disini kita tidak akan membahas model OSI secara mendalam secara keseluruhannya, karena protokol TCP/IP tidak mengikuti benar model referensi OSI tersebut. Walaupun demikian, TCP/IP model akan terlihat seperti ini :
Sekarang mari kita bahas keempat lapisan tersebut.
a. Network Access Lapisan ini hanya menggambarkan bagaimana data dikodekan menjadi sinyal- sinyal dan karakteristik antarmuka tambahan media.
b. Internet layer/ network layer Untuk mengirimkan pesan pada suatu internetwork (suatu jaringan yang mengandung beberapa segmen jaringan), tiap jaringan harus secara unik diidentifikasi oleh alamat jaringan. Ketika jaringan menerima suatu pesan dari lapisan yang lebih atas, lapisan network akan menambahkan header pada pesan yang termasuk alamat asal dan tujuan jaringan. Kombinasi dari data dan lapisan network disebut "paket". Informasi alamat jaringan digunakan untuk mengirimkan pesan ke jaringan yang benar, setelah pesan tersebut sampai pada jaringan yg benar, lapisan data link dapat menggunakan alamat node untuk mengirimkan pesan ke node tertentu.
meneruskan paket ke jaringan yang benar disebut "routing" dan peralatan yang meneruskan paket adalah "routers". Suatu antar jaringan mempunyai dua tipe node :
- "End nodes", menyediakan pelayanan kepada pemakai. End nodes menggunakan lapisan network utk menambah informasi alamat jaringan kepada paket, tetapi tidak melakukan routing. End nodes kadang-kadang disebut "end system" (istilah OSI) atau "host" (istilah TCP/IP)- Router memasukan mekanisme khusus untuk melakukan routing. Karena routing merupakan tugas yg kompleks, router biasanya merupakan peralatan tersendiri yg tidak menyediakan pelayanan kepada pengguna akhir. Router kadang-kadang disebut "intermediate system" (istilah OSI) atau "gateway" (istilah TCP/IP).
Selain itu juga lapisan ini bertanggung jawab untuk pengiriman data melalui antar jaringan. Protokol lapisan intenet yang utama adalah internet protokol, IP (RFC 791, lihat juga RFC 919, 922,950). IP menggunakan protokol-protokol lain untuk tugas-tugas khusus internet. ICMP(dibahas nanti) digunakan untuk mengirimkan pesan-pesan ke lapisan host ke host. Adapun fungsi IP :
1. Pengalamatan
2. Fragmentasi datagram pada antar jaringan
3. Pengiriman datagram pada antar jaringan
c. Transport layer /host to host
Salah satu tanggung jawab lapisan transport adalah membagi pesan-pesan menjadi fragment- fragment yang cocok dengan pembatasan ukuran yg dibentuk oleh jaringan. Pada sisi penerima, lapisan transport menggabungkan kembali fragment untuk mengembalikan pesan aslinya, sehingga dapat diketahui bahwa lapisan transport memerlukan proses khusus pada satu komputer ke proses yg bersesuaian pada komputer tujuan. Hal ini dikenal sebagai Service Access Point (SAP) ID kepada setiap paket (berlaku pada model OSI, istilah TCP/IP untuk SAP ini disebut port *).
Mengenali pesan-pesan dari beberapa proses sedemikian rupa sehingga pesan tersebut dikirimkan melalui media jaringan yg sama disebut multiplexing. Prosedur mengembalikan pesan dan mengarahkannya pada proses yg benar disebut demultiplexing. Tanggung javab lapisan transport yg paling berat dalam hal pengiriman pesan adalah mendeteksi kesalahan dalam pengiriman data tersebut. Ada dua kategori umum deteksi kesalahan dapat dilakukan oleh lapisan transport :
a. Reliable delivery
Berarti kesalahan tidak dapat terjadi, tetapi kesalahan akan dideteksi jika terjadi. Pemulihan kesalahan dilakukan dengan jalan memberitahukan lapisan atas bahwa kesalahan telah terjadi dan meminta pengirimna kembali paket yg kesalahannya terdeteksi.
b. Unreliable delivery
Bukan berarti kesalahan mungkin terjadi, tetapi menunjukkan bahwa lapisan transport tidak memeriksa kesalahan tersebut. Karena pemeriksaan kesalahan memerlukan waktu dan mengurangi penampilan jaringan. Biasanya kategori ini digunakan jika setiap paket mengandung pesan yg lengkap, sedangkan reliable delivery, jika mengandung banyak paket. Unreliable delivery, sering disebut datagram delivery dan paket- paket bebas yg dikerimkan dengan cara ini sering disebut datagram. Karena proses lapisan atas (application layer) memiliki kebutuhan yg bervariasi, terdapat dua protokol lapisan transport /host to host, TCP dan UDP. TCP adalah protokol yg handal. Protokol ini berusaha secara seksama untuk mengirimkan data ke tujuan, memeriksa kesalahan, mengirimkan data ulang bila diperlukan dan mengirimkan error ke lapisan ats hanya bila TCP tidak berhasil mengadakan komunikasi (dibahas nanti).
Tetapi perlu dicatat bahwa kehandalan TCP tercapai dengan mengorbankan bandwidth jaringan yg besar. UDP (User Datagram Protocol) disisi lain adalah protokol yg tidak handal. Protokol ini hanya semampunya saja mengirimkan data. UDP tidak akan berusaha untuk mengembalikan datagram yg hilang dan proses pada lapisan atas harus bertanggung jawab untuk mendeteksi data yg hilang atau rusak dan mengirimkan ulang data tersebut bila dibutuhkan.
c. Application layer
Lapisan inilah biasa disebut lapisan akhir (front end) atau bisa disebut user program. Lapisan inilah yg menjadi alasan keberadaan lapisan sebelumnya. Lapisan sebelumnya hanya bertugas mengirimkan pesan yg ditujukan utk lapisan ini. Di lapisan ini dapat ditemukan program yg menyediakan pelayanan jaringan, seperti mail server (email program), file transfer server (FTP program), remote terminal.
******************************************************************************
Token Ring merupakan teknologi LAN data link yg didefinisikan oleh IEEE 802.4 dimana sistem dihubungkan satu sama lain dengan menggunakan segmen kabel twisted-pair point-to-point untuk membentuk suatu struktur ring. Sebuah sistem diijinkan untuk mengirim hanya bila sistem tersebut memiliki token (data unit khsusus yg digunakan bersama-sama) yg akan dilewatkan dari satu sistem ke sistem lain sekitar ring.
===============================================================================
komputer port adalah tempat adalah tempat dimana informasi masuk dan keluar. Di PC contohnya monitor sebagai keluaran informasi, keyboard dan mouse sebagai masukan informasi. Tetapi dalam istilah internet, port berbentuk virtual (software) bukan berbentuk fisik seperti RS232 serial port (utk koneksi modem).
************************************************************************
6. Bagaimana TCP dan IP bekerja ?
Seperti yg telah dikemukakan diatas TCP/IP hanyalah merupakan suatu lapisan protokol (penghubung) antara satu komputer dg yg lainnya dalam network, meskipun ke dua komputer tersebut memiliki OS yg berbeda. Untuk mengerti lebih jauh marilah kita tinjau pengiriman sebuah email.Dalam pengiriman email ada beberapa prinsip dasar yg harus dilakukan. Pertama, mencakup hal-hal umum berupa siapa yg mengirim email, siapa yg menerima email tersebut serta isi dari email tersebut. Kedua, bagaimana cara agar email tersebut sampai pada tujuannya.Dari konsep ini kita dapat mengetahui bahwa pengirim email memerlukan "perantara" yg memungkinkan emailnya sampai ke tujuan (seperti layaknya pak pos). Dan ini adalah tugas dari TCP/IP. Antara TCP dan IP ada pembagian tugas masing-masing.
TCP merupakan connection-oriented, yg berarti bahwa kedua komputer yg ikut serta dalam pertukaran data harus melakukan hubungan terlebih dulu sebelum pertukaran data ( dalam hal ini email) berlangsung. Selain itu TCP juga bertanggung jawab untuk menyakinkan bahwa email tersebut sampai ke tujuan, memeriksa kesalahan dan mengirimkan error ke lapisan atas hanya bila TCP tidak berhasil melakukan hubungan (hal inilah yg membuat TCP sukar untuk dikelabuhi). Jika isi email tersebut terlalu besar untuk satu datagram * , TCP akan membaginya kedalam beberapa datagram. IP bertanggung jawab setelah hubungan berlangsung, tugasnya adalah untuk meroute data packet . didalam network. IP hanya bertugas sebagai kurir dari TCP dalam penyampaian datagram dan "tidak bertanggung jawab" jika data tersebut tidak sampai dengan utuh (hal ini disebabkan IP tidak memiliki informasi mengenai isi data yg dikirimkan) maka IP akan mengirimkan pesan kesalahan ICMP*. Jika hal ini terjadi maka IP hanya akan memberikan pesan kesalahan (error message) kembali ke sumber data. Karena IP "hanya" mengirimkan data "tanpa" mengetahui mana data yg akan disusun berikutnya menyebabkan IP mudah untuk dimodifikasi daerah "sumber dan tujuan" datagram. Hal inilah penyebab banyak paket hilang sebelum sampai kembali ke sumber awalnya. (jelas ! sumber dan tujuannya sudah dimodifikasi)
Kalimat Datagram dan paket sering dipertukarkan penggunaanya. Secara teknis, datagram adalah kalimat yg digunakan jika kita hendak menggambarkan TCP/IP. Datagram adalah unit dari data, yg tercakup dalam protokol.
************************************************************************
ICPM adalah kependekan dari Internet Control Message Protocol yg bertugas memberikan pesan dalam IP. Berikut adalah beberapa pesan potensial sering timbul (lengkapnya lihat RFC 792):
a. Destination unreachable, terjadi jika host,jaringan,port atau protokol tertentu tidak dapat dijangkau.
b. Time exceded, dimana datagram tidak bisa dikirim karena time to live habis.
c. Parameter problem, terjadi kesalahan parameter dan letak oktert dimana kesalahan terdeteksi.
d. Source quench, terjadi karena router/host tujuan membuang datagram karena batasan ruang buffer atau karena datagram tidak dapat diproses.e. Redirect, pesan ini memberi saran kepada host asal datagram mengenai router yang lebih tepat untuk menerima datagram tsb.
f. Echo request dan echo reply message, pesan ini saling mempertukarkan data antara host.
Selain RFC 792 ada juga RFC 1256 yg isinya berupa ICMP router discovery message dan merupakan perluasan dari ICMP, terutama membahas mengenai kemampuan bagi host untuk menempatkan rute ke gateway.
************************************************************************
7. Bagaimanakah bentuk format header protokol UDP,TCP,IP ?
1. UDP
UDP memberikan alternatif transport untuk proses yg tidak membutuhkan pengiriman yg handal. Seperti yg telah dibahas sebelumnya, UDP merupakan protokol yg tidak handal, karena tidak menjamin pengiriman data atau perlindungan duplikasi. UDP tidak mengurus masalah penerimaan aliran data dan pembuatan segmen yg sesuai untuk IP.Akibatnya, UDP adalah protokol sederhana yg berjalan dengan kemampuan jauh dibawah TCP. Header UDP tidak mengandung banyak informasi, berikut bentuk headernya :
Source port, adalah port asal dimana system mengirimkan datagram. Destination port, adalah port tujuan pada host penerima. Length, berisikan panjang datagram dan termasuk data. Checksum, bersifat optional yg berfungsi utk meyakinkan bahwa data tidak akan mengalami rusak (korup)
2. TCP
------
Seperti yg telah dibahas sebelumnya, TCP merupakan protokol yg handal dan bertanggung jawab untuk mengirimkan aliran data ke tujuannya secara handal dan berurutan. Untuk me- mastikan diterimanya data, TCP menggunakan nomor urutan segmen dan acknowlegement (jawaban). Misalkan anda ingin mengirim file berbentuk seperti berikut :
----------------------------------------------------------
TCP kemudian akan memecah pesan itu menjadi beberapa datagram (untuk melakukan hal ini, TCP tidak mengetahui berapa besar datagram yg bisa ditampung jaringan. Biasanya, TCP akan memberitahukan besarnya datagram yg bisa dibuat, kemudian mengambil nilai yg terkecil darinya, untuk memudahkan).
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
TCP kemudian akan meletakan header di depan setiap datagram tersebut. Header ini biasanya terdiri dari 20 oktet, tetapi yg terpenting adalah oktet ini berisikan sumber dan tujuan nomor port (port number) dan nomor urut (sequence number). Nomor port digunakan untuk menjaga data dari banyaknya data yg lalu lalang. Misalkan ada 3 orang yg mengirim file. TCP anda akan mengalokasikan nomor port 1000, 1001, dan 1002 untuk transfer file. Ketika datagram dikirim, nomor port ini menjadi sumber port (source port) number untuk masing-masing jenis transfer. Yg perlu diperhatikan yaitu bahwa TCP perlu mengetahui juga port yg dapat digunakan oleh tujuan (dilakukan diawal hubungan). Port ini diletakan pada daerah tujuan port (destination port). Tentu saja jika ada datagram yg kembali, maka source dan destination portnya akan terbalik, dan sejak itu port anda menjadi destination port dan port tujuan menjadi source port.
Setiap datagram mempunyai nomor urut (sequence number) masing-masing yg berguna agar datagram tersebut dapat tersusun pada urutan yg benar dan agar tidak ada datagram yg hilang. TCP tidak memberi nomor datagram, tetapi pada oktetnya. Jadi jika ada 500 oktet data dalam setiap datagram, datagram yg pertama mungkin akan bernomor urut 0, kedua 500, ketiga 1000, selanjutnya 1500 dan eterusnya. Kemudian semua susunan oktet didalam datagram akan diperiksa keadaannya benar atau salah, dan biasa disebut dg checksum. Hasilnya kemudian diletakan ke header TCP. Yg perlu diperhatikan ialah bahwa checksum ini dilakukan di kedua komputer yg melakukan hubungan. Jika nilai keberadaan susunan oktet antara satu checksum dg checksum yg lain tidak sama, maka sesuatu yg tidak diinginkan akan terjadi pada datagram tersebut, yaitu gagalnya koneksi (lihat bahasan sebelumnya). Jadi inilah bentuk datagram tersebut:
Jika kita misalkan TCP header sebagai T, maka seluruh file akan berbentuk sebagai berikut :
T---- T---- T---- T---- T---- T---- T---- T---- T---- T---- T----
Ada beberapa bagian dari header yg belum kita bahas. Biasanya bagian header ini terlibat sewaktu hubungan berlangsung.
- Seperti 'acknowledgement number' misalnya, yg bertugas untuk menunggu jawaban apakah datagram yg dikirim sudah sampai atau belum. Jika tidak ada jawaban (acknowledgement) dalam batas waktu tertentu, maka data akan dikirim lagi. - Window berfungsi untuk mengontrol berapa banyak data yg bisa singgah dalam satu waktu. Jika Window sudah terisi, ia akan segera langsung mengirim data tersebut dan tidak akan menunggu data yg terlambat, karena akan menyebabkan hubungan menjadi lambat.- Urgent pointer menunjukan nomor urutan oktet menyusul data yg mendesak. Urgent pointer adalah bilangan positif berisi posisi dari nomor urutan pada segmen. Reserved selalu berisi nol. Dicadangkan untuk penggunaan mendatang.- Control bit (disamping kanan reserved, baca dari atas ke bawah). Ada enam kontrol bit :
a. URG, Saat di set 1 ruang urgent pointer memiliki makna, set 0 diabaikan.
b. ACK saat di set ruang acknowledgement number memiliki arti.
c. PSH, memulai fungsi push.
d. RST, memaksa hubungan di reset.
e. SYN, melakukan sinkronisasi nomor urutan untuk hubungan. Bila diset maka hubungan di buka.
f. FIN, hubungan tidak ada lagi.
3. IP
-----
TCP akan mengirim setiap datagram ke IP dan meminta IP untuk mengirimkannya ke tujuan (tentu saja dg cara mengirimkan IP alamat tujuan). Inilah tugas IP sebenarnya. IP tidak peduli apa isi dari datagram, atau isi dari TCP header. Tugas IP sangat sederhana, yaitu hanya mengantarkan datagram tersebut sampai tujuan (lihat bahasan sebelumnya). Jika IP melewati suatu gateway, maka ia kemudian akan menambahkan header miliknya. Hal yg penting dari header ini adalah source address dan Destination address, protocol number dan checksum. source address adalah alamat asal datagram. Destination address adalah alamat tujuan datagram (ini penting agar gateway mengetahui ke mana datagram akan pergi). Protocol number meminta IP tujuan untuk mengirim datagram ke TCP. Karena meskipun jalannya IP menggunakan TCP, tetapi ada juga protokol tertentu yg dapat menggunakan IP, jadi kita harus memastikan IP menggunakan protokol apa untuk mengirim datagram tersebut. Akhirnya, checksum akan meminta IP tujuan untuk meyakinkan bahwa header tidak mengalami kerusakan. Yang perlu dicatat yaitu bahwa TCP dan IP menggunakan checksum yang berbeda. Berikut inilah tampilan header IP :
Jika kita misalkan IP header sebagai I, maka file sekarang akan berbentuk :
IT---- IT---- IT---- IT----- IT----- IT----- IT----- IT----
Selanjutnya berikut ringkasan mengenai bagian header yg belum dibahas :
a. Total length, merupakan panjang keseluruhan datagram dalam oktet, termasuk header dan data IP.
b. Identification, digunakan untuk membantu proses penggabungan kembali pecahan-pecahan dari sebuah datagram.
c. Flag,berisi tiga kontrol flag.
- bit 0, dicadangkan, harus 0.
- Bit 1, tidak boleh pecah.
- Bit 2, masih ada fragment lagi.
d. Fragment offset, menunjukan posisi fragment di dalam datagram.
e. Time to live, menunjukan batas waktu maksimal bagi sebuah datagram
untuk berada pada jaringan.f. Option, lihat RFC 791.
Selengkapnya...
Senin, 18 Mei 2009
Konsep Dasar TCP-IP
Sabtu, 16 Mei 2009
The gazette new album
New album release from the Gazette including previously released three single songs and new songs. Limited edition includes bonus DVD featuring music videos. Includes a separate-volume booklet. *Unless otherwise indicated, DVDs are region-2 encoded (Japan, Europe, and Middle East), and carry no subtitles.
■NEW RELEASE■
DIM Limited Edition [w/ DVD, Limited Edition]
Price: Yen- 3600, US$(37.3)
Release Date: 15-Jul-2009
pre-order here: http://www.cdjapan.co.jp/detailview.html?KEY=KICS-91479&utm_source=MAIL&utm_medium=MAIL&utm_content=KICS-91479&utm_campaign=JPOP
(read less)
Selengkapnya...
ABOUT HACKER
Jangan dulu punya anggapan buruk dengan yang namanya Hacker, karena anda mesti tahu seperti apa Hacker sejati itu. Masalahnya, ada sekelompok orang yang menyebut-nyebut dirinya sebagai Hacker padahal mereka itu adalah seorang Cracker. Hacker sejati sebenarnya tidak sejahat (atau bahkan tidak jahat sama sekali) seperti yang kebanyakan dipikirkan orang. Hacker adalah sekumpulan atau beberapa kelompok yang bertujuan untuk mengembangkan ilmu pengengetahuan dan sharing informasi bebas tanpa batas. Hacker adalah seseorang yang tertarik untuk mengetahui secara mendalam mengenai kerja suatu system,komputer, atau jaringan komputer. Mereka terdiri dari para programer yang ahli jaringan. Mereka jugalah yang berjasa membangun Internet lewat pengembangan sistem operasi UNIX.
Istilah Hacker sendiri lahir sekitar tahun 1959 dari MIT(Massacusetts Institute of Technology), sebuah universitas di Amerika yang terdiri dari orang-orang cerdas namun cenderung tidak mempercayai adanya Tuhan (Atheis). Saat itulah semua berawal, dari sebuah ruangan baru, "EAM room" pada Building 26 MIT, sebuah tempat yang merupakan nenek moyang dari "dunia baru" yang kini kita kenal, tempat nenek moyang sebuah mesin yang kini kita sebut sebagai "komputer", mesin yang mampu membawa kita menuju kelebihbaikan dengan kebebasan informasi, dunia para Hacker sejati.
Para Hacker selalu bekerjasama secara sukarela menyelesaikan masalah dan membangun sesuatu. Mereka selalu berbagi informasi, memberi jawaban serta berlomba-lomba untuk berbuat yang terbaik agar dihormati di lingkungannya. Mereka tidak pernah berhenti belajar untuk menjadi ahli dan sangat anti untuk melakukan sesuatu berulang-ulang dan membosankan. Mereka berpedoman pada kata-kata bijak : “Untuk mengikuti jalan - pandanglah sang ahli - ikuti sang ahli - berjalan bersama sang ahli - kenali sang ahli -jadilah sang ahli ”
Sementara itu, para cracker sibuk untuk memuaskan diri mereka dengan aktivitas Cracking. mulai dari membobol komputer, menebar virus (tanpa tujuan - beberapa Hacker sejati ada yang menulis virus namun dengan tujuan yang jelas), hingga mengakali telepon (Phreaking). Para Hacker menyebut mereka sebagai orang malas yang tidak bertanggung jawab. Jadi, sangat tidak adil jika kita tetap menganggap bahwa Hacker itu jahat dan menakutkan karena sangat jelas bahwa Hacker bersifat membangun sementara Cracker bersifat membongkar.
Ingin jadi seorang Hacker?? Tidak ada kata sulit bagi mereka yang mau belajar. Untuk menjadi seorang Hacker anda harus menguasai beberapa bahasa pemrograman dan tentu saja sikap-sikap yang bisa membuat anda diterima di lingkungan mereka. Biasanya calon Hacker memulai dengan belajar bahasa [Python] karena bahasa ini tergolong bahasa pemrograman yang termudah. Bahasan mengenai bahasa ini bisa anda lihat di www.python.org. Setelah itu anda juga harus menguasai [java] yang sedikit lebih sulit akan tetapi menghasilkan kode yang lebih cepat dari Python, [C], [C++] yang menjadi inti dari UNIX, dan [Perl] (www.perl.com ) serta [LISP] untuk tingkat lanjut.
Setelah menguasai semua kemampuan dasar diatas, calon Hacker disarankan untuk membuka salah sati versi UNIX open-source atau mempelajari LINUX, membaca kodenya, memodifikasi dan menjalankannya kembali. Jika mengalami kesulitan, disarankan untuk berkomunikasi dengan club pengguna Linux [ www.linpeople.org]
Sisi menarik dari seorang Hacker adalah dimana mereka saling bahu-membahu dalam menyelesaikan sebuah masalah dan membangun sesuatu. Tetapi sayangnya, kehidupan mereka yang menghabiskan 90% waktunya untuk aktivitas Hacking bukanlah hal yang baik. Kalau memang benar-benar ingin jadi Hacker, jadilah Hacker yang baik dengan memanfaatkan Teknologi Informasi untuk mengembangkan da'wah Islam.
------------------------------
Manifesto Sang Hacker
------------------------------
It happened again today. Another one sold out, sacrificing their dreams to the corporate security machine.
Damn whitehats, noone believes in a cause anymore.
Another bug was released today to the security mailing lists.
Damn Whitehats, they know not what they do.
Another potential computer genius was relegated to an existence of nothing more than a 9-5 cubicle-dwelling promotional tool.
Damn whitehats, putting money before discovery.
Another family was ravaged by cooperations and governments bent on instituting control over individuality, monitoring every action..
Another kid was sentenced today for searching for a way to understand the world. Convicted and imprisoned, not because of what he did, but because of what others thought he could do.
Damn Whitehats - Fear keeps them in business.
The public, believing anything it hears from "reputed experts". Screaming for blood. Looking for something to blame for their lost hope. Their lost ability to seek out new knowledge. Fear consumes them. They cannot let go of their uncertainty and doubt because there is no meaning. They seek to destroy explorers, outlaws, curiosity seekers because they are told too. They are told these people that seek information are evil. Individuality is evil. Judgment should be made based upon a moral standard set in conformity rather than resistance. Lives are ruined in the name of corporate profit and information is hoarded as a commodity.
Damn Whitehats, you were once like us.
I was a Whitehat. I had an awakening. I saw the security industry for what is really is. I saw the corruption, the lies, the deceit, the extortion of protection money in the form of subscription services and snake-oil security consultants.
I wanted to know, I wanted to understand, I wanted to go further then the rest. I never want to be held down by contracts and agreements.
You say I should grow up. You say I should find better things to do with my time. You say I should put my talent to better use. You're saying I should fall in line with the other zombies and forget everything I believe in and shun those with my drive, my curiosity, tell them it's not worth it, deny them of the greatest journey they will ever experience in their lives.
I am not a blackhat. The term is insulting, it implies I am the opposite of you. You think i seek to defeat security, when I seek something greater. I will write exploits, travel through networks, explore where you are afraid to go. I will not put myself in the spotlight and release destructive tools to the public to attract business. I will not feed the fear and hysteria created by the security industry to increase stock prices. I can, and will, code and hack and find out everything I can for the same reasons I did years ago.
I am a Hacker, dont try to understand me, you lost all hope of that when you crossed the line. You fail to see the lies and utter simplicity behind the computer security industry. Once, you may have shared my ideals. You fail to see the fact that security is a maintenance job.
Youve given up hope for something better. You fail to see yourself as worthless, fueling an industry whose cumulative result is nothing. I dont hate you, I dont even really care about you - If you try to stop me, you will fail, because I do this out of love -- you do it for money.
This is our world now.. the world of the electron and the switch, the beauty of the baud. We make use of a service already existing without paying for what could be dirt cheap if it wasn't run by profiteering gluttons, and you call us criminals. We explore... and you call us criminals. We seek after knowledge... and you call us criminals. We exist without skin color, without nationality, without religious bias... and you call us criminals. You build atomic bombs, you wage wars, you murder, cheat and lie to us and try to make us belive it is for our own good, yet we're the ciminals.
Yes, I am a criminal. My crime is that of curiosity. My crime is that of judging people by what they say and think, not what they look like. My crime is that of outsmarting you, something that you will never forgive me for.
I am a Hacker, and this is my manifesto. You can't stop me, and you certainly can't stop us all.
------------------------
Etika Hacker
------------------------
* Akses ke komputer-komputer - dan segala sesuatu yang berpotensi untuk mengajarmu mengenai dunia ini haruslah bebas dan total. Semua informasi haruslah tersedia secara bebas / cuma-cuma.
* Jangan percaya otoriter/kemapanan - dukung desentralisasi.
* Hackers haruslah dinilai berdasarkan kemampuan hackingnya - bukannya berdasar kriteria seperti derajat, umur, ras, atau posisi. Anda bisa berkarya seni dan keindahan melalui komputer. Komputer dapat merubah hidupmu menuju kelebih baikan.
Sedangkan dalam prakteknya, Etika Hacker diatas (prinsip) dipraktekkan dengan mengikuti kode etik:
* Jangan merusak sistem manapun secara sengaja. (rmrf hard disk, crash, overflow, dll. Mengubah tampilan index.html sebuah website sah-sah saja asalkan file aslinya disimpan di sistem yang sama dan bisa diakses oleh administrator.)
* Jangan mengubah file-file sistem selain yang diperlukan untuk mengamankan identitas anda.
* Jangan meninggalkan nama asli anda (maupun orang lain), handle asli, maupun nomor telepon asli di sistem apapun yang anda akses secara ilegal. Mereka bisa dan akan melacak anda dari handle anda.
* Berhati-hatilah dalam berbagi informasi sensitif. Pemerintah akan menjadi semakin pintar. Secara umum, jika anda tidak mengenal siapa sebenarnya lawan bicara/chatmu, berhati-hatilah!
* Jangan memulai dengan mentargetkan komputer-komputer milik pemerintah. Ya, ada banyak sistem milik pemerintah yang cukup aman untuk di-hack, namun resikonya lebih besar dari keuntungannya. Ingat, pemerintah punya dana yang tak terbatas dibanding dengan ISP/Perusahaan yang objektifnya adalah untuk mencari profit..
--------------------------------------
Tingkatan-tingkatan Dalam Dunia Hacker
--------------------------------------
Elite :
Juga dikenal sebagai 3l33t, 3l337, 31337 atau kombinasi dari itu; merupakan ujung tombak industri keamanan jaringan. Mereka mengerti sistemoperasi luar dalam, sanggup mengkonfigurasi & menyambungkan jaringan secara global. Sanggup melakukan pemrogramman setiap harinya. Sebuah anugrah yang sangat alami, mereka biasanya effisien & trampil,menggunakan pengetahuannya dengan tepat. Mereka seperti siluman dapat memasuki sistem tanpa di ketahui, walaupun mereka tidak akan menghancurkan data-data. Karena mereka selalu mengikuti peraturan yang ada.
Semi Elite:
Hacker ini biasanya lebih mudadaripada Elite.Mereka juga mempunyai kemampuan & pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi (termasuk lubangnya). Biasanya dilengkapi dengan sejumlah kecilprogram cukup untuk mengubah program eksploit. Banyak serangan yang dipublikasi dilakukan oleh Hacker kaliber ini, sialnya oleh para Elite mereka sering kali di kategorikan Lamer.
Developed Kiddie:
Sebutan ini terutamakarena umur kelompok ini masih muda (ABG)&masih sekolah. Mereka membaca tentang metoda hacking & caranya di berbagai kesempatan. Mereka mencoba berbagai sistem sampai akhirnya berhasil & memproklamirkan kemenangan ke lainnya.Umumnya mereka masih menggunakan Grafik UserInterface (GUI) & baru belajar basic dari UNIX, tanpa mampu menemukan lubang kelemahan baru di sistem operasi.
Script Kiddie:
Seperti developed kiddie, Script Kiddie biasanya melakukan aktifitas di atas. Seperti juga Lamers, mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal. Biasanya tidak lepas dari GUI. Hacking dilakukan menggunakan trojan untuk menakuti & menyusahkan hidup sebagian pengguna Internet.
Lamer:
Mereka adalah orang tanpa pengalaman & pengetahuan yang ingin menjadi Hacker (wanna-be Hacker). Mereka biasanya membaca atau mendengar tentang Hacker & ingin seperti itu. Penggunaan komputer mereka terutama untuk main game, IRC, tukar menukar software prirate, mencuri kartu kredit. Biasanya melakukan hacking menggunakan software trojan, nuke & DoS. Biasanya menyombongkan diri melalui IRC channel dsb. Karena banyak kekurangannya untuk mencapai elite, dalam perkembangannya mereka hanya akan sampai level developed kiddie atau script kiddie saja.
----------------------------------
Hacking Scene di indonesia.
----------------------------------
Pada era 80-an hingga 1994, lahirlah para Hacker Indonesia yang boleh dibilang masih "ASLI". Pada umumnya mereka lahir secara otodidak dan secara kebetulan memiliki akses jaringan. Biasanya terdiri dari para pegawai perusahaan-perusahaan besar atau instansi-instansi pemerintah. Mereka ini terdiri dari orang-orang yang berkecimpung di bidang UNIX, VAX/VMS, dan tentu saja ahli jaringan.
Ketika Internet mulai marak di Indonesia, mulailah masyarakat begitu antusias mempelajari komputer terutama network security. Jika dulunya tidak ada aktivitas yang bersifat merusak, kini perlahan hal itu mulai berubah. Remaja-remaja ABG mulai "berterbangan" di Internet, mencari tutorial-tutorial baru, mencari pengetahuan-pengetahuan komputer yang tidak mereka dapatkan di sekolah. Mereka menjadi semakin pintar, bahkan melebihi guru-guru di sekolah mereka.
Namun layaknya seorang ABG, sebagian besar dari mereka jiwanya masih labil. Pengetahuan mereka masih sangat minim dan memiliki semangat tinggi untuk merusak. Mereka masih belum mengerti arti "Hack" yang sebenarnya. Mereka dengan sombong dan tidak tau malu menyebut diri mereka Hacker hanya karena berhasil mengakali Billing, menjalankan email BOMB, menjalankan exploit-exploit. Padahal mereka sama sekali tidak tau bagaimana tool yang mereka gunakan itu sendiri bekerja. Mereka tidak mengenal sang system, namun dengan sombong mereka menyebut dirinya Hacker. Tanpa tau apa itu TCP/IP, namun dengan banga menyebut dirinya Hacker. Padahal para Hacker sejati Indonesia yang kemampuannya sudah setara dengan para wizard di Amerika dengan tegas menolak dirinya disebut Hacker lantaran masih selalu merasa ilmu yang dimilikinya belum cukup. Yeah, inilah Hacking Scene (pangung perhackingan) di Indonesia yang cukup menyedihkan ^_^ namun bisa juga diangap wajar dan manusiawi :)
Akan tetapi tidak semua dari mereka yang hanya bermulut besar. Tentu saja pasti ada diantaranya yang benar-benar memiliki kemampuan walaupun jumlahnya sedikit. Mereka yang sedikit ini kemudian banyak yang mengadakan pertemuan-pertemuan baik secara sengaja maupun tidak sengaja. Mereka tetap berexplorasi dan mencari pengetahuan, beraktivitas seperti biasa di lingkungannya tanpa menimbulkan kecurigaan atau prasangka dari masyarakat sekitarnya.
Dari pertemuan-pertemuan yang dilakukan, mulailah bermunculan organisasi-organisasi Hacker dan Cracker. Diantaranya yang cukup ternama ialah: AntiHackerlink (sudah tidak kedengaran lagi keberadaannya), Crack Sky (biasa juga dikenal sebagai Cracker Society, sebuah organisasi Underground yang berpusat di Surabaya), Kecoak Elektronik, ECHO, Jasakom Community, IndoHack, Secreet Colony, dan masih banyak lagi. Pada umumnya setiap daerah memiliki organisasi-organisasi sendiri dan nama organisasi disesuaikan dengan daerah asal mereka. Misalnya untuk komunitas Hacker Batam biasa menyebut dirinya Batam Hacker, untuk daerah malang biasa menyebut dirinya MalangHackerlink, dan lain sebagainya.
Aktivitas-aktivitas yang kini mereka lakukan cukup beragam. Pada umumnya ialah memoderasi forum-forum dan milis besar, menjadi OP di IRC-IRC Channel ternama, saling berbagi pengetahuan dengan menulis tutorial-tutorial, Artikel, Advisories seputar bugs-bugs baru beserta cara pencegahannya, mengadakan seminar-seminar tentang Network Security, menulis program open-source, serta melakukan berbagai aktivitas "Hack" sebagai sarana pemenuhan kebutuhan untuk berexplorasi.
Pada umumnya para Hacker peka terhadap keadaan lingkungannya. Anggapan bahwa mereka adalah orang-orang yang individualis dan egois tampaknya harus segera dihapuskan. Hal ini telah lama terbukti, anda bisa menyaksikan sendiri bagaimana pertarungan para Hacker Indonesia dengan Hacker-Hacker Malaysia saat negara itu ingin merampas Ambalat dari Indonesia. Atau perseteruan Hacker Indonesia melawan Hacker-Hacker dari Australia saat mereka mengusik Indonesia. Inilah cara berbeda para Hacker dalam mempertahankan negaranya, bukan dengan senjata, bukan dengan kekerasan, namun dengan ilmu pengetahuan.
Selengkapnya...