Rabu, 16 Januari 2008

peNgaLamaTan IP

Memahami TCP/IP dan UDP
This tutorial is written by POOL
* TCP/IP TCP singkatan dari 'Transmission Control Protocol' dan hampir semua
sistem operasi modern kompatibel dengan protocol ini. TCP adalah dasar dari koneksi,
Hal ini berarti melakukan suatu koneksi langsung antara dua komputer untuk melakukan transfer data antara kedua host. Suatu paket mengandung header dan data gram,
pada bagian header dari paket akan mengandung informasi penting tentang :
Source Port
Destination Port
Sequence number
Acknowledgement number
Header Length (Standard 20 Bytes)
Flags (syn, ack, psh, fin, rst, urg)
Window size
Checksum
IP_v4 or IP_v6
Header Length
DSF
Total Length
Identification
Flags (Set Fragment bit or not)
Fragment Offset
TTL
Protocol (this case TCP)
Header checksum
Source IP
Destination IP
Jika anda ingin memahami bagaimana suatu koneksi dilakukan,
bacalah dengan seksama ilustrasi berikut ini : Awalnya suatu paket dengan
SYN-flag dikirim ke IP tujuan, tujuan akan memberikan respon dengan suatu
ACK(SYN) flag atau suatu paket dengan RST-flag. Akan saya jelaskan: SYN singkatan dari SYN-(synchronisation), yang digunakan untuk ‘memberitahukan' komputer tujuan
suatu permintaan melakukan koneksi, kalau diterima, maka permintaan tersebut
akan dijawab dengan suatu paket ACK(SYN) flag. ACK singkatan dari ACK-(nowledgement). Setelah menerima paket dengan ACK(SYN) flag, komputer mengirim kembali suatu ACK memberitahukan host lain bahwa koneksi telah dibuat. Hal ini kita sebut sebagai
"Three-Way-Handshake". Jika koneksi telah dibuat dan salah satu host
ingin melakukan disconnect, akan dikirim suatu paket dengan FIN-flag diaktifkan.
(FIN singkatan dari FINish). Tabel ini akan membuat hal ini lebih jelas:
Computer A Computer B
========== ==========
1) SYN -->
2) <-- ACK(SYN)
3) ACK --> Ya, koneksi telah dibuat!
4) FIN -->
5) <-- ACK(FIN)
6) RST --> Sekarang koneksi telah ditutup dan transfer data diputuskan.
Computer A Computer B
========== ==========
1) SYN -->
2) <-- RST
3) ACK --> "Computer B" tidak ingin melakukan koneksi dengan "Computer A"!
(mungkin komputer B menjalankan suatu firewall)
Ada beberapa cara untuk mengeksplotasi protocol TCP :
SYN-floods, teardrop, Smurf-attacks, sequence-number attacks & dll.
Untuk informasi yang lebih lengkap http://neworder.box.sk/ dan http://packetstorm.securify.com/
IP adalah singkatan dari Internet Protocol. Perhatikan lagi contoh diatas,
jika "Computer A" mengirim suatu paket ke "Computer B", IP dari kedua
komputer berada didalam IP-header dari paket tersebut, yaitu IP tujuan
(dari komputer B) dan IP sumber (dari komputer A). Router yang berada
diantara kedua host akan memeriksa IP-header tersebut dan melakukan
masquerade paket tersebut ke segment berikutnya. Jika terjadi kesalahan
dalam pengiriman tersebut, contohnya host tujuan tidak dapat dicapai,
suatu ICMP (Internet Control Message Protocol) digunakan untuk mengirim
pesan kesalahan sehingga kesalahan tersebut dapat diperbaiki
(dan paket tersebut harus dikirim ulang).
Program seperti 'ping' dan ‘traceroute’ juga mengunakan pesan ICMP
untuk mendeteksi status dari host yang berada di segment lain.
Sekarang yang menjadi standar adalah IP_v4, dan standar untuk masa
yang akan datang adalah adalah IP_v6, juga disebut juga sebagai IP_ng
(next generation). IP_v4 mengunakan pengalamatan 32-bit, sedangkan
IP_v6 menggunakan pengalamatan 128-bits, sehingga menghasilkan
pengalamatan IP dalam jumlah yang sangat besar.
* Beberapa protocol penting lainnya
* UDP, User Datagram Protocol, adalah TCP yang connectionless.
Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan dan
mencapai komputer lain tanpa membuat suatu koneksi. Sehingga dalam
perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung
antara kedua host, jadi UDP sifatnya tidak realibel, tetapi UDP adalah lebih
cepat dari pada TCP karena tidak membutuhkan koneksi langsung.
* FTP (File Transfer Protocol), digunakan untuk melakukan upload dan download file, keamanan didasarkan kepada username dan password (kadang-kadang
suatu anonymous login diperbolehkan), Kelemahan dari protocol ini adalah
username dan password dikirim secara Clear Text melalui jaringan komunikasi,
sehingga dapat menjadi sasaran empuk bagi program pemantau jaringan seperti
packet Sniffer. Suatu daemon FTP melakukan listening pada port 21/TCP
dan mengirim data pada port 20/TCP.
* HTTP, HyperText Transfer Protocol. HTTP digunakan untuk
transfer halaman web, sebelumnya orang menggunakan protokol gopher.
Tetapi Gopher hanya mendukung text, sehingga HTTP berkembang dan
digunakan oleh orang banyak. Suatu daemon HTTP melakukan listening
pada port 80/TCP.
* SMTP, Simple Mail Transfer Protocol digunakan untuk mengirim
electronic mail (Email).
Baca tutorial tentang send-mail diRead the send mail-tutorial pada
http://blacksun.box.sk/ dan anda akan belajar banyak tentang protocol ini,
suatu daemon SMTP mendengan pada 25/TCP. Salah satu kelemahan dari
protokol ini adalah tidak melakukan authentication terhadap klien, sehingga
seseorang dapat dengan mudah mengunakan telnet ke port 25/TCP, dan
mengirim email kepada siapa saja, dan dapat memanipulasi alamat sumber data.
* POP, Post Office Protocol. Belakangan ini POP3 adalah standard yang
paling popular. POP digunakan untuk menerima dan membaca email dari suatu
halaman web. Suatu daemon POP3 melakukan listening pada 110/TCP.
Salah satu kelemahan protocol ini adalah mengirim username dan password
secara Clear Text, sehingga dengan mudah dapat diambil dengan program packet Sniffer.
* DHCP: Dynamic Host Configuration Protocol.

Jika anda mendapatkan suatu Cable-connection dengan menggunakan DHCP
akan mendapatkan IP dari ISP anda.
* OSPF (Open Shortest Path First) & RIP (Routing Information Protocol)
digunakan untuk menentukan metode yang terbaik dalam routing.
* BOOTP digunakan untuk boot (biasanya) suatu diskless workstation akan
membaca informasi boot pada server. Server standarnya melakukan
listening pada 67/UDP.
* ARP & RARP: Address Resolution Protocol. Saya akan menjelaskannya
dengan contoh: Jika anda ingin mengirim data ke suatu host dan anda
memiliki MAC-address (Media Access Control, Ethernet-address) anda
dapat melakukan query ke router untuk mendapatkan IP-nya, hal ini
ditangani oleh ARP, jika anda memiliki IP dari sautu host dan anda ingin
mendapatkan MAC-address-nya, anda dapat menggunakan RARP
(Reverse Address Resolution Protocol).
* Telnet (Network terminal protocol) digunakan untuk login secara remote
ke komputer (biasanya pada sistem UNIX-base). Telnet mengirim username
dan password dalam bentuk Clear Text melalui jaringan, sehingga mudah
diambil orang lain dengan suatu Packet Sniffer. Ada protocol yang disebut
sebagai SSH (Secured SHell) yang juga digunakan untuk login yang lebih
aman secara remote: dimana data yang akan dikirim di enkripsi, sehingga
data yang diperoleh packet Sniffer menjadi tidak berarti. Telnet dan SSH
sering digunakan pada lingkungan UNIX. Suatu daemon telnet melakukan
listening pada 23/TCP dan daemon SSH melakukan listening pada 22/TCP.
* Suatu protocol khusus pada sistem UNIX-base adalah finger, dan sudah
sekarang jarang ditemukan. UNIX yang menjalankan daemon finger,
standar-nya melakukan pendengaran pada 79/TCP & 79/UDP. Kelemahan
finger adalah akan memberikan informasi yang berharga keluar
(seperti nama account, nomor telepon sehingga memungkinkan untuk
pemakaian serangan Social-Engineering). Terdapat banyak kelemahan
pada daemon finger dan sangat tidak aman.

Tidak ada komentar: