LAMPIRAN PROGRAM
1.
Setup.sh #!/bin/bash
ROOTUID=0
clear;
if [ "$UID" -ne "$ROOTUID" ] then echo "Program Ini Hanya Bisa Di Jalankan Sebagai ROOT!!" exit; fi
if [ ! -e "/usr/bin/dialog" ] || [ ! -e "/usr/sbin/tcpdump" ] || [ ! -e "/usr/sbin/iptraf" ] || [ ! -e "/usr/bin/vmstat" ] then echo "Anda belum menginstall program pendukung untuk Montoolkit ini" echo –n "Apakah anda ingin menginstall program pendukung Montoolkit [y/t]? " read program
if [ $program=="y" ] || [ $program=="Y" ] then
if [ ! -e "/usr/bin/dialog" ] then apt-get install dialog
L1
L2
fi
if [ ! -e "/usr/sbin/tcdump" ] then apt-get install tcpdump fi
if [ ! -e "/usr/sbin/iptraf" ] then apt-get install iptraf fi
if [ ! -e "/usr/bin/vmstat" ] then apt-get install vmstat fi
exit 0 else echo "Maaf Anda tidak dapat menggunakan Montoolkit sebelum menginstall program pendukung" exit 0 fi else
echo "|****************************0000************************** ***|" echo "|
Selamat Datang Pengguna
|"
L3
echo "|============================0000==================== =========|" echo "|
|"
echo "|
Program Utility
echo "|
|"
Persembahan Rizky Ramadhan
echo "|
|"
Email ku :
[email protected]
echo "|
|"
|"
echo "|============================0000==================== =========|" echo "|
MonToolkit
|"
echo "|****************************0000************************** ***|" echo "| Pilih format MonToolkit :
|"
echo "| 1. MonToolkit Desktop
|"
echo "| 2. Montoolkit Server echo "| 3. Keluar
|" |"
echo "|********************************************************** ***|" echo -n "Masukan Pilihan Anda : "; read inputan;
case $inputan in 1) ./montoolkit.sh;; 2) ./montoolkitserver.sh;; 3)
L4
echo "Terima Kasih Telah Mencoba MonToolkit..Bye.."; exit 0;; *) echo "Pilihan Anda Tidak Tersedia.."; exit 0;; esac
fi
2.
Montoolkit.sh #!/bin/bash
#####PERALATAN GUI##### #membuat variabel untuk masukan INPUT=/tmp/menu.sh.$$
#membuat variabel untuk outputan OUTPUT=/tmp/output.sh.$$
#variabel untuk root ROOTUID=0
trap "rm $OUTPUT; rm $INPUT; exit" SIGHUP SIGINT SIGTERM
#fungsi tampilan output gui dengan messagebox function display_output(){
L5
local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
dialog --title "${t}" --clear --msgbox "$(<$OUTPUT)" ${h} ${w} }
function display_output2(){ local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
local q=${4-Ouputan} dialog --title "${t}" --clear --msgbox "${q}" ${h} ${w} }
function textbox(){ local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
dialog --title "${t}" --clear --textbox "$(<$OUTPUT)" ${h} ${w} }
#fungsi tampilan tanya gui dengan yesno function nanya(){
local h=${1-10} local w=${2-41} local t=${3-Judul} local q=${4-Nanya}
dialog --title "${t}" \
# box height default 10 # box width default 41 # box title
L6
--clear --yesno "${q}" ${h} ${w}
}
#fungsi tampilan masukan gui dengan inputbox function masukan(){ local h=${1-10}
# box height default 10
local w=${2-41}
# box width default 41
local t=${3-Judul}
# box title
local q=${4-Nanya} dialog --title "${t}" \ --clear --inputbox "${q}" ${h} ${w} 2>$INPUT } #####PERALATAN GUI#####
function pause(){ local message="$@" [ -z $message ] && message="Tekan [Enter] untuk kembali ke menu sebelumnya..." read -p "$message" readEnterKey }
######MONITORING SYSTEM###### #fungsi ke 1. spesifikasi system function spesifikasi_system(){ xterm -T "Spesifikasi System" -bg black -fg white -geometry 90x20+100+100 -e 'watch -t ./namasystem.sh' &
nanya 5 60 "Simpan Spesifikasi System" "Simpan Spesifikasi Lengkap dari Systemmu ?";
L7
local response=$? if [ $response -eq 0 ] then lshw -html > speksystem.html display_output2 5 50 "Spesifikasi System" "File telah di simpan dengan nama speksystem.html" else display_output2 5 35 "Spesifikasi System" "File tidak di simpan" fi }
function user_online(){ w > $OUTPUT display_output 50 70 "User Online" }
function proses_berjalan(){ xterm -T "Proses yang Berjalan" -bg black -fg white -geometry 90x20+100+100 -e 'top' &
nanya 5 60 "Akhiri Proses" "Apakah Anda Ingin Mengakhiri Suatu Proses ?"
local response=$? if [ $response -eq 0 ] then
L8
masukan 8 60 "Akhiri Proses" "Masukan No Pid Proses"
local response1=$?
pid=$(<"${INPUT}")
if [ $response1 -eq 0 ] then
kill ${pid}
fi fi }
function memori_terpakai(){ xterm -T "Memori yang Terpakai" -bg black -fg white -geometry 90x30+100+100 -e 'watch -t ./memoriterpakai.sh' & xterm -T "Memori yang Terpakai" -bg black -fg white -geometry 50x30+650+100 -e 'watch -t vmstat -sSM' & }
function partisi_penyimpanan(){ df > $OUTPUT display_output 50 65 "Partisi Penyimpanan" }
function monitoring_system(){ dialog --clear --backtitle "MonToolkit" \ --title "[ MENU - MONITORING - SYSTEM ]" --menu "Pilihanmu: " 19 72 6 \
\
L9
"Spesifikasi System" "Lihat Spesifikasi Sistem" \ "User Login" "Lihat Informasi User Login di Sistem"
\ "Proses Berjalan" "Lihat Proses yang Berjalan" \ "Memori Terpakai" "Lihat Memori yang Terpakai
dan Tidak Terpakai" \ "Partisi Penyimpanan" Penyimpanan di Sistem" 2> "${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in "Spesifikasi System") spesifikasi_system; monitoring_system;; "User Login") user_online; monitoring_system;; "Proses Berjalan") proses_berjalan; monitoring_system;; "Memori Terpakai") memori_terpakai; monitoring_system;; "Partisi Penyimpanan") partisi_penyimpanan; monitoring_system;; esac
"Lihat
Partisi
L10
} #####MONITORING SISTEM#####
#####MONITORING JARINGAN##### function rubah_network(){ interface="" ipaddres="" netmask="" gateway="" dns=""
# open fd exec 3>&1
# Store data to $VALUES variable VALUE=$(dialog --clear --no-cancel --ok-label "Submit" \ --title "Rubah Network" \ --form "Ubah Networkmu Disini :" \ 15 50 0 \ "Interface:"
1 1 "$interface"
1 15 15 0 \
"IP Address:"
2 1 "$ipaddress"
2 15 15 0 \
"Netmask:"
3 1 "$netmask"
3 15 15 0 \
"Gateway:"
4 1 "$gateway"
4 15 15 0 \
"DNS:"
51
5 15 15
2>&1 1>&3)
# close fd exec 3>&-
"$dns"
0\
L11
# display values just entered nanya 5 60 "Rubah Network" "Apakah Yakin Akan Merubah Networkmu ?";
local response=$? if [ $response -eq 0 ] then echo $VALUE > $INPUT inputs=$INPUT
interfaceo=`cat $inputs | awk '{ print $1 }'` ipaddresso=`cat $inputs | awk '{ print $2 }'` netmasko=`cat $inputs | awk '{ print $3 }'` gatewayo=`cat $inputs | awk '{ print $4 }'` dnso=`cat $inputs | awk '{ print $5 }'`
ifconfig $interfaceo $ipaddresso netmask $netmasko route add default gw $gatewayo echo "nameserver $dnso" > /etc/resolv.conf
sleep 1
xterm -T "Network Anda" -bg black -fg white -geometry 80x20+100+100 -e 'watch -t ./if.sh' & else xterm -T "Network Anda" -bg black -fg white -geometry 80x20+100+100 -e 'watch -t ./if.sh' & monitoring_jaringan; fi }
L12
function lihat_arp(){ xterm
-T
"Lihat ARP" -bg black -fg white
-geometry
80x20+100+100 -e 'watch -t ./lihatarp.sh' & }
#variabel analisa port analisaport="`netstat -a | more`" analisaport1=" `netstat -at`" analisaport2="`netstat -au`" analisaport3="`netstat -l`" analisaport4="`netstat -lt`" analisaport5="`netstat -lu`" analisaport6="`netstat -lx`"
function semua_port() { echo "" echo "Mendata seluruh port baik listening & non listening" echo "===================================================" echo "$analisaport" ; tput sgr0 echo"" pause; }
function tcp_port() { echo "" echo "Mendata seluruh tcp port" echo "========================" echo "$analisaport1" ; tput sgr0 echo""
L13
pause; }
function udp_port() { echo "" echo "Mendata seluruh udp port" echo "========================" echo "$analisaport2" ; tput sgr0 echo"" pause; }
function mode_listening() { echo "" echo "Mendata seluruh socket dalam status listening" echo "=============================================" echo "all listening state :" ; echo "$analisaport3" ; tput sgr0 echo "TCP listening state :" ; echo "$analisaport4" ; tput sgr0 echo "UDP listening state :" ; echo "$analisaport5" ; tput sgr0 echo "listening UNIX Ports:" ; echo "$analisaport6" ; tput sgr0 echo"" pause; }
function analisa_port(){ dialog --clear --backtitle "MonToolkit" \
L14
--title " [ M E N U - A N A L I S A - P O R T ]" \ --menu "Pilihanmu :" 19 72 4 \ a "Analisa Semua Port" \ b "Hanya Menganalisa Port TCP" \ c "Hanya Menganalisa Port UDP" \ d "Menganalisa Socket Mode Listening" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in a) semua_port; analisa_port ;; b) tcp_port; analisa_port ;; c) udp_port; analisa_port ;; d) mode_listening; analisa_port ;; esac }
function informasi_situs(){ masukan 8 60 "Pengumpulan Informasi" "Masukan Nama Situs :" local response=$?
if [ $response -eq 0 ] then
L15
situs=$(<"${INPUT}") echo "" echo "Mencari Informasi Suatu Situs" echo "=============================" echo "`whois ${situs}`" ; tput sgr0 echo "" pause; fi
}
function dns_situs(){ masukan 8 60 "Pengumpulan Informasi" "Masukan Nama Situs :" local response=$?
if [ $response -eq 0 ] then situs=$(<"${INPUT}") echo "" echo "===Mencari DNS Suatu Situs===" echo "=============================" echo "`dig ${situs}`" ; tput sgr0 echo "" pause; fi
}
function tracking_ddos() {
L16
./trackingddos.sh > $OUTPUT display_output 20 50 "IP Terkoneksi" }
function pengumpulan_informasi(){ dialog --clear --backtitle "MonToolkit" \ --title " [ MENU - PENGUMPULAN - INFORMASI ]" \ --menu "Pilihanmu :" 19 72 3 \ a "Cari Informasi Suatu Situs" \ b "Cari DNS Suatu Situs" \ c
"Melihat
IP
yang
Sering
Terkoneksi
Ke
Systemmu"
2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in a) informasi_situs; pengumpulan_informasi;; b) dns_situs; pengumpulan_informasi;; c) tracking_ddos; pengumpulan_informasi;; esac }
function bandwith(){ masukan 8 60 "Monitoring Bandwith" "Masukan Interface :"
L17
local response=$? if [ $response -eq 0 ] then interface=$(<"${INPUT}")
xterm -T "Monitoring Bandwith" -bg black -fg white geometry 80x30+100+100 -e 'iptraf -i '${interface}'' & fi }
function traffic_interface(){ masukan 8 60 "Monitoring Traffic" "Masukan Interface :"
local response=$? if [ $response -eq 0 ] then
interface=$(<"${INPUT}")
nanya 5 60 "Monitoring" "Apakah Anda Ingin Menyimpan Hasil Traffic ?"
local response1=$? if [ $response1 -eq 0 ] then xterm -T "Monitoring Traffic" -bg black -fg white geometry
80x30+100+100
-e
'tcpdump
-X
-w
rawfile/traffic_'${interface}'.$$ -i '${interface}'' & display_output2 6 70 "Monitoring Traffic" "Proses tidak
akan
terlihat.\n
rawfile/traffic_${interface}.$$"
Proses
telah
tersimpan
pada
L18
else xterm -T "Monitoring Traffic" -bg black -fg white geometry 80x30+100+100 -e 'tcpdump -X -i '${interface}'' & fi
fi }
function membaca_filetraffic(){ file=`dialog --stdout --title "Please choose a file" --fselect rawfile/ 14 48`
local response=$? if [ $response -eq 0 ] then echo "`tcpdump -r $file -X |less`" pause; else monitoring_traffic; fi }
function monitoring_traffic(){ dialog --clear --backtitle "MonToolkit" \ --title "[ MENU - MONITORING - Traffic ]"
\
--menu "Pilihanmu: " 19 72 7 \ a "Lihat Traffic Pada Interfacemu"
\
b "Membaca file Traffic yang telah di simpan" 2> "${INPUT}"
menuitem=$(<"${INPUT}")
L19
case $menuitem in a) traffic_interface; monitoring_traffic;; b) membaca_filetraffic; monitoring_traffic;; esac }
function monitoring_jaringan(){ dialog --clear --backtitle "MonToolkit" \ --title "[ MENU - MONITORING - JARINGAN ]" \ --menu "Pilihanmu: " 19 72 6 \ "Rubah Network" "Ubah Networkmu disini" \ "Monitoring ARP" "Lihat Address Resolution Protocol" \ "Analisa Port" "Menganalisa Port yang Terbuka" \ "Pengumpulan Informasi" "Lihat Lebih banyak Informasi pada Networkmu" \ "Monitoring Bandwith" "Memantau Bandwith pada jaringan LAN" \ "Monitoring Traffic" "Lihat Networkmu" 2> "${INPUT}"
menuitem=$(<"${INPUT}")
Traffic
pada
L20
case $menuitem in "Rubah Network") rubah_network; monitoring_jaringan;; "Monitoring ARP") lihat_arp; monitoring_jaringan;; "Analisa Port") analisa_port; monitoring_jaringan;; "Pengumpulan Informasi") pengumpulan_informasi; monitoring_jaringan;; "Monitoring Bandwith") bandwith; monitoring_jaringan;; "Monitoring Traffic") monitoring_traffic; monitoring_jaringan;; esac }
function backup_data(){
file=`dialog --clear --stdout --title "Please choose a file" --fselect / 14 48`
local response=$? if [ $response -eq 0 ] then
L21
if [ ! -e "savedata/data_`date +%F`/" ] then mkdir savedata/data_`date +%F`/
cp -rf $file savedata/data_`date +%F`/
nanya 5 60 "Backup Data" "Apakah ada data lain yang akan di Backup ?"; local response1=$? if [ $response1 -eq 0 ] then backup_data; fi
else cp -rf $file savedata/data_`date +%F`/
nanya 5 60 "Backup Data" "Apakah ada data lain yang akan di Backup ?"; local response1=$? if [ $response1 -eq 0 ] then backup_data; fi fi
tar cvfz savedata/data_`date +%F`.tar.gz savedata/data_`date +%F`/
display_output2 5 60 "Backup Data" "File telah di simpan dengan nama savedata/data_`date +%F`.tar.gz"
L22
fi }
if [ "$UID" -ne "$ROOTUID" ] then echo "Program Ini Hanya Bisa Di Jalankan Sebagai ROOT!!" exit; fi
while true do
dialog --clear --nocancel --backtitle "MonToolkit" \ --title "[ MENU - MONTOOLKIT - DESKTOP ]" \ --radiolist "Pilihanmu: " 15 40 5 "1" "Monitoring Sistem"
\ On \
"2" "Monitoring Jaringan" off \ "3" "Backup Data"
off \
"4" "About MonToolit" off \ "5" "Keluar" off
menuitem=$(<"${INPUT}")
case $menuitem in 1) monitoring_system;; 2) monitoring_jaringan;; 3)
2> "${INPUT}"
L23
backup_data;; 4) dialog --title "MonToolkit" --textbox intro.txt 22 70 ;; 5) echo "Terima Kasih Telah Mencoba MonToolkit..Bye.."; break;;
esac done
[ -f $OUTPUT ] && rm $OUTPUT [ -f $INPUT ] && rm $INPUT
3. Montoolkitserver.sh #!/bin/bash
#####PERALATAN GUI##### #membuat variabel untuk masukan INPUT=/tmp/menu.sh.$$
#membuat variabel untuk outputan OUTPUT=/tmp/output.sh.$$
#variabel untuk root ROOTUID=0
trap "rm -f $OUTPUT; rm -f $INPUT; exit" SIGHUP SIGINT SIGTERM
#fungsi tampilan output gui dengan messagebox function display_output(){
L24
local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
dialog --title "${t}" --clear --msgbox "$(<$OUTPUT)" ${h} ${w} }
function display_output2(){ local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
local q=${4-Ouputan} dialog --title "${t}" --clear --msgbox "${q}" ${h} ${w} }
function textbox(){ local h=${1-10} local w=${2-41} local t=${3-Judul}
# box height default 10 # box width default 41 # box title
dialog --title "${t}" --clear --textbox "$(<$OUTPUT)" ${h} ${w} }
#fungsi tampilan tanya gui dengan yesno function nanya(){
local h=${1-10} local w=${2-41} local t=${3-Judul} local q=${4-Nanya}
dialog --title "${t}" \
# box height default 10 # box width default 41 # box title
L25
--clear --yesno "${q}" ${h} ${w}
}
#fungsi tampilan masukan gui dengan inputbox function masukan(){ local h=${1-10}
# box height default 10
local w=${2-41}
# box width default 41
local t=${3-Judul}
# box title
local q=${4-Nanya} dialog --title "${t}" \ --clear --inputbox "${q}" ${h} ${w} 2>$INPUT } #####PERALATAN GUI#####
function pause(){ local message="$@" [ -z $message ] && message="Tekan [Enter] untuk kembali ke menu sebelumnya..." read -p "$message" readEnterKey }
######MONITORING SYSTEM###### #fungsi ke 1. spesifikasi system function spesifikasi_system(){ clear echo " ==================" echo " Spesifikasi System" echo " ==================" echo "`./namasystem.sh`" echo ""
L26
pause;
nanya 5 60 "Simpan Spesifikasi System" "Simpan Spesifikasi Lengkap dari Systemmu ?";
local response=$? if [ $response -eq 0 ] then lshw -html > speksystem.html display_output2 5 50 "Spesifikasi System" "File telah di simpan dengan nama speksystem.html" else display_output2 5 35 "Spesifikasi System" "File tidak di simpan" fi }
function user_online(){ w > $OUTPUT display_output 50 70 "User Online" }
function proses_berjalan(){ clear ./prosessystem.sh|less
nanya 5 60 "Akhiri Proses" "Apakah Anda Ingin Mengakhiri Suatu Proses ?"
L27
local response=$? if [ $response -eq 0 ] then masukan 8 60 "Akhiri Proses" "Masukan No Pid Proses"
local response1=$?
pid=$(<"${INPUT}")
if [ $response1 -eq 0 ] then
kill ${pid}
fi
fi
}
function memori_terpakai(){ clear echo "`./memoriterpakai.sh`" echo "" pause; }
function partisi_penyimpanan(){
L28
df > $OUTPUT display_output 50 65 "Partisi Penyimpanan" }
function monitoring_system(){ dialog --clear --backtitle "MonToolkit" \ --title "[ MENU - MONITORING - SYSTEM ]"
\
--menu "Pilihanmu: " 19 72 6 \ "Spesifikasi System" "Lihat Spesifikasi Sistem" \ "User Login" "Lihat Informasi User Login di Sistem"
\ "Proses Berjalan" "Lihat Proses yang Berjalan" \ "Memori Terpakai" "Lihat Memori yang Terpakai
dan Tidak Terpakai" \ "Partisi Penyimpanan" Penyimpanan di Sistem" 2> "${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in "Spesifikasi System") spesifikasi_system; monitoring_system;; "User Login") user_online; monitoring_system;; "Proses Berjalan") proses_berjalan;
"Lihat
Partisi
L29
monitoring_system;; "Memori Terpakai") memori_terpakai; monitoring_system;; "Partisi Penyimpanan") partisi_penyimpanan; monitoring_system;; esac } #####MONITORING SISTEM#####
#####MONITORING JARINGAN##### function rubah_network(){ interface="" ipaddres="" netmask="" gateway="" dns=""
# open fd exec 3>&1
# Store data to $VALUES variable VALUE=$(dialog --clear --no-cancel --ok-label "Submit" \ --title "Rubah Network" \ --form "Ubah Networkmu Disini :" \ 15 50 0 \ "Interface:"
1 1 "$interface"
1 15 15 0 \
"IP Address:"
2 1 "$ipaddress"
2 15 15 0 \
L30
"Netmask:"
3 1 "$netmask"
3 15 15 0 \
"Gateway:"
4 1 "$gateway"
4 15 15 0 \
"DNS:"
51
5 15 15
"$dns"
0\
2>&1 1>&3)
# close fd exec 3>&-
# display values just entered nanya 5 60 "Rubah Network" "Apakah Yakin Akan Merubah Networkmu ?";
local response=$? if [ $response -eq 0 ] then echo $VALUE > $INPUT inputs=$INPUT
interfaceo=`cat $inputs | awk '{ print $1 }'` ipaddresso=`cat $inputs | awk '{ print $2 }'` netmasko=`cat $inputs | awk '{ print $3 }'` gatewayo=`cat $inputs | awk '{ print $4 }'` dnso=`cat $inputs | awk '{ print $5 }'`
ifconfig $interfaceo $ipaddresso netmask $netmasko route add default gw $gatewayo echo "nameserver $dnso" > /etc/resolv.conf
sleep 1
L31
echo "`./if.sh`" pause; else echo "`./if.sh`" pause; monitoring_jaringan; fi }
function lihat_arp(){ xterm
-T
"Lihat ARP" -bg black -fg white
-geometry
80x20+100+100 -e 'watch -t ./lihatarp.sh' & }
#variabel analisa port analisaport="`netstat -a | more`" analisaport1=" `netstat -at`" analisaport2="`netstat -au`" analisaport3="`netstat -l`" analisaport4="`netstat -lt`" analisaport5="`netstat -lu`" analisaport6="`netstat -lx`"
function semua_port() { echo "" echo "Mendata seluruh port baik listening & non listening" echo "===================================================" echo "$analisaport" ; tput sgr0 echo"" pause;
L32
}
function tcp_port() { echo "" echo "Mendata seluruh tcp port" echo "========================" echo "$analisaport1" ; tput sgr0 echo"" pause; }
function udp_port() { echo "" echo "Mendata seluruh udp port" echo "========================" echo "$analisaport2" ; tput sgr0 echo"" pause; }
function mode_listening() { echo "" echo "Mendata seluruh socket dalam status listening" echo "=============================================" echo "all listening state :" ; echo "$analisaport3" ; tput sgr0 echo "TCP listening state :" ; echo "$analisaport4" ; tput sgr0 echo "UDP listening state :" ; echo "$analisaport5" ; tput sgr0
L33
echo "listening UNIX Ports:" ; echo "$analisaport6" ; tput sgr0 echo"" pause; }
function analisa_port(){ dialog --clear --backtitle "MonToolkit" \ --title " [ M E N U - A N A L I S A - P O R T ]" \ --menu "Pilihanmu :" 19 72 9 \ a "Analisa Semua Port" \ b "Hanya Menganalisa Port TCP" \ c "Hanya Menganalisa Port UDP" \ d "Menganalisa Socket Mode Listening" 2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in a) semua_port; analisa_port ;; b) tcp_port; analisa_port ;; c) udp_port; analisa_port ;; d) mode_listening; analisa_port ;; esac
L34
}
function informasi_situs(){ masukan 8 60 "Pengumpulan Informasi" "Masukan Nama Situs :"
situs=$(<"${INPUT}") local response=$?
if [ $response -eq 0 ] then
echo "" echo "Mencari Informasi Suatu Situs" echo "=============================" echo "`whois ${situs}`" ; tput sgr0 echo "" pause; fi
}
function dns_situs(){ masukan 8 60 "Pengumpulan Informasi" "Masukan Nama Situs :"
situs=$(<"${INPUT}") local response=$?
if [ $response -eq 0 ] then
L35
echo "" echo "===Mencari DNS Suatu Situs===" echo "=============================" echo "`dig ${situs}`" ; tput sgr0 echo "" pause; fi
}
function tracking_ddos() { ./trackingddos.sh > $OUTPUT display_output 20 50 "IP Terkoneksi" }
function pengumpulan_informasi(){ dialog --clear --backtitle "MonToolkit" \ --title " [ MENU - PENGUMPULAN - INFORMASI ]" \ --menu "Pilihanmu :" 19 72 3 \ a "Cari Informasi Suatu Situs" \ b "Cari DNS Suatu Situs" \ c
"Melihat
IP
yang
Sering
2>"${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in a) informasi_situs; pengumpulan_informasi;;
Terkoneksi
Ke
Systemmu"
L36
b) dns_situs; pengumpulan_informasi;; c) tracking_ddos; pengumpulan_informasi;; esac }
function bandwith(){ masukan 8 60 "Monitoring Bandwith" "Masukan Interface :"
local response=$? if [ $response -eq 0 ] then interface=$(<"${INPUT}")
iptraf -i ${interface} fi }
function traffic_interface(){ interface="" jumlah=""
# open fd exec 3>&1
# Store data to $VALUES variable VALUE=$(dialog --clear --no-cancel --ok-label "Submit" \ --title "Monitoring Traffic" \
L37
--form "Silahkan Masukan Data :" \ 15 50 0 \ "Interface:"
1 1 "$interface"
"Jumlah Packet[cth:100]:"
1 30 30 0 \
2 1 "$jumlah" 2 30 30 0 \
2>&1 1>&3)
# close fd exec 3>&-
# display values just entered nanya 5 60 "Monitoring Traffic" "Siap melakukan monitoring ?";
local response=$? if [ $response -eq 0 ] then
echo $VALUE > $INPUT inputs=$INPUT
interfaceo=`cat $inputs | awk '{ print $1 }'` jumlaho=`cat $inputs | awk '{ print $2 }'`
nanya 5 60 "Monitoring" "Apakah Anda Ingin Menyimpan Hasil Traffic ?";
local response1=$? if [ $response1 -eq 0 ] then tcpdump
-c
rawfile/traffic_$interfaceo.$$ -i $interfaceo -X
jumlaho
-w
L38
display_output2 6 70 "Monitoring Traffic" "Proses tidak
akan
terlihat.\n
Proses
telah
tersimpan
pada
rawfile/traffic_${interface}.$$" else tcpdump -X -c $jumlaho -i $interfaceo fi
fi }
function monitoring_jaringan(){ dialog --clear --backtitle "MonToolkit" \ --title "[ MENU - MONITORING - JARINGAN ]" \ --menu "Pilihanmu: " 19 72 6 \ "Rubah Network" "Ubah Networkmu disini" \ "Monitoring ARP" "Lihat Address Resolution Protocol" \ "Analisa Port" "Menganalisa Port yang Terbuka" \ "Pengumpulan Informasi" "Lihat Lebih banyak Informasi pada Networkmu" \ "Monitoring IP LAN" "Memantau IP pada jaringan LAN" \ "Monitoring Traffic" "Lihat Networkmu" 2> "${INPUT}"
menuitem=$(<"${INPUT}")
Traffic
pada
L39
case $menuitem in "Rubah Network") rubah_network; monitoring_jaringan;; "Monitoring ARP") lihat_arp; monitoring_jaringan;; "Analisa Port") analisa_port; monitoring_jaringan;; "Pengumpulan Informasi") pengumpulan_informasi; monitoring_jaringan;; "Monitoring IP LAN") bandwith; monitoring_jaringan;; "Monitoring Traffic") traffic_interface; monitoring_jaringan;; esac }
function backup_data(){
file=`dialog --clear --stdout --title "Please choose a file" --fselect / 14 48`
local response=$? if [ $response -eq 0 ] then
L40
if [ ! -e "savedata/data_`date +%F`/" ] then mkdir savedata/data_`date +%F`/
cp -rf $file savedata/data_`date +%F`/
nanya 5 60 "Backup Data" "Apakah ada data lain yang akan di Backup ?"; local response1=$? if [ $response1 -eq 0 ] then backup_data; fi
else cp -rf $file savedata/data_`date +%F`/
nanya 5 60 "Backup Data" "Apakah ada data lain yang akan di Backup ?"; local response1=$? if [ $response1 -eq 0 ] then backup_data; fi fi
tar cvfz savedata/data_`date +%F`.tar.gz savedata/data_`date +%F`/
display_output2 5 60 "Backup Data" "File telah di simpan dengan nama savedata/data_`date +%F`.tar.gz"
L41
fi }
if [ "$UID" -ne "$ROOTUID" ] then echo "Program Ini Hanya Bisa Di Jalankan Sebagai ROOT!!" exit; fi
while true do
dialog --clear --nocancel --backtitle "MonToolkit" \ --title "[ M E N U - U T A M A ]"
\
--radiolist "Pilihanmu: " 15 40 5
\
"1" "Monitoring Sistem"
On \
"2" "Monitoring Jaringan" off \ "3" "Backup Data"
off \
"4" "About MonToolkit" off \ "5" "Keluar" off 2> "${INPUT}"
menuitem=$(<"${INPUT}")
case $menuitem in 1) monitoring_system;; 2) monitoring_jaringan;; 3)
L42
backup_data;; 4) dialog --title "MonToolkit" --textbox intro.txt 22 70 ;; 5) echo "Terima Kasih Telah Mencoba MonToolkit..Bye.."; break;;
esac done
[ -f $OUTPUT ] && rm $OUTPUT [ -f $INPUT ] && rm $INPUT
4. Lihatarp.sh #!/bin/bash
echo
"=========================LIHAT
ARP========================" echo "`arp -n`" echo
"=========================LIHAT
ARP========================"
5. Memorisystem.sh #!/bin/bash
clear
echo
"================================MEMORI
INFO===============================" echo "| echo "|
Lihat penggunaan memorimu Disini
|" |"
L43
echo "==================================================== ======================" echo " `uptime`" echo "==================================================== ======================" echo "`free -lt`" echo "==================================================== ======================"
6. Namasystem.sh #!/bin/bash
NAMAKOM="`uname -n`" TANGGAL="`date`" NAMAOS="`uname -o`" NAMAKERNEL="`uname -a |cut -d" " -f3,4`" NAMADISTRO=`cat /etc/*-release |grep "DISTRIB_DESCRIPTION" |cut -d"\"" -f2` RAM="`cat /proc/meminfo |grep "MemTotal" |cut -d" " -f9,10`" NAMASYS="`dmidecode -s system-manufacturer`" BIOS="`dmidecode -s bios-vendor`" PROCESSOR="`cat /proc/cpuinfo |grep "model name" |cut -d" " -complement -f1-2`"
echo " Tanggal dan Waktu
:
$TANGGAL "
echo "" echo " Nama Komputer
:
$NAMAKOM "
L44
echo "" echo " Operating System
:
$NAMAOS
"
:
$NAMAKERNEL
"
:
$NAMADISTRO
"
:
$NAMASYS "
:
$BIOS
:
$PROCESSOR
:
$RAM
echo "" echo " Kernel echo "" echo " Distro echo "" echo " System Manufacturer echo "" echo " BIOS
"
echo "" echo " PROCESSOR
"
echo "" echo " RAM
"
7. Prosessystem.sh #!/bin/bash
echo "======================================================= ============================" echo "`ps aux --sort=%mem,%cpu`" echo "======================================================= ============================" echo "Tekan tombol (q) untuk meneruskan program" echo "======================================================= ============================"
8. Trackingddos.sh #!/bin/bash
L45
echo "============TRACKING DDOS ATTACK============" echo "Melihat IP yang Banyak Mengakses System Anda" echo "=======Sesuai dengan Koneksi Terbanyak======" echo "`netstat -ntu | awk '{print $5}' | tail --lines=+3 | cut -s -d: -f1 | sort | uniq -c | sort -n -b -r`" echo "============================================"