.:My Black Corner:.

Tuesday, March 25, 2008

Sistem Penjadwalan dengan Crontab - Ubuntu Gutsy Gibbon

Crontab adalah aplikasi untuk penjadwalan. Hal ini memungkinkan user melakukan eksekusi aplikasi atau script program sesuai dengan waktu yang telah ditentukan. Crontab menggunakan daemon Cron, konfigurasi ini terdapat pada masing-masing home direktori user, disimpan di /var/spool/cron/crontab. File crontab ada di direktori /etc/crontab. Crontab memiliki konfigurasi sebagai berikut:
Perhatikan diagram disamping, tiap bagian di pisah oleh spasi. Perintahnya dimulai dari:
Menit (0-59), Jam (0-23), Hari (1-31), Bulan (1-12), Minggu (0-6, 0=Minggu).




Editor Crontab
Sebelum memulai aplikasi crontab, kita harus menetapkan editor text apa yang akan digunakan untuk crontab. Kali ini saya menggunakan editor teks "nano", bagi yang lebih senang memakai "vi" atau "emacs" silahkan saja. Perintahnya adalah:
# export EDITOR=nano

Contoh kasus 1:

Saya ingin menjalankan /sbin/reboot tiap tanggal 1 dibulan Januari dan juga tiap hari senin pertama di bulan Januari, jam 14:30. Berarti script perintahnya:
# crontab -e
30 14 1 1 1 /sbin/reboot

Contoh kasus 2:
Saya ingin menjalankan script /sbin/reboot tiap tanggal 1 sampai tanggal 10 di bulan Maret, September, dan Desember, jam 00:30. Berarti perintahnya:
# crontab -e
30 00 * 3,9,12 1-10 /sbin/reboot

Contoh kasus 3:
Saya ingin menjalankan script /sbin/terserah/kamu/lah pada tanggal 1 setiap bulan pada jam 00:45. Perintahnya:
# crontab -e
45 00 1 * * /sbin/terserah/kamu/lah


Tambahan:

crontab -e
Meng-edit atau membuat file /etc/crontab.
crontab -l
Melihat isi file /etc/crontab.
crontab -r
Menghapus isi file /etc/crontab.


posted by .:CyberColombuzz:. at 12:26 PM 4 comments

Konversi File .rpm ke .deb - Ubuntu 7.10

Bagaimana cara meng-convert atau mengkonversi file dengan ekstensi RPM ke file dengan ekstensi DEB? Jawabannya: mudah, hanya dengan menggunakan aplikasi bernama 'Alien'. Ini berguna bagi user yang terbiasa menggunakan distro dari keluarga Redhat yang bermain distro keluarga Debian. Tentunya ini balik lagi ke kebutuhan dari user itu sendiri. Sebenarnya paket-paket dari repository Debian atau Ubuntu sudah lumayan lengkap. Tapi ada kalanya ada satu paket yang tidak ada di repository, dan RPM menyediakannya. Sekali lagi tergantung kebutuhan masing-masing user.

Cara install:
# apt-get install alien

Cara menjalankannya:
Meng-convert file .rpm ke file .deb.
# alien -k file_rpm_terserah.rpm

Untuk meng-install file .deb.
# dpkg -i file_deb_terserah.deb

Kita juga dapat langsung melakukan installasi file .rpm yang sudah di konversi ke .deb, dan langsung menghapus file .deb yang baru saya dibuat.
# alien -i file_rpm_terserah.rpm

Keterangan Parameter:
alien -d
untuk merubah paket menjadi .deb
alien -r
untuk merubah paket menjadi .rpm
alien -tgz
untuk merubah paket menjadi .tgz

posted by .:CyberColombuzz:. at 11:26 AM 0 comments

Task Manager dengan HTOP

Ini salah satu aplikasi monitoring system yang lumayan keren buat pengguna konsole atau Xterm. Setidaknya masih ada warna, daripada hitam-putih kayak tv jaman doeloe. Aplikasi ini mirip sama "task manager" punya Mikocok Windows. Pada aplikasi ini diperlihatkan 4 item utama: Penggunaan CPU, Memory, Swap File, dan mengetahui proses-proses yang sedang berjalan. Sebenarnya 'htop' ini pengembangan dari aplikasi sebelumnya yaitu 'top'. Hanya saja aplikasi 'top' masih menggunakan PID/Process ID untuk meng-kill aplikasi yang sedang berjalan. Untuk menghentikan aplikasi yang sedang berjalan menggunakan 'htop', kita tinggal sorot aplikasi itu dan tekan tombol fungsi F9.

Cara install:
# apt-get install htop
# htop


posted by .:CyberColombuzz:. at 10:55 AM 0 comments

Monday, March 24, 2008

Sniffing Paket Data Yahoo Messenger

Pada artikel kali ini saya membahas bagaimana cara mengendus (hehe.. kayak dogi aja) paket data Yahoo Messenger atau Y!M pada gateway Linux dan FreeBSD. Disini saya menggunakan distro Ubuntu 7.10 (Gutsy Gibbon). Sebenarnya banyak cara untuk melakukan sniffing paket data pada Y!M. Tapi ini salah satu cara yang saya temukan cukup handal dan ringan. Cara install dan cara menjalankannya:

Pada Ubuntu Gutsy 7.10
Installasi:
# apt-get install tcpick

Cara menjalankan:
Untuk mengendus paket data Yahoo Messenger kita harus meng-capture port mmcc/ port 5050.
# tcpick -i eth1 "port mmcc" -S -yP
Starting tcpick 0.2.1 at 2008-03-24 15:51 WIT
Timeout for connections is 600
tcpick: listening on eth1
setting filter: "port mmcc"
YMSG.............H..4..giant_step2003..1..giant_step2003..5..master_deta..14..aku trakir bakso sekenyang2nya..97..1..63..;0..64..0..206..2..337..
YMSG.....u..ZU.V....1..master_deta..5..dadhee..97..1..14..blm bisa pastikan, ntar deh dikasih tahu lagi..63..;0..64..0..1002..1..206..2..
YMSG.............TT.4..master_deta..1..master_deta..5..dadhee..97..1..14..blm bisa pastikan, ntar deh dikasih tahu lagi..63..;0..64..0..1002..1..206..2..10093..4...
YMSG.....>.K........49..TYPING..1..master_deta..14.. ..13..0..5..dadhee..1002..1..

Sebenarnya dari sisi tampilan output seperti ini tidak enak diliat. Apalagi kalau aktifitas chatting client yang menggunakan Y!M sedang banyak. Tapi tidak masalah apabila sudah terbiasa membaca log-log file history, atau bagi seorang code breaker seperti John Nash di film "Beautiful Mind".

Pada FreeBSD
Installasi:

# cd /usr/ports/net/tcpick/
# make install clean

Atau langsung download versi terbarunya di freshports.org

Cara menjalankan:
# /usr/local/bin/tcpick -i rl2 "port mmcc" -S -yP



TAMBAHAN:

Pada perintah capture paket data Yahoo Messenger kita juga dapat memberikan argumen seperti ini:
# tcpick -i eth1 -yP "host 192.168.0.210" | grep YMSG

Artinya kita meng-capture paket data pada interface eth1 (local) dengan ipaddress client 192.168.0.210 dan memiliki filter YMSG.

Untuk meng-capture AIM, kita dapat memberikan perintah seperti ini:
# tcpick -i eth1 "port aol" -S -h -yP

Artinya kita meng-capture paket data di interface eth1 (local) pada port AOL/ port 5190. Opsi -h berarti ditampilkan header.

Begitu juga jika kita ingin melihat permintaan paket data HTTP GET pada jaringan local.
# tcpick -i eth1 -yP | grep GET


Selamat mengintai...!


posted by .:CyberColombuzz:. at 2:41 PM 3 comments

Gateway Monitoring / Packet Sniffing Tools

Sebagai admin jaringan sudah selayaknya kita tau aktifitas jaringan kita. Bagaimana kondisi bandwidth? client sedang men-download file apa? mengirimkan paket data apa? Intinya segala sesuatu yang berhubungan dengan aktifitas jaringan client... Disini saya akan membahas aplikasi-aplikasi monitoring yang dapat dijalankan pada konsole.

Pada kasus ini, mesin
gateway berjalan dengan dua interface jaringan, eth0 dan eth1. Dimana eth0 terhubung ke modem internet dan eth1 terhubung ke LAN switch (local). Kali ini saya menggunakan sistem operasi Ubuntu 7.10, Gutsy Gibbon.

BWM
BWM adalah salah satu aplikasi
bandwidth monitoring sederhana, yang memperlihatkan statistik bandwidth dari interface jaringan.
# apt-get install bwm
# bwm










PKTSTAT
Aplikasi ini akan menampilkan secara berkala siapa saja yang sedang menggunakan
bandwidth. Fitur dari aplikasi ini dapat menampilkan URL dari permintaan HTTP GET dan POST. Pktstat dapat menunjukan tiap 5 detik sekali perubahan. Saran dari saya lebih nyaman menggunakan aplikasi yang serupa tapi dengan fitur yang lebih lengkap dari aplikasi ini.
# apt-get install pktstat
# pktstat -i eth1 -n -t "port 80"









IFTOP
Aplikasi ini memiliki fitur men-
generate bandwidth per host atau per koneksi dengan menggunakan grafik batang. Tampilan dari iftop ini juga bisa update otomatis secara berkala. Juga aplikasi ini mendukung libpcap-style filter, jadi kita dapat juga melihat jenis koneksi dari lalu-lintas jaringan.
Installasi:
# apt-get install iftop

Untuk menjalankan:
Perintah ini menampilkan
bandwidth yang down oleh koneksi client dengan disertai tampilan port-port.
# iftop -i eth1 -p -P -n -N

Kita juga bisa juga menggunakan
libpcap-style, jika ingin melihat hanya beberapa koneksi. Misal: Kita ingin melihat koneksi dari ipaddress 192.168.0.210, tapi tidak ingin melihat koneksi dengan ipaddress 192.168.0.11.
# iftop -i eth1 -p -P -n -N -f "net 192.168.0.210 and not net 192.168.0.11"

Atau juga melihat semua lalu-lintas dari
port HTTP/80:
# iftop -i eth1 -p -P -n -N -f "port 80"

Kita bisa menambahkan atau mengganti
filter ketika iftop sedang berjalan dengan menekan tombol 'f'.

IPTRAF
Apabila dibandingkan dengan 'pkstat' dan 'iftop', iptraf lebih mudah digunakan. Aplikasi ini juga dapat menampilkan lalu-lintas data dengan perhitungan
byte, dan tentunya dari sisi tampilan lebih memanjakan user.
Installasi:
# apt-get install iptraf

Cara menjalankan:
# iptraf -i eth1

Kita juga dapat menggunakan beberapa argumen dengan banyak pilihan perintah.. Misal: kita menginginkan
monitoring paket data berdasarkan urutan MAC address, tinggal kita pilih LAN Station Monitor.

TCPDUMP
Aplikasi ini bisa dikatakan salah satu yang paling tua. Banyak aplikasi sejenis yang menggunakan
syntax port filter yang sama dengan aplikasi TCPDUMP ini (sejak menggunakan libpcap). Sebenarnya aplikasi ini apabila dijalankan sendiri memiliki keluaran yang susah dibaca, karena menggunakan karakter raw binary. I don't find this tool useful for quick and dirty jobs.
Installasi:
# apt-get install tcpdump

Cara menjalankan:
# tcpdump -i eth1 "port mmcc" -n -w -

VNSTAT
Hampir serupa dengan aplikasi
monitoring 'bwm', hanya saja aplikasi ini cuma meng-counting bytes masuk dan bytes keluar (saja). Bisa dilihat juga di /proc/net/dev, dengan cara:
# cat /proc/net/dev

Jalankan vnstat pertama kali untuk database dapat meng-identifikasi kartu jaringan yang akan di monitor.
# vnstat -u -i eth0

Lalu buat satu baris script di /etc/crontab untuk dapat meng-update setiap 5 menit:
# nano /etc/crontab
*/5 * * * * root /usr/bin/vnstat -u -i eth0

# vnstat

URLSNARF
Aplikasi ini akan mengendus paket dan menampilkan permintaan HTTP dari
client dalam bentuk log. Jalankan urlsnarf:
# urlsnarf -i eth0
dsl-238-248.melsa.net.id - - [24/Mar/2008:14:03:51 +0700] "GET http://www.saradbali.com/images/e-backbott.gif HTTP/1.1" - - "http://www.saradbali.com/edisi92/paruman3.htm" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
dsl-238-248.melsa.net.id - - [24/Mar/2008:14:03:52 +0700] "GET http://kawansejati.ee.itb.ac.id/themes/garland/images/bg-navigation.png HTTP/1.1" - - "http://kawansejati.ee.itb.ac.id/themes/garland/style.css" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
dsl-238-248.melsa.net.id - - [24/Mar/2008:14:03:53 +0700] "GET

#===== end =====#
Aplikasi-aplikasi
monitoring diatas dapat dijalankan di konsole atau terminal mode. Bagaimana dengan aplikasi monitoring yang ber-basiskan GUI atau web? Masih banyak lagi aplikasi yang memiliki fitur yang tidak kalah lengkap dengan tampilan wah.
Seperti:
1.
Wireshark
2.
LANMAP
3.
Darkstat
4.
Etherape

Selamat mencoba..!

"Ilmu itu seperti pedang, banyak ilmu, tajam pedang itu. Tetapi kalau tidak tahu bagaimana cara menggunakan pedang.., pedang yang tajam pun tidak ada gunanya. Alih-alih menusuk diri kita sendiri."

posted by .:CyberColombuzz:. at 9:02 AM 1 comments

Friday, March 14, 2008

Membuat PC Router dengan mesin Linux

Ini salah satu artikel yang terlambat di-posting. Yaa, daripada tidak sama sekali, "better late than never". Disini saya akan memaparkan bagaimana membuat PC router sederhana dengan menggunakan Linux dan iptables. Sebenarnya relatif mudah dalam installasi kali ini, anggap saja system Linux sudah ter-install dengan baik. Dalam penerapan kali ini saya menggunakan distro Ubuntu 7.10.

Satu syarat apabila ingin membuat PC router Linux dengan menggunakan iptables, pastikan nilai dari ip_forward = 1. Untuk melihatnya gunakan perintah berikut:
# more /proc/sys/net/ipv4/ip_forward
0

Nilai default dari /proc/sys/net/ip_forward adalah 0. Ubah nilai tersebut menjadi 1.
# echo 1 > /proc/sys/net/ipv4/ip_forward

Contoh kasus, lihat gambar berikut:



Pada kasus ini, kita mempunyai misi bagaimana caranya meneruskan paket dari kedua client tersebut ke Internet (atau sebaliknya), dengan melewati gateway/PC router. Dengan menggunakan iptables kita hanya perlu satu baris script routing.
# iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

Lalu coba sekarang dari komputer client melakukan ping:
$ ping www.detik.com
PING www.detik.com 56(84) bytes of data.
64 bytes from www.detik.com : icmp_seq=1 ttl=64 time=0.324 ms
64 bytes from www.detik.com : icmp_seq=2 ttl=64 time=0.222 ms

Apabila komputer client sudah dapat reply, maka artinya PC router kita sudah dapat digunakan. Oleh sebab itu kita harus membuat satu script routing, agar apabila PC router restart, script tersebut dapat langsung dijalankan.

Tambahkan 3 baris berikut pada file /etc/rc.local.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

Untuk mencobanya, silahkan restart komputer router. Lalu lakukan ping ke alamat situs di internet melalui komputer client, ketika komputer router sudah nyala kembali dengan normal.

Tambahan:
Bila perlu kita tambahkan beberapa script firewalling dibawah 3 baris perintah tadi. Bedanya kita kali ini perlu membuat satu file yang isi file-nya seperti berikut ini:

Buat satu file dengan nama routing.
# touch /etc/init.d/routing
# chmod 755 routing

Isi dari file routing:
# Script routing pada baris ke 3
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -d ! 192.168.0.254 -j MASQUERADE

# FIREWALL hanya mengijinkan port 22 dan 80 saja
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# ==========================
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Selamat mencoba...

posted by .:CyberColombuzz:. at 11:16 AM 1 comments

Memonitor jaringan dengan menggunakan ntop

Aplikasi ntop ini cocok sekali bagi admin jaringan yang masih newbee. Alasannya karena installasi yang relatif mudah, walaupun pada penggunaannya akan lebih banyak menggunakan ruang memory. Sebenarnya banyak aplikasi serupa yang lebih handal dalam menangani bandwidth monitoring pada jaringan, seperti; MRTG, cacti, snmp, dkk. Yang saya kedepankan di artikel ini adalah kemudahan installasi dari ntop. Disini saya hadirkan bagaimana cara menginstall aplikasi ini pada dua sistem operasi yang berbeda.
Catatatan: Port default ntop adalah 3000.

Menginstall ntop pada FreeBSD
# cd /usr/ports/net-mgmt/ntop

# make install clean

lalu jalankan ntop
# ntop &
(selesai) Buka web browser ke alamat http://localhost:3000/

Menginstall ntop pada Linux (Ubuntu)
Cara 1:
# apt-get install ntop

Lalu install aplikasi pendukung beserta library.
# apt-get install rrdtool rrdtool-tcl rrdcollect

Buat dan setting direktori library
# mkdir /var/lib/ntop/rrd
# mkdir /var/lib/ntop/rrd/graphics
# mkdir /var/lib/ntop/rrd/interfaces
# mkdir /var/lib/ntop/rrd/flows

Buat user baru dengan nama ntop:
# adduser --no-create-home --disabled-login ntop

Ubah kepemilikan direktori yang baru saja dibuat.
# chown -Rf ntop.root /var/lib/ntop

Ubah hak akses direktori.
# chmod -Rf 777 /var/lib/ntop/rrd

Buat password untuk admin.
# ntop --set-admin-password=

Jalankan ntop:
# ntop

Cara 2:
Cara kedua ini proses installasi relatif lebih mudah lagi, tanpa harus setting2 konfigurasi direktori dsb.
# mkdir /usr/local/ntop
# cd /usr/local/ntop
# svn co https://svn.ntop.org/svn/ntop/trunk/ntop

Compile ntop:
# cd ntop
# ./autogen,sh
# make
# make install

Cara menjalankannya hampir sama dengan cara yang pertama. Akan tetapi kita bisa juga memberikan perintah seperti berikut:
# ntop -u ntop -i eth1 -d -w 8080
(yang artinya menjalankan ntop dengan user ntop, di interface eth1, pada port 8080).

Sebelum perintah itu dilakukan ada baiknya kita membuka dulu port 8080, apabila kita memakai firewall.
# iptables -A INPUT -p TCP --dport 8080 -j ACCEPT

Gambar ntop:



posted by .:CyberColombuzz:. at 9:56 AM 4 comments