Teknik Penghayatan Cara Kerja TCP/IP

From OnnoWiki
Jump to navigation Jump to search

Salah satu teknik belajar cara kerja jaringan Internet yang ampuh adalah dengan melihat dengan mata kepala sendiri paket-paket data yang lewat di jaringan dan mempelajari isi paket data tersebut. Onno W. Purbo banyak belajar TCP/IP (Internet) dengan cara ini sejak tahun 1985-1986, hampir setiap hari memperhatikan paket data yang lewat di jaringan dan mempelajarinya dengan membaca berbagai dokumen standard Internet yang dapat di ambil secara gratis di Internet, terutama dari situs Internet Engineering Task Force http://www.ietf.org. Dokumen standard ini dikenal dengan istilah Request For Comment (RFC).

Salah satu referensi yang cukup baik untuk menganalisa kerja protokol TCP/IP adalah “TCP/IP and tcpdump pocket reference guide” yang dapat di ambil dari http://www.incidents.org.

Pada hari ini, tersedia cukup banyak software protocol analyzer atau dalam bahasa awam-nya sering di sebut sebagai packet sniffer (pen-cium paket). Protocol analyzer umumnya berupa software yang dijalankan di sebuah komputer atau sebuah hardware yang khusus. Di kedua konfigurasi alat tersebut, card jaringan / Network Interface Card (NIC) harus di operasikan dalam mode promiscous dimana NIC akan menangkap semua paket yang lewat di jaringan, tidak hanya paket yang ditujukan pada NIC tersebut saja. Hampir semua protocol analyzer akan menampilkan / menginterpretasikan sebagian dari paket tersebut.

Cukup banyak software paket sniffer yang gratis / murah yang dapat beroperasi di Linux maupun di Windows. Salah satu yang paling populer adalah wireshark, ethereal, tcpcump yang biasanya ada di distribusi Linux. Windump adalah implementasi tcpcump di Windows. Baik tcpdump maupun windump bentuk-nya text, jadi tidak terlalu manusiawi. Bagi mereka yang menginginkan interface grafis, sebaiknya mencoba menggunakan Ethereal (sekarang bernama Wireshark) yang menggunakan interface grafis, ada di Linux maupun di Windows. Wireshark merupakan sniffer favorit yang saya gunakan akhir-akhir ini.

Ada beberapa software protocol analyzer / packet sniffer yang akan sangat membantu kita dalam mempelajadi cara kerja TCP/IP maupun berbagai protocol lainnya. Beberapa diantara software tersebut adalah:

Packet Sniffer di Linux/Unix

Packet Sniffer berbasis Linux/Unix perlu menggunakan libpcap ( http://www.tcpdump.org/), yang harus di install sebelum menginstalasi program sniffer di Linux. Di berbagai distro Linux, umumnya libcap akan secara standard / default terinstall, jadi kita tidak perlu pusing lagi dengan hal tersebut. Adapun software sniffer di Linux antara lain adalah:

Packet Sniffer di Windows

Packet sniffer berbasis Windows perlu menggunakan WinPcap ( http://www.winpcap.org/install/default.htm) yang perlu di install sebelum menginstall program packet sniffer. Ada beberapa program packet sniffer di Windows, antara lain adalah:

Berbagai tool yang berbasis WinPcap dapat dilihat di http://www.winpcap.org/misc/links.htm.


Teknik Sniffing Menggunakan Ethereal di Linux Fedora Core 4

CATATAN: Pada saat ini Ethereal telah berganti nama menjadi Wireshark

Selanjutnya akan di jelaskan teknik sniffing menggunakan Ethereal yang di install di Fedora Core 4. File ISO Fedora Core 4 dapat di ambil dari mirror yang ada di CBN http://fedora.cbn.net.id. Ethereal juga tersedia di Windows & dapat di cari di Google.

Di Fedora Core 4, Ethereal di operasikan dari Applications -> Internet -> Ethereal Network Analyzer.

Tampilan Desktop saat mengakses Ethereal Network Analyzer
Pertanyaan Password Root karena kita menggunakan previlige root

Kita akan ditanya password root untuk mengoperasikan Ethereal. Sebaiknya password root dimasukan agar kita dapat memperoleh manfaat maksimal dari Ethereal dalam proses sniffing.

Tampilan Awal Ethereal

Tampilan awal Ethereal relatif sederhana. Bagi anda yang masih pemula dalam melakukan sniffing, tombol penting yang sering digunakan hanya:

  • Capture
  • Analyze
Tombol Capture untuk memulai penangkapan paket di jaringan

Tekan tombol Capture untuk memulai proses Capture (menangkap) paket yang lewat di jaringan. Ada beberapa sub menu dari tombol Capture, seperti, memilih Interface yang ingin di monitor, start proses capture dll.

Pemilihan Interface yang akan di monitor

Pada menu Capture Interfaces kita dapat melihat semua interface yang ada di computer yang kita gunakan. Kita dapat memilih interface mana yang ingin dilakukan capture paket yang lewat.

Tekan tombol capture untuk mulai melakukan sniffing.

Statistik paket yang di tangkap

Ethereal akan memperlihatkan statistic dari paket / jenis protocol yang telah di tangkap oleh Ethereal. Lakukan proses capture ini selama waktu yang kita inginkan.

Tekan tombol Stop jika kita telah selesai melakukan sniffing.

Tampilan layar sesaat setelah tombol stop di tekan

Setelah tombol Stop pada proses Capture di tekan, maka semua paket yang telah di tangkap akan di tampilkan pada Ethereal. Pada dasarnya ada tiga (3) bagian besar tampilan data yang di capture, yaitu:

  • Tampilan semua data yang di capture, yang terdiri dari waktu (time), source (IP address pengirim), destination (IP address tujuan), protocol yang digunakan, informasi yang di bawah.
  • Tampilan lebih detail dari sebuah paket yang di capture, di kita bisa melihat layer / lapisan protocol.
  • Hexadesimal dan ASCII dari paket yang diterima.
Detail dari Protokol Link Layer

Kita dapat melihat dengan lebih detail dari berbagai informasi di lapisan protocol yang digunakan. Dalam contoh di atas di perlihatkan detail dari Link Layer Protocol Ethernet II yang berisi paket dari MAC address 00:80:48:22:2b:23 di tujukan ke MAC address broadcast pada ff:ff:ff:ff:ff:ff, dengan protocol ARP (Address Resolution Protocol) yang running di atas Ethernet II.

Sedang Protocol ARP yang digunakan berisi pertanyaan ke jaringan menanyakan MAC address dari computer dengan IP address 192.168.0.1. Pengirim pertanyaan adalah computer dengan IP address 192.168.0.39 dengan MAC address 00:80:48:22:2b:23.






Pada paket yang lain kita melihat protocol yang digunakan sekarang adalah TCP/IP. Pada Internet Protocol kita dapat melihat bahwa paket yang dikirim dari IP address 192.168.0.1 ke IP address 192.168.0.39. Dari protocol TCP (Transmission Control Protocol), terlihat bahwa yang mengirim adalah server POP3 (port nomor 110) dari computer 192.168.0.1 dengan IP address tujuan 192.168.0.39 port 3581. Nomor urut paket yang dikirim adalah 1, sedang Acknowledgement terhadap paket nomor 1.

Di atas protocol TCP, beroperasi Post Office Protocol (POP) dengan isi berita +OK POP3 yc0mlc.ampr.org v2001.78mdk server ready.




Bagi anda yang ingin mempelajari lebih lanjut isi dari protocol TCP yang dikirim, kita dapat mengklik protocol TCP tersebut. Kita akan melihat banyak hal di row yang berada di tengah.

Antara lain, kita dapat melihat source port dari paket dari POP3 (110), ditujukan ke port 3581. Nomor urut / sequence number relative 1, dengan nomor urut selanjutnya 52. Panjang Window 1888 byte, paket yang diterima tidak rusak dengan checksum 0xdaac.


Kita dapat melihat hal-hal yang menarik dari isi paket yang di capture oleh ethereal. Terutama kalau data yang di transfer berbentuk ASCII dan dapat dibaca dengan row ke tiga / paling bawah.

Dalam contoh paket yang diterima di perlihatkan ada paket yang berisi kata-kata MAIL FROM: onno@indo.net.id SIZE-473. RCPT TO: onno@indo.net.id DATA . Hal ini menunjukan bahwa paket yang kita terima adalah sebuah potongan transaksi proses pengiriman e-mail.

Tentunya kita ingin sekali melihat isi mail yang sedang di transaksikan. Hal ini dapat dilakukan melalui menu Analyze.





Pada menu Analyze ada beberapa sub-menu, seperti Display Filter, Apply as Filter, Prepare a Filter, Enable Protocols, Decode As, User Specified Decodes dan terakhir yang paling asik adalah menu Analyze untuk Follow TCP Stream. Dengan menu Follow TCP Stream kita dapat menyatukan semua paket transaksi yang ada menjadi sebuah kesatuan.



Setelah tombol Follow TCP Stream di tekan, maka akan tampak transaksi yang pengiriman e-mail yang sedang terjadi. Dalam hal ini menggunakan protocol SMTP (Simple Mail Transfer Protocol).




Demikian lah kita dapat mempelajari banyak hal dari proses sniffing paket data yang dikirim melalui jaringan.

Tentunya ilmu sniffing ini dapat menjadi ilmu yang bermanfaat dan dapat memungkinkan kita mengerti teknik jaringan Internet. Tapi seperti sebuah pisau dapat digunakan untuk hal yang tidak baik, seperti mencuri password, membaca isi mail dsb.

Semoga ilmu ini dapat dimanfaatkan untuk hal yang baik.

Referensi

Pranala Menarik