You are on page 1of 9

LAPORAN PEMBUATAN WEB JARINGAN BERBASIS PHP

Networking Program Executer v.2.0

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 command prompt ‘netstat’.

 Netstat
Netstat kependekan dari network statistik, netstat merupakan salah satu fasilitas windows yang
berguna untuk memeriksa status jaringan serta memberikan informasi tentang adanya transfer
data yang terjadi dalam sebuah jaringan yang terhubung ke komputer, baik itu jaringan lokal
(LAN) maupun jaringan Internet, baik itu transfer data masuk (incoming) atau juga outgoing
secara real time.

Cara mengoperasikan netstat adalah dengan masuk ke CMD dengan urutan klik tombol start >
run > ketikkan cmd > klik OK (pada windows xp) atau klik tombol start > ketikkan cmd pada form
search > enter (pada windows vista dan 7) kemudian ketikkan netstat , setelah itu akan tampil
informasi-informasi mengenai protocol, Local address, foreign address, dan state.

Adapun definisi dari beberapa elemen netstat adalah sebagai berikut:

1. Foreign address: menampilkan informasi mengenai alamat koneksi yang dituju oleh local
address, format foreign address adalah xxxx:yyyy yang xxxx adalah alamat dari koneksi yang
dituju (biasanya website/local host) sementara yang yyyy adalah port yang dituju

NPEv2 | 1
2. Local address: sama seperti foreign address, hanya saja local address ini untuk komputer local
kita yang aktif melakukan koneksi dengan jaringan luar (foreign address), format local
address ini adalah zzzz:tttt dengan zzzz adalah alamat host dalam komputer, dan tttt adalah
port

3. Proto: menampilkan jenis protocol yang digunakan (TCP atau UDP)

4. State: status dari tiap koneksi yang terhubung, kolom state ini memiliki 5 kemungkinan yaitu:

-ESTABLISHED: koneksi berhasil
-LISTENING: koneksi siap 100 persen (namun koneksi belum berlangsung)
-SYN_RECEIVED: menerima SYN
-SYN_SENT: mengirim SYN
-TIME_WAIT: menunggu koneksi untuk terhubung

Beberapa operasi netsat :
1. -a: Berfungsi untuk memberikan informasi mengenai seluruh koneksi TCP yang aktif serta
Port dari TCP dan UDP di dalam komputer yang dalam state (status) listening
2. -b: Memberikan informasi mengenai nama dari binary program yang memiliki keterlibatan
dalam membentuk setiap koneksi(sudah terhubung) atau juga listening port
3. -e: memberikan informasi terkait ethernet
4. -n: memberikan informasi tentang address (alamat) serta no port dengan format numeric
5. -o: menampilkan ID (PID) dari tiap owner yang bergabung dalam koneksi
6. -p proto: menunjukkan koneksi yang diartikan oleh proto
7. -r: menampilkan route table (table routing)
8. -s: memberikan informasi statistik dari tiap protocol
9. -t interval: menampilkan kembali statistik yang telah dipilih(selected statistics)

NPEv2 | 2
PEMBAHASAN PROGRAM

Networking Program Executer v.2.0 (NPEv2)

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 ‘ipconfig’ dan broadcast ‘ping’ program ini dapat melihat ip yang
terhubung dengan computer.

NPEv2 | 3
Fasilitas scan ip yang aktif :

Aliran pemrosesan :

x.x.x.x

192.168.1.7 192.168.1.4

Local connection

Inter connection

output
input

NPEv2 | 4
Command
Prompt
Local DB Local webServer
Cara kerja program :

Program ini berdasar pada command netstat di windows.

Pertama php dengan fungsi exec-nya akan mengeksekusi perintah netstat melalui website yang telah
dibuat, kemudian hasil dari perintah netstat tersebut ditampung ke dalam sebuah variable array
($output), sehingga jika dicetak pada saat itu akan menghasilkan output kurang lebih seperti berikut :

Array (

0 => ‘’

1 => ‘Proto Local Address Foreign Address State’

2 => ‘TCP 127.0.0.1:49167 FeRaz-Note:49168 ESTABLISHED’

3 => ‘TCP 127.0.0.1:49168 FeRaz-Note:49167 ESTABLISHED’

4 =>’TCP 127.0.0.1:49169 FeRaz-Note:49170 ESTABLISHED’

5 =>’TCP 127.0.0.1:49170 FeRaz-Note: 49169 ESTABLISHED’

.

.

NPEv2 | 5
. [dst… apabila computer terhubung dengan jaringan lainnya maka akan muncul ip lain]

)

Hasil output tersebut masih berbentuk array dan ternyata menghasilkan urutan ip beserta port yang
saling terhubung, karena program ini diperuntukkan untuk menghasilkan jumlah host yang terhubung
maka yang perlu dilihat adalah ip nya saja, oleh karena itu port yang disertakan perlu diproses terlebih
dahulu agar bisa dipisahkan dengan ip.

Metode pemisahan ini dilakukan dengan cara mengconvert dari array menjadi string dengan script :

$cek = implode(":", $output);

Sehingga menghasilkan suatu string yang dipisahkan semua dengan tanda ‘:’, kemudian string tersebut
kita dilempar kembali kedalam bentuk array dengan script :

$dua =(explode(":", $cek));

Array ini sudah bisa dipisahkan apabila diproses lebih lanjut karena setiap akhir dari kalimat yang
bertanda ‘:’ termasuk port ‘:’ menjadi spasi, itu berarti ip dapat dipisahkan dari portnya.

Kemudian untuk mengeluarkan index array secara urut perlu kita hitung berapa banyak index array yang
dibutuhkan.

$n = count($dua);

for($i=0; $i<=$n; $i++)

{

$cekunik = ($dua[$i]);

$str = $cekunik;

$arrex =(explode(" ", $cekunik));

Dalam kode tersebut terlihat setelah index array dihitung berapa jumlahnya, maka akan dicetak
sebanyak jumlah tersebut, kemudian hasil index array tersebut kembali diconvert menjadi string agar
dapat dimasukkan ke database. Dalam hal ini diperlukan database karena output banyak yang berupa
double ip atau input kosong, sehingga untuk lebih mudahnya output tersebut disimpan dalam sebuah
table di database.

$simpan = mysql_query("insert into aktif_ip(id,ip,ket) values ('','$arrex[6]','')");

$list = mysql_query("SELECT DISTINCT ip FROM aktif_ip where ip != ' ' AND ip != 'ESTABLISHED' AND ip !=
'TIME_WAIT' AND ip != 'FIN_WAIT_1'");

NPEv2 | 6
$hitung = mysql_query("select count(distinct ip) from aktif_ip where ip != ' ' AND ip != 'ESTABLISHED' AND ip !=
'TIME_WAIT' AND ip != 'FIN_WAIT_1'");

Terlihat bahwa proses pertama adalah penyimpanan output ke database ($simpan) kemudian pemilihan
output berupa ip yang telah difilterisasi ($list) dan terakhir adalah menghitung jumlah ip yang telah
difilter ($hitung).

Hasil pemrosesan tersebut kita cetak di dalam web dengan script :

echo "<b>No. | IP AKTIF</b>";

echo "<br><br>";

$count=1;

while ($row = mysql_fetch_assoc($list)) {

echo $count++."&nbsp;"."&nbsp;"."&nbsp;"."&nbsp;"." | ";

echo $row['ip'];

echo "<br>";

}

echo "<br>";

$tot=mysql_fetch_row($hitung);

$tot=$tot[0];

echo "<hr>";

echo "Jumlah Host Aktif : ".$tot. " Host";

echo "<hr>";

sehingga menghasilkan output seperti tampilan web diatas, kemudian yang perlu diperhatikan karena
web ini menggunakan tempat penampungan sementara untuk database, maka setiap kali perintah
selesai di eksekusi dan menghasilkan suatu output perlu ditekan tombol reset untuk menghapus
temporary database agar eksekusi berikutnya dapat berjalan sesuai dengan command yang dieksekusi.

Tombol reset tersebut telah disiapkan dibawah cetakan output :

echo "<font size='-2'><BLINK>selalu tekan reset setelah selesai agar scanning dapat dibersihkan</BLINK></font>";

echo "<form action='reset.php'><input type='submit' value='RESET' name='btnhapus'></form>";

NPEv2 | 7
Detail Bugs :

1. Apabila terjadi crowded atau jaringan sibuk sehingga command netstat memerlukan waktu yang
lama untuk mengeksekusinya maka akan muncul tampilan pesan kesalahan bahwa perintah
memakan waktu lebih dari 60 sekon sebagai output.

2. Program ini hanya merupakan modifikasi penyederhanaan output dari perintah ‘netstat’, jadi
apabila output dari netstat tersebut berbentuk selain ip, contoh : [nama computer] atau
[00:00:eF:90….] maka hal tersebut juga dianggap sebagai ip, sehingga output yang dihasilkan
juga memunculkan selain ip.

NPEv2 | 8