* 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.
0 komentar:
Posting Komentar