Memahami TCP/IP dan UDP

* 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 de ngan RSTflag.
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. A CK 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)

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

* 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.

3 thoughts on “Memahami TCP/IP dan UDP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s