Teknik Penghayatan Cara Kerja TCP/IP

From OnnoWiki
Revision as of 05:34, 29 May 2010 by Onnowpurbo (talk | contribs)
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:

tcpdump ( http://www.tcpdump.org/), sebuah command-line packet sniffer. Tcpdump biasanya tersedia sebagai standard di berbagai distribusi. tcpshow (http://www.tcpshow.org/ ) program analysis berbasis tcpdump. Ethereal (http://www.ethereal.com/download.html ) packet sniffer dengan interface grafis. ngreg — network grep (http://ngrep.sourceforge.net/download.html) tool command line untuk menjalankan operasi regular expression pada keluaran tcpdump.

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: WinDump (http://www.winpcap.org/windump/install/default.htm) sebuah command line packet sniffer di DOS. Analyzer (http://analyzer.polito.it/ ) packet sniffer dengan interface grafis. Ethereal (http://www.ethereal.com/distribution/win32/ ) versi Ethereal di Windows. ngreg — network grep (http://ngrep.sourceforge.net/download.html) tool command line untuk menjalankan operasi regular expression pada keluaran tcpdump. Berbagai tool yang berbasis WinPcap dapat dilihat di http://www.winpcap.org/misc/links.htm.


Teknik Menjalankan WinDump

WinDump di jalankan dari DOS. Jangan double klik icon WinDump! Anda harus berada di path yang sama dengna directory tempat program WinDump berada, atau masukan path yang lengkap. Bagi anda yang menggunakan Linux, WinDump adalah sama dengan tcpdump.

Jika WinDump memberikan error message tentang adapter atau device jaringan, coba jalankan perintah:

windump –D

Hal ini akan memberikan daftar device / adapter jaringan yang tersedia di komputer anda.

Anda dapat menggunakan perintah:

windump -i nomor_device_jaringan

akan memerintahkan WinDump untuk memonitor device / adapter yang anda pilih, terutama dibutuhkan jika anda mempunyai beberapa adapter jaringan, seperti ethernet atau modem.

Untuk melihat help file, gunakan perintah:

windump -?

Manual lengkap tcpdump/WinDump dapat dilihat di http://www.winpcap.org/windump/docs/manual.htm atau http://networking.champlain.edu/download/tcpip/windump_manual.html. Sekedar catatan tambahan, expression di tcpdump menggunakan single quotes ('), sedang di windump menggunakan double-quotes (").

Teknik Sniffing Menggunakan Ethereal di Linux Fedora Core 4

Selanjutnya akan di jelaskan teknik sniffing menggunakan Ethereal yang saya 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.



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 relatif sederhana. Bagi anda yang masih pemula dalam melakukan sniffing, tombol penting yang sering digunakan antara lain adalah:

  • Capture
  • Analyze


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.


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.



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.




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.
  • ampilan lebih detail dari sebuah paket yang di capture, di kita bisa melihat layer / lapisan protocol.
  • Hexadesimal dan ASCII dari paket yang diterima.


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