You are on page 1of 8

LAPORAN PEMBUATAN WEB JARINGAN BERBASIS PHP

Networking Program Executer v.2.1

Mata Kuliah : Jaringan komputer Lanjut

ABDUL KHARIRI BUDI PRIBOWO FEBRIANSYAH RAZAK

(48910002) (48910005) (48910006)

INSTITUT TEKNOLOGI BANDUNG TAHUN 2011

Latar Belakang Pengguna komputer lebih cenderung untuk menggunakan program yang berbasis GUI

(graphical user interface) dan berbasis web karena menarik. Oleh karena itu kita membuat web php untuk mengakses aplikasi command prompt yang ada di komputer dengan nama Networking program eksekutor karena dikhususkan untuk layanan jaringan .

Rumusan Masalah

Bagaimana membuat web php untuk mengetahui berapa jumlah host yang aktif di dalam suatu jaringan ?

Landasan Teori Program ini menggunakan dasar perintah terminal ‘ifconfig’ dan ‘ping’ di linux.  Ifconfig Perintah ifconfig ini berguna untuk mengetahui ip dan netmask yang dipakai oleh suatu computer, perintah ini berbeda apabila di jalankan di windows (ipconfig) dan di linux (ifconfig). Perbedaan mendasar apabila perintah dijalankan di linux maka hasil output dapat difilter untuk mengeluarkan hanya octet pertama ip jadi akan lebih memudahkan dalam pembuatan program.  Ping Ping berguna untuk melakukan pengetesan koneksi kearah IP tujuan dengan mengirimkan paket-paket data. Ping ini menggunakan protokol ICMP (Internet Control Message Protocol), dan pada OSI berada dilayer 3 (Datalink Layer).

NPEv2.1 | 1

PEMBAHASAN PROGRAM Networking Program Executer v.2.1 (NPEv2.1)

Tampilan Awal Program

1

2

3

Keterangan : 1. Menjalankan perintah command ‘ping’, ‘nslookup’, ‘tracert’. Dijalankan dengan menggunakan fungsi exec bawaan php. 2. Mengetahui jumlah host yang sedang berkomunikasi dengan computer. Dengan dasar perintah ‘netstat’ dari command kemudian dimodifikasi dengan beberapa fungsi sehingga dapat menghasilkan suatu proses untuk mendapatkan output jumlah host yang sedang berkomunikasi. 3. Mengetahui ip dan jumlahnya yang terhubung dengan computer pada suatu jaringan. Dengan dasar perintah ‘ifconfig dan broadcast ‘ping’ program ini dapat melihat ip yang terhubung dengan computer.

NPEv2.1 | 2

Fasilitas scan ip yang aktif :

Aliran pemrosesan :

192.168.1.7 Local connection

192.168.1.4

input

output

Command Prompt Local DB Local webServer

NPEv2.1 | 3

Cara kerja program : Program ini berdasar pada command ifconfig dan ping di linux. Pertama program akan menjalankan command terminal ‘ifconfig’ untuk mengetahui ip yang dimiliki oleh computer.
$iplocal1=shell_exec("/sbin/ifconfig wlan0 | grep 'inet addr' | sed 's/\:/ /g' | awk '{print $3}' | sed 's/\./ /g' | awk '{print $1}'"); $iplocal2=shell_exec("/sbin/ifconfig wlan0 | grep 'inet addr' | sed 's/\:/ /g' | awk '{print $3}' | sed 's/\./ /g' | awk '{print $2}'"); $iplocal3=shell_exec("/sbin/ifconfig wlan0 | grep 'inet addr' | sed 's/\:/ /g' | awk '{print $3}' | sed 's/\./ /g' | awk '{print $3}'"); $iplocal4=shell_exec("/sbin/ifconfig wlan0 | grep 'inet addr' | sed 's/\:/ /g' | awk '{print $3}' | sed 's/\./ /g' | awk '{print $4}'");

Sebagai contoh disini digunakan port wlan0 (Wireless), dengan adanya perintah “grep 'inet addr' | sed 's/\:/ /g' | awk '{print $3}' | sed 's/\./ /g' | awk '{print $1}'");” kita dapat memisahkan ip per octet. Kemudian setelah ip computer di dapat maka akan dijalankan perintah untuk mengetahui networkmask sumbernya.
$netmask1=shell_exec("/sbin/ifconfig wlan0 | grep Mask | sed 's/\:/ /g' | awk '{print $7}' | sed 's/\./ /g' | awk '{print $1}'"); $netmask2=shell_exec("/sbin/ifconfig wlan0 | grep Mask | sed 's/\:/ /g' | awk '{print $7}' | sed 's/\./ /g' | awk '{print $2}'"); $netmask3=shell_exec("/sbin/ifconfig wlan0 | grep Mask | sed 's/\:/ /g' | awk '{print $7}' | sed 's/\./ /g' | awk '{print $3}'"); $netmask4=shell_exec("/sbin/ifconfig wlan0 | grep Mask | sed 's/\:/ /g' | awk '{print $7}' | sed 's/\./ /g' | awk '{print $4}'");

Setelah itu program akan mengconvertnya menjadi bentuk bilangan biner untuk menghitung range ip
$biniplocal1= decbin($iplocal1); $biniplocal2= decbin($iplocal2); $biniplocal3= decbin($iplocal3); $biniplocal4= decbin($iplocal4);

$binnetmask1 = decbin($netmask1); $binnetmask2 = decbin($netmask2); $binnetmask3 = decbin($netmask3); $binnetmask4 = decbin($netmask4);

NPEv2.1 | 4

Setelah mendapatkan ip bentuk biner, maka ip tersebut akan di AND kan dengan networmask dalam bentuk biner untuk mengetahui ip network.
$binnetwork1=($biniplocal1 & $binnetmask1); $binnetwork2=($biniplocal2 & $binnetmask2); $binnetwork3=($biniplocal3 & $binnetmask3); $binnetwork4=($biniplocal4 & $binnetmask4);

Kemudian convert ulang ip network bentuk biner tersebut menjadi decimal.
$network1=bindec($binnetwork1); $network2=bindec($binnetwork2); $network3=bindec($binnetwork3); $network4=bindec($binnetwork4);

Setelah itu program akan menghitung range ip :

if($netmask1 < 255) { $oktet1 = $netFilter - $netmask1; $rOktet1 = $oktet1 -2; } else { echo "point2point"; } if($netmask2 <255) { $oktet2 = $netFilter - $netmask2; $rOktet2= $oktet2 -2;

NPEv2.1 | 5

} else { echo "point2point"; } if($netmask3 < 255) { $oktet3 = $netFilter - $netmask3; $rOktet3= $oktet3 -2; } else { echo "point2point"; } if($netmask4 < 255) { $oktet4 = $netFilter - $netmask4; $rOktet4= $oktet4 -2; } else { echo "point2point"; }

Sekarang program telah mendapatkan seluruh data untuk melakukan pengecekan jaringan, kemudian program akan menjalankan perintah ping yang di ulang sebanyak range jaringan secara broadcast kemudiah hasil yang berbentuk ip dan nilai received akan disimpan di database untuk di olah kembali.

NPEv2.1 | 6

$satu = 11111111; $prarange=($binnetwork4 | $satu); $range=(bindec($prarange)-1); $buatPing = $network + 1; For ($i=$buatPing; $i<=$rOktet4;$i++) { $ip = shell_exec("ping -q -w 1 $network1.$network2.$network3.$i | grep PING | awk '{print $2}'"); $nilai=shell_exec("ping -q -w 1 $network1.$network2.$network3.$i | grep packet | awk '{print $6}' | sed 's/\%/ /g'"); $iparray=array($ip); $nilaiarray=array($nilai); //query $simpan=mysql_query("INSERT INTO ping (id, ip, nilai) values ('','$iparray[0]','$nilaiarray[0]');"); $nyambung = mysql_query("SELECT ip, nilai FROM ping WHERE nilai<100"); }

Setelah berhasil maka program akan memfilter ip yang bernilai < 100 (tersambung) kemudian menampilkannya di layar .

while($baris=mysql_fetch_assoc($nyambung)){ echo $baris['ip']; echo "<br />"; }

Namun karena program ini mengeksekui fungsi php ‘shell_exec’ dan memanggil perintah terminal di linux berupa ‘ping’ yang dapat memilih hasil keluaran, maka program ini hanya berjalan di system operasi linux. (program dibuat pada Linux distro Ubuntu 10).

NPEv2.1 | 7