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 (48910002)

BUDI PRIBOWO (48910005)

FEBRIANSYAH RAZAK (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 192.168.1.4

Local connection

output
input

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