Selasa, 20 November 2012


Praktikum Multi Domain dan Virtual Host


Hai para pembaca, apa kabar?
Semoga sehat selalu dan senantiasa dalam lindungan-Nya. Amin.
Baiklah, kali ini kita akan mengulas mengenai praktikum multi domain dan virtual host. Hmm, multi domain? Yap, multi domain adalah domain berjumlah yang lebih dari satu.
Mau tau lebih lanjut ? Yuk capcus! :D
Langsung aja ke langkah praktikumnya :
1. Setting BIND (/etc/bind/named.conf.local)
$sudo nano /etc/bind/named.conf.local
Tambahkan zona baru untuk domain baru. Dalam contoh ini domain baru yang ditambahkan adalah jarkom1.com sedangkan domain lama adalah jarkom.com. Perhatikan kembali modul DNS Server
# zone domain jarkom.com
zone “jarkom.com” {
type master;
file “/etc/bind/zones/jarkom.com.db”;
};
#zona domain jarkom1.com
zone “jarkom1.com” {
   type master;
   file “/etc/bind/zones/jarkom1.com.db”;
};  
# DNS reverse
zone “9.17.10.in-addr.arpa” {
type master;
file “/etc/bind/zones/jarkom-rev.db“;
};
lalu simpan dan keluar, dengan cara ctrl+o dan ctrl+x. Perlu diingat bahwa  setiap domain baru yang akan dibuat, harus didefinisikan zona dan zona DNS reversenya terlebih dahulu.
Hal ini dilakukan untuk memastikan mail server kita yang menggunakan IP  bisa dianggap eligible, dan Reverse DNS Zone merupakan salah satu syaratnya.
2.  Definisikan kembali zona domain yang baru dibuat dalam hal ini jarkom1.com
$sudo nano /etc/bind/zones/jarkom1.com.db
$TTL 3D
@ IN SOA ns.jarkom.com. admin.jarkom.com. (
   2007062001
   28800
   3600
   604800
   38400
);
jarkom1.com                 IN           NS         ns.jarkom.com.
@                                            IN           A             10.17.0.193 (IP komputer kita)
www                                     IN           A             10.17.0.193 (IP komputer kita)
                                                                 TXT     ”Network Gateway” 
lau simpan dan keluar dengan cara yang sama seperti diatas ya. ctrl+o dan ctrl+x.
3. Restart Bind
$sudo /etc/init.d/bind9 restart
4. Lakukan ping dan dig terhadap domain yang baru contoh jarkom.com,  jarkom8.com atau jarkom9.com
tetapi dalam praktikum ini kita membuat domain baru dengan nama jarkom8.com dan jarkom9.com

perintah dig yang dilakukan untuk jarkom.com
kel3@kel3:~$ dig jarkom.com 
; < <> > DIG 9.6.1-P1 < <> > jarkom.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<-  opcode: QUERY, status: NOERROR, id: 14635
;; flags: qr aa rd ra: QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;jarkom.com.                                           IN        A
;; ANSWER SECTION:
jarkom.com.                        259200    IN        A          10.17.0.193
;; AUTHORITY SECTION:
jarkom.com.                        259200     IN        A          ns.jarkom.com
;; ADDITIONAL SECTION:
ns.jarkom.com.                    259200   IN        A          10.17.0.193
;; Query time: 16 msec
;; SERVER: 10.17.0.193#53(10.17.0.193)
;; WHEN : Thu Nov 8 07:41:17 2012
;; msg size rcvd: 77
kel3@kel3:~$ dig jarkom8.com 
; < <> > DIG 9.6.1-P1 < <> > jarkom8.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<-  opcode: QUERY, status: NOERROR, id: 14635
;; flags: qr aa rd ra: QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;jarkom.com.                                           IN        A
;; ANSWER SECTION:
jarkom.com.                        259200    IN        A          10.17.0.193
;; AUTHORITY SECTION:
jarkom.com.                        259200     IN        A          ns.jarkom.com
;; ADDITIONAL SECTION:
ns.jarkom.com.                    259200   IN        A          10.17.0.193
;; Query time: 32 msec
;; SERVER: 10.17.0.193#53(10.17.0.193)
;; WHEN : Thu Nov 8 07:41:17 2012
;; msg size rcvd: 77

kel3@kel3:~$ dig jarkom9.com 
; < <> > DIG 9.6.1-P1 < <> > jarkom9.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<-  opcode: QUERY, status: NOERROR, id: 14635
;; flags: qr aa rd ra: QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;jarkom.com.                                           IN        A
;; ANSWER SECTION:
jarkom.com.                        259200    IN        A          10.17.0.193
;; AUTHORITY SECTION:
jarkom.com.                        259200     IN        A          ns.jarkom.com
;; ADDITIONAL SECTION:
ns.jarkom.com.                    259200   IN        A          10.17.0.193
;; Query time: 16 msec
;; SERVER: 10.17.0.193#53(10.17.0.193)
;; WHEN : Thu Nov 8 07:41:17 2012
;; msg size rcvd: 77

DIG (Domain Information Groper) adalah sebuah perangkat lunak berbasis open source yang digunakan untuk menginterogasi suatu server DNS (Domain name system) yang ada.
dari hasil praktikum yang didapat pun terlihat bahwa perintah dig digunakan untuk melihat NS (Name Server) yang mengelola situs atau domain yang telah kita buat.

5. Lakukan langkah yang sama untuk beberapa domain baru yang lain
6. Lakukan browsing ke domain-domain tersebut. Perhatikan bahwa semua domain akan menampilkan hasil yang sama. Agar setiap domain menampilkan tampilan sesuai dengan website masing-masing maka perlu dilakukan setting virtualhost pada apache yang terinstall.
7. Contoh terdapat 4 domain (jarkom.com, jarkom1.com, jarkom.net dan jarkom2.com). Maka harus ada 4 direktori yang akan menjadi tempat file-file website masing-masing.
misal:
jarkom.com terletak pada direktori /var/www
jarkom1.com terletak pada direktori /var/www/jarkom1
jarkom.net terletak pada direktori /var/www/jarkomnet
jarkom2.com terletak pada direktori /var/www/jarkom2
            Kemudian buat file index.html dengan isi yang berbeda pada masing-masing direktori
pada direktori jarkom : $sudo nano /var/www/jarkom/index.html
<html>
<head>
<title>Kelompok 3</title>
</head>
<body>
<p>Nanda Wiranata</p>
<p>Ari Saputra</p>
</body>
</html>
$sudo nano /var/www/jarkom8/index.html
<html>
<head>
<title>Kelompok 3</title>
</head>
<body>
<p>Yurizah</p>
<p>Zahrunisa Qorry</p>
</body>
</html>
$sudo nano /var/www/jarkom9/index.html
<html>
<head>
<title>Kelompok 3</title>
</head>
<body>
<p>Ari Saputra, Nanda Wiranata, Yurizah, Zahrunisa Qorry</p>
</body>
</html>
8. Pembuatan direktori masing-masing domain :
$cd /var/www
                $sudo mkdir   jarkom   jarkom8   jarkom9
                $ls   -l
                $sudo chmod 755 jarkom jarkom8 jarkom9
9. Konfigurasi apache2.conf
                $sudo nano /etc/apache2/apache2.conf
Isikan pada baris terakhir
ServerName 127.0.0.1
NameVirtualHost  *:80
10.  Buat file berikut dengan nama domain masing-masing pada direktori /etc/apache2/sites-available
$cd  /etc/apache2/sites-available
$sudo nano jarkom1.com
Isikan
<VirtualHost *:80>
ServerName                    jarkom.com
ServerAlias                     www.jarkom.com
DocumentRoot             /var/www/jarkom  #Sesuai direktori yang telah kita tentukan
ErrorLog                           /var/log/apache2/jarkom-error.log
CustomLog                      /var/log/apache2/jarkom-access.log combined
</VirtualHost>
Save dan Keluar dari teks editor. Lakukan langkah yang sama untuk domain lainnya (jarkom8.com dan jarkom9.com)
11. Disable VirtualHost default dan enable domain yang baru
$sudo a2dissite default
$sudo a2ensite jarkom.com
$sudo a2ensite jarkom8.com
$sudo a2ensite jarkom9.com
12. Reload apache
$sudo /etc/init.d/apache2 reload
13. Lakukan browsing menggunakan lynx ke masing-masing domain atau gunakan komputer/laptop lain. Perintah lynx ini digunakan untuk memanggil halaman yang telah kita buat dalam bentuk file dengan format .html
dalam index.html pada direktori jarkom
lynx /var/www/jarkom/index.html
Kelompok 3
Nanda Wiranata
Ari Saputra
index.html pada direktori jarkom8
lynx /var/www/jarkom8/index.html
Kelompok 3
Yurizah
Zahrunisa Qorry
index.html pada direktori jarkom9
lynx /var/www/jarkom9/index.html
Kelompok 3
Ari Saputra, Nanda Wiranata, Yurizah, Zahrunisa Qorry

Dari praktikum yang telah dilakukan, dapat ditarik kesimpulan bahwa:
  1. BIND digunakan untuk mengkonfigurasi DNS pada Multi Domain
  2. Apache digunakan untuk mengkonfigurasi Virtual Host pada WEB Server
  3. Pemanggilan file dengan format .html merupakan hasil kombinasi konfigurasi DNS Server dan WEB Server. Mengapa ? karena VirtualHost merupakan salah satu fasilitas yang didukung oleh Apache. Fungsi dari Virtualhost itu sendiri adalah untuk membuat multiple host dalam satu mesin. Nah, pendefinisian dari multiple host ini dilakukan dengan membuat konfigurasi berbagai macam domain dalam BIND.
 Semoga bermanfaat dan sampai bertemu di postingan selanjutnya :D

Rabu, 07 November 2012


Hore...Hore, akhirnya kita sampe juga pada praktikum Web server!
Apa kegiatan kita di praktikum ini? Emm, dalam praktikum ini kita akan membuat web server dengan menggunakan Apache dan PHP. Tapi seperti biasa sebelum kita membahas lebih lanjut mengenai praktikumnya, yuk kita simak dasar teorinya. Are you ready? Lets check it out!
Dasar Teori
WEB SERVER (APACHE & PHP)
Web Server adalah software server yang menjadi tulang belakang dari World Wide Web (WWW). Web server menunggu permintaan dari client yang menggunakan browser seperti netscape navigator, Internet Explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu dan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar disebut dengan format SGML ( Standard General Markup Language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser itu. Contohnya ialah bila data yang dikirim berupa data gambar, browser yang hanya mampu menampilkan text (misalnya lynx) tidak akan mampu menampilkannya dan jika ada akan menampilkan alternatifnya saja.
Web Server, untuk berkomunikasi dengan clientnya (web browser) mempunyai protokol sendiri yaitu HTTP (HyperText Transfer Protocol). Dengan protokol ini, komunikasi antar web server dengan clientnya (browser) dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, Standar format data pada World Wide Web adalah SGML. Tapi sudah menjadi hal yang umum bahwa para pengguna internet lebih banyak menggunakan format HTML (HyperText Markup Language) karena penggunaannya yang lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan mambaca dokumen-dokumen yang ada dalam komputernya atau bahkan komputer yang jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu.
Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke webclient lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.
APACHE WEB SERVER
Banyak sekali software web server yang berada di internet. Dengan berdasarkan pada 12 macam pertimbangan diatas, maka dapat dipilih software mana saja yang cocok dengan kebutuhan kita.Misalnya : Kita memasang web server untuk keperluan suatu perusahaan jasa internet (ISP ), maka pertimbangan yang harus diambil adalah apakah mereka menginginkan software yang gratis ataukomersial. Keuntungan dari software komersial adalah mereka punya dukungan teknis dan dokumentasi yang lengkap, sedang pada kebanyakan software gratis tidak punya. Namun ada juga software gratisan yang mempunyai dukungan teknis dari pembuatnya dan dengan dokumentasi yang lengkap. Salah satu software web server gratisan seperti itu adalah Web server Apache. Web server Apache mempunyai kelebihan dilihat dari beberapa pertimbangan diatas:
• Apache termasuk dalam kategori freeware (software gratisan)
• Apache mudah sekali proses instalasinya jika dibanding web server lainnya
seperti NCSA, IIS, dan lain-lain.
PHP PADA APACHE WEB SERVER
Apache web server mendukung penambahan modul-modul. Diantara modul yang sering dipakai adalah modul PHP. PHP (Personal Homep Page Tool) adalah salah satu jenis aalat yang digunakan untk membuat halaman web anda menjadi lebih menarik, lebih aman, dan lebih dinamik. Pada dasrnya PHP miirip dengan bahsa script yang lainnya seperti asp, Javascript , Visual BASic atau yang lainnya, namun keuntungannya adalah pada PHP tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basic script, sehingga lebih luas penggunaannya. Beberapa keunggulan PHP dibandingkan dengan yang lain :
• Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada
dalam modul apache PHP.
• Pembuatan file GIF menggunakan library GD yang dikompilasi saat
menginstall php.
• PHP dapat menerima metoda upload file
• Mendukung penggunaan cookie
• Mendukung integrasi dengan database
• Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya.
• Penanganan kesalahan berdasarkan tingkat kesalahan.

D. LANGKAH -  LANGKAH PRAKTIKUM
Untuk membuat suatu webserver yang support php pada komputer anda serta memeriksa instalasinya, langkah-langkah yang harus dilakukan adalah sebagai :
1. Periksa koneksi ke gateway, ke dns server dan ke server repositori (ping)
  • Ping 10.17.0.254
  • Ping 10.10.1.1
  • Ping proxy.polsri.ac.id
2. Install apache2 yang akan digunakan sebagai web server
sudo apt-get install apache2
3. Jalankan apache2
                sudo /etc/init.d/apache2 restart
4.      Periksa dan catat hasilnya
nmap -p80 localhost
nmap -p80 alamat ip
 
5.      Install lynx
sudo apt-get install lynx
6.      Browsing ke web yang anda buat
lynx alamat ip
7.      Direktori tempat file website anda adalah /var/www/. Buat file html di folder tersebut
cd /var/www/
sudo nano index.html
Isikan
<html>
<head>
<title>WEB SERVER KELOMPOK</title>
</head>
<body>
                Isilah bagian ini. Sehingga menjadi sebuah halaman website.
</body>
</html>
Save dan Keluar dari nano dengan cara CTRL+O enter dan CTRL+X
8.      Browsing kembali ke website anda, apa yang ditampilkannya ?
lalu kita edit dan simpan, kemudian dilanjutkan dengan melakukan panggilan:  lynx [alamat ip]. Tampilan ynag dihasilakan adlaah sebagai berikut.
Install PHP pada web server anda
sudo apt-get install php5 libapache2-mod-php5
10. Restart apache
sudo /etc/init.d/apache2 restart
11. Buat halaman php dan letakkan pada direktori www anda
cd /var/www/
                sudo nano test.php
Isikan
<?php
                                phpinfo();
                ?>
Save dan keluar dari text editor
12. Browsing ke website anda sambil menjalankan tcpdump catat tampilan dan hasil tcpdump
lynx ip_komputer_anda/test.php



lalu yang selanjutnya kita lakukan adalah melakukan proses browsing pada terminal 1dan melihat jumlah paket-paket datanya dengan menggunakan perintah tcpdump pada terminal 2. untuk itu, lakukan lah ping atau pun proses browsing pada terminal 1. kemudian cek tcpdump nya melalui terminal 2 dengan cara ctrl+alt+F2. proses ini dilakukan secara bersamaan ketika pada terminal 1 sedang melakukan browsing. Untuk berpindah ke terminal 1, gunakan perintah ctrl+alt+F1.

Kesimpulan:

dari praktikum yang telah kita lakukan, dapat disimpulkan bahwa
  1. Web Server adalah software server yang menjadi tulang belakang dari World Wide Web (WWW).
  2. Untuk membangun sebuah web server membutuhkan diinstal aplikasi-aplikasi yang mendukungnya, diantaranya Apache dan PHP.
  3. Pada Web server kita dapat membuat sebuah website dengan mengisikan pada tag html maupun php.
  4. Kita dapat melakukan browsing melalui console menggunakan web browser berbasis text (Lynx dan Links)

kali ini kita akan melaksanakan praktikkum FTP server. Dalam praktikum ini kita akan mempelajari bagaimana menginstal dan mengkonfigurasi FTP Server menggunakan VSFTPD.  Namun sebelumnya marilah membahas teori dasarnya terlebih dahulu.
A. Dasar Teori
TCPdump adalah tools yang berfungsi mengcapture, membaca atau mendumping paket yang sedang ditransmisikan melalui jalur TCP. TCPdump diciptakan untuk menolong programer ataupun administrator dalam menganalisa dan troubleshooting  aplikasi networking. Seperti pisau yang bermata dua (hal ini sering kali disebut-sebut), TCPdump bisa digunakan untuk bertahan dan juga bisa digunakan untuk menyerang.
Utility ini juga seringkali digunakan oleh para cracker untuk melaksanakan perkerjaannya, karena TCPdump bisa mengcapture atau mensniff semua paket yang diterima oleh network interface.
Sebagai contoh, digunakan network yang terdiri dari tiga komputer yang dihubungkan menggunakan hub. Komputer pertama, menggunakan Windows™ 98  dengan IP address 192.0.0.1, sedang melakukan koneksi melalui telnet ke komputer  kedua yang menggunakan Slackware 8.0 dengan IP address 192.168.0.2 dan host ketiga komputer Redhat 7.1 dengan IP address 192.168.0.3 yang menggunakan utility TCPdump. Alasan untuk membedakan Operating System yang digunakan adalah untuk menunjukkan bahwa TCP/IP dapat berkomunikasi dengan baik pada dua platform yang berbeda.
Untuk menjalankan TCPdump, ketik perintah tcpdump di console anda pada host 192.168.0.3 sebagai root. Output yang diperlihatkan di bawah ini adalah output yang bergulir non-stop, terus berganti baris tanpa henti hingga anda menekan Ctrl+C .
# tcpdump
tcpdump: listening on eth0
05:22:27.216338 burner.ssh > prime.1035:
P3797249897:3797249949(52) ack 2183278948 win 8576 (DF) [tos 0x10]
Contoh output yang berulang diatas menyatakan bahwa salah satu computer sedang menjalankan ssh client untuk koneksi ke server ssh di Redhat 7.1 (192.168.0.3) yang mengakibatkan trafik pada network (untuk menghasilkan output seperti diatas anda harus menjalankan ssh server pada Redhat 7.1 dan menggunakan ssh client untuk melakukankoneksi ke server dengan Slackware 8.0 (ini hanya contoh sementara).
Memang banyak sekali output yang dikeluarkan oleh TCPdump. Lalu apakah maksud dari output-output tersebut? Output pada TCPdump menampilkan informasi-informasi tentang PDU yang diambil dari frame yang dibaca/dicapture. Keterangan berikut dapat menjelaskan arti output pada contoh diatas (tcpdump -nn host 192.168.0.2 and port 23):
Field Contents Keterangan
19:20:00.804501  : Deskripsi waktu
192.168.2.10.1221  :  Alamat IP asal dengan nomor port 1221
192.168.2.165.23  : Alamat IP tujuan dengan nomor port 23
S flag/Bendera
2565655403 Nomor urutan data /data sequence number
win 16384 Window size
Sebenarnya masih banyak data field yang ditampilkan pada output, yang tidak disebutkan pada keterangan diatas. Manual pages dari TCPdump mempunyai penjelasan yang cukup tentang output yang ditampilkan. Pemahaman yang baik tentang operasi dan konstruksi dari sebuah protokol sangat dibutuhkan untuk melakukan analisa data. Utility ini juga mempunyai kemampuan untuk menganalisa PDU yang memulai dan mengakhiri suatu koneksi TCP/IP. TCP mempunyai mekanisme khusus untuk membuka dan menutup suatu koneksi. Untuk menjamin bahwastartup dan shutdown koneksi benar-benar terjadi, TCP menggunakan metode dimana ada tiga pesan yang ditukar, metode ini sering juga disebutthree-way-handshake.
FTP
FTP (File Transfer Protocol) adalah mekanisme yang digunakan untuk men-transfer data (baca: file) antar komputer lewat Internet, atau network. Dalam konteks website (blog misalnya), FTP digunakan untuk men-transfer file dari komputer kita ke server hosting, sehingga file ini kemudian bisa diakses di website kita secara online menggunakan web browser.
Setidaknya dua komputer terlibat dalam proses transfer ini: FTP server dan FTP client. FTP server menjalankan software di server (hosting) dan siap menerima permintaan transfer dari FTP client (berupa software FTP client di komputer kita, misalnya CuteFTP, SmartFTP, NCFTP, WSFTP). Untuk bisa melakukan aktifitas FTP, kita memerlukan FTP account (username dan password). Setelah FTP client terhubung dengan FTP server, kita bisa melakukan upload file ke server, download file dari server, mengganti nama file di server, menghapus file, dan banyak operasi lainnya.
Salah satu kelemahan utama dari FTP adalah kurang (atau bahkan tidak ada)-nya metode enkripsi, baik dalam pengiriman data account (password) dan pengiriman data. Karena faktor ini, direkomendasikan untuk menggunakan cara lain untuk men-transfer file lewat internet, misalnya SCP dan SSH Tunnel. SCP client yang cukup populer adalah WinSCP untuk Windows.
  1. Alat Dan Bahan
- PC dengan OS Linux
- Hub
- Kabel UTP Crossover dan Straighttrough
  1. Langkah – Langkah Praktikum
Sebelum melakukan capture data, install aplikasi ftp server pada komputer anda. Cara melakukannya adalah sebagai berikut :
1. Install FTP Server (VSFTPD)
$ sudo apt-get install vsftpd
2. Konfigurasi file /etc/vsftpd.conf
Buka file dengan text editor, misalnya nano,
$ sudo nano /etc/vsftpd.conf
Tambah baris berikut atau hilangkan tanda comment (#) pada file tersebut. Langkah ini agar user lokal bisa log in melalui ftp
local_enable=YES
Agar user bisa mengupload file, cari baris berikut dan hilangkan tanda comment (#)
write_enable=YES
Untuk keamanan, agar user tetap berada di home direktorinya, tambahkan baris berikut  :
chroot_local_user=YES
Save dan tutup file
3. Restart VSFTPD di Komputer
$ sudo /etc/init.d/vsftpd restart
4. Cara melakukan ftp melalui command line adalah sebagai berikut :
$ ftp ipkomputerserver atau domain
contoh :
$ ftp 10.17.0.251 atau $ ftp ftp.labjaringan.com
Kemudian masukkan username dan password.

Lalu pertama yang kita lakukan adalah menghubungkan komputer server dengan komputer client dengan cara menggunakan kabel cross. Kemudian isi IP, Netmask, dan DNS pada komputer client sebagai berikut.
IP: 10.17.0.170
Netmask: 255.255.255.0
DNS: 10.17.0.193
Dan isikan data berikut pada komputer server:
IP: 10.17.0.193
Netmask: 255.255.255.0
Gateway: 10.17.0.254
DNS: 10.17.0.193

Kemudian lakukan restrart jaringan dengan menggunakan perintah networking restart sebagai berikut.
$ sudo /etc/init.d/networking restart
Jika tampilan sudah menunjukkan ‘OK’, artinya antara komputer server dan komputer client telah siap untuk dioperasikan langkah selanjutnya.
Lalu yang kita lakukan adalah melakukan ping ke IP komputer server dan IP komputer client untuk melihat apakah sudah bisa terhubung atau tidak. Kemudian kita meng-capture paket data dengan filter ftp dengan cara:
$ tcpdump –i eth0 | grep ftp
Perintah ini digunakan untuk mengcapture, membaca atau mendumping paket yang sedang ditransmisikan melalui jalur eth0. Perintah eth0 ini dapat diganti menjadi eth1 atau eth2, tergantung ethernet yang digunakan oleh komputer server. Perintah grep ftp ini maksudnya kita akan melakukan filter hanya pada jalur yang dilalui FTP.
Lalu lakukan ftp ke komputer server dengan user anonymous
$ ftp [IP_server]
Setelah itu kita akan diminta untuk login dengan menggunakan user dan password yang kita gunakan untuk login ketika pertama kali membuka linux server. Setelah berhasil login ke ftp server, hentikan proses capture paket data dengan menekan  Ctrl + C .
Hasil dari capture datanya adalah sebagai berikut.
tcpdump: verbose output suppressed, use-v or -vv for protokol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
-
Pada hasil diatas komputer server siap melakukan capture data yang akan diakses melalui eth0.
Kemudian pada komputer client kita lakukan pengaksesan ftp , namun sebelumnya kita hubungkan terlebih dahulu dengan menggunakan kebel cross antara kompter server dan komputer client (laptop kita).
Pengaksesan ftp dilakukan dengan cara:
  • Buka comand prompt
  • Ketikan ftp (ip server)
  • $ ftp 10.17.0.193
Kemudian hasilnya adalah sebagai berikut:
C:\Users\Windows7\Documents>ftp 10.17.0.193
Connected to 10.17.0.193
220 <vsFTPd 2.3.5>
Users <10.17.0.170(none)): polsri
331 Please specify the password.
Password:
230 Login successful.
ftp> put Doc1.doc
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 17543 bytes sent in 0.00Seconds 8771.50Kbytes/sec.
ftp>quit
221 Goodbye.
C:\Users\Windows7\Documents>
Pada hasil diatas komputer client mengakses ke IP komputer server dengan melakukan login,kita akan diminta memasukan user dan password jika muncul “230 Login successful.” proses pengaksesan ke komputer server berhasil.
Setelah itu, kita coba meletakan sebuah file ke komputer server misalkan file “Doc1.doc” dengan melakukan perintah put. Perintah put disini sama seperti perintah upload. Jadi kita akan melakukan upload file bernama Doc1.doc ke komputer server.
ftp> put Doc1.doc
Bila muncul
200 PORT command successful. Consider using PASV. 150 Ok to send data.
226 Transfer complete.
Cara diatas adalah cara untuk mengakses ftp dengan anonymous. Dan berikut adalah cara untuk mengakses ftp dengan user login.
- Untuk pengaksesan ftp dengan user login
- Jika kita masih berada pada ftp> , keluar terlebih dahulu dengan perintah quit atau bye
- Akses kembali ftp server c:\ftp 10.17.0.193, jika ada permintaan login masukkan user dan
password sesuai dengan user dan password server.
Setelah melakukan langkah-langkah tersebut maka komputer server akan mengcapture datanya, sehingga hasil capturenya sebagai berikut:


17:58:27.962975 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 4923
3:50681, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963039 IP 10,17,0,194.ftp-data > 10.17.0.170.49178; Flags[.],ack 4633
7,win 2641, options [nop,nop,TS val 1685696 ecr 535895],length 0
17:58:27.963055 IP 10,17,0,194.ftp-data > 10.17.0.170.49178; Flags[.],ack 4923
7,win 2641, options [nop,nop,TS val 1685696 ecr 535895],length 0
17:58:27.963039 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5068
3:50681, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963055 IP 10,17,0,194.ftp-data > 10.17.0.170.49178; Flags[.],ack 5212
9,win 2641, options [nop,nop,TS val 1685696 ecr 535895],length 0
17:58:27.963220 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5212
3:50681, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963345 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5357
7:55025, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963377 IP 10,17,0,194.ftp-data > 10.17.0.170.49178; Flags[.],ack 5502
5,win 2641, options [nop,nop,TS val 1685696 ecr 535895],length 0
17:58:27.963468 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5502
5:56473, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963592 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5647
3:57921, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
17:58:27.963715 IP 10.17.0.170.49178 > 10.17.0.193.ftp-data: Flags [.], seg 5792
3:59369, ack 1, win 4163, options [nop,nop,TS val 535895 ecr 1685696], length 14
48
Dari Hasil diatas Merupakan Hasil capture file yang diletakan pada komputer server. “IP 10.17.0.193″ merupakan IP komputer server yang di setting sebelumnya.
“ftp-data > 10.17.0.170″ merupakan asal file “Doc1.doc” yang diletakan pada komputer server yaitu berasal dari komputer client dengan IP 10.17.0.170
Sekarang mari kita membahas mengenai hasil capture yang telah didapatkan. Atau dapat disebut sebagai header TCP IP
Baris 1, pada pukul 02:07:01: time stamp 962975
Client (10.17.0.170) merupakan source IP address yang melakukan koneksi ke Server (10.17.0.193) / destination address. Client mengirim kode ACK 1. 1 merupakan angka relatif setelah persiapan koneksi selesai. ACK 1 berarti client mengkonfirmasikan bahwa paket data nomor 1 dari Client diterima oleh Server (10.17.0.193). Win 4163 adalah Windows size nya. Selanjutnya 49233:50681 merupakan sequence number. Sedangkan length 1448 maksudnya adalah total panjang header dan panjang data yang dikirimkan sepanjang 1448. Pada baris pertama source portnya adalah 49178. Source port ini merupakan port asal yang digunakan untuk mentransfer data dari komputer client ke komputer server. Sedangkan destination port disini tidak didefinisikan, tetapi dilakukan melalui service tujuan berupa ftp-data.

Kesimpulan
Header pada TCP IP terdiri dari komponen berikut.
  • Source Port (16 bit)
Source port (port asal) merupakan port yang akan digunakan untuk melakukan koneksi ke host lain. Source port akan diberikan oleh sistem secara acak dengan nilai diatas 1023. Source port ini digunakan oleh host tujuan untuk membalas paket ke host yang melakukan request, sehingga host tujuan akan memberikan paket balasan ke servis yang tepat – tidak nyasar membalas paket ke service yang lain.
•  Destination Port (16 bit)
Destination port (port tujuan) merupakan port yang  akan dituju dalam sebuah koneksi, destination port terkait dengan servis apa yang tersedia di host  tujuan.
  • Sequence Number (32 bit)
Sequence number merupakan nomor urut paket dari  seluruh paket data. Ketika paket dikirimkan, maka setiap paket yang dikirim akan mendapat nomor urut. Paket data bisa saja sampai di tujuan dalam keadaan tidak berurut tergantung rute yang ditempuh dan kepadatan traffic nya, ketika sampai di host tujuan, paket data akan diurutkan kembali sehingga paket data dapat disusun kembali sehingga akan dihasilkan data seperti yang dikirimkan oleh host pengirim.

•  Acknowlegment Number (32 bit)
TCP merupakan protokol yang  connection oriented yang berarti bahwa TCP menjamin bahwa paket data sampai host tujuan dengan baik. Host asal tidak akan mengirimkan paket data ke host tujuan jika host asal belum menerima konfirmasi dari host tujuan bahwasanya nomor urut paket ke-n dari host asal silahkan dikirim ke host tujuan. Nomor urut paket ke-n yang dipersilahkan dikirim itulah yang disebut dengan ackownlegment number.
  • Data Offset (4 bit)
Header ini digunakan untuk menunjukkan awal  field  data, data offset berupa  jumlah 32 bit word dari header TCP
•  Reserved (6 bit)
Header cadangan. Header ini diset 0 pada host pengirim dan diabaikan oleh penerima.
•  Control Bit – URG (1 bit)
Jika kode ini diset (bernilai 1)  akan mengindikasikan sebagai data urgent yakni didahulukan dari data atau transmisi yang lain, sebagai contoh kondisi urgent ketika kita sedang proses download dengan FTP tetapi kita ingin membatalkannya dengan CTRL+C.
•  Control Bit – ACK (1 bit)
Jika kode ini diset akan mengindikasikan bahwa paket data yang akan boleh dikirimkan, nomor paket yang boleh dikimkan ini didefinisikan dalam header Acknowlegment Number.
•  Control  Bit- PSH(1 bit)
Jika kode ini diset akan mengubah mode tranmisi dengan mode push yaitu memflush data pada layer TCP, contoh mode push yaitu pada aplikasi telnet dimana telnet merupakan aplikasi interaktif
•  Control  Bit- RST (1 bit)
Kode ini digunakan jika koneksi akan direset yaitu membatalkan secara tiba-tiba, hal ini terjadi karena error dalam koneksi atau oleh interupsi yang lain.
•  Control  Bit- SYN (1 bit)
Kode ini digunakan jika akan memulai sebuah koneksi TCP (persiapan transmisi data pada TCP/IP) yaitu untuk mensinkronisasi sequence number .
•  Control  Bit- FYN (1 bit)
Code ini diset jika seluruh data sudah terkirim dan session  transmisi akan disudahi.
•  Window (16 bit)
Header ini menunjukkan jumlah blok data yang mampu diterima dalam satu kali transmisi, hal ini diperlukan agar semua data dapat di terima dengan sebaik-baiknya.
•  Checksum (16 bit)
Header ini digunakan untuk mengetahui apakah terjadi perubahan header dan data yang dikirimkan ketika proses transmisi.
•  Urgent Pointer (16 bit)
Header ini bermakna hanya jika URG pada Control Bit diset. Urgent Pointer menunjukkan lokasi data yang akan ditransmisikan dengan mode urgent
•  Option
Saat ini header ini terdapat 3 fungsi, yaitu untuk menunjukkan
•  End of option list
•  No operation
•  Maximum segment size
•  Padding
Digunakan untuk memenuhi panjang header merupakan kelipatan 32 bit. Jika terdapat header yang kurang, maka padding ditambahkan sampai berjumlah 32 bit.