Jumat, 16 Maret 2012

Kode Perl untuk Memonitor Aktivitas Jaringan

Beberapa waktu ini kami disibukkan dengan beberapa server Linux yang memancarkan upload dan download cukup tinggi yang disebabkan karena adanya malware yang masuk ke server. Setelah menemukan beberapa server yang dicurigai, kami perlu untuk memonitor trafik di dalam server yang ingin diperiksa. Alih-alih harus menginstal aplikasi untuk monitoring jaringan, kami memanfaatkan script Perl sederhana.

Bagi yang punya server Linux dan ingin melihat trafik di masing-masing interface jaringan, ada sebuah script Perl buatan alm. Sridewa a.k.a curang.com (Mei 1980 - Des 2008).
#!/usr/bin/perl
## DeUa Meter.... v0.2e
## oleh : sridewa    http://curang.com
## Indikasi:
##  Dapat digunakan untuk memonitor aktifitas Transmit dan Receive
##  dari masing-masing Net Devices yang terdaftar di /proc/net/dev
##
## Boleh dikopi secara bebas.... sakarepmu....
print "DeUa Meter v0.2e:n";
print "Simply count bytes (in kBytes/sec)n";
print "--------------------------------------nn";
while (true) {
open(GUK,"/proc/net/dev");
$junk=<GUK>;
$junk=<GUK>;
@mentah=<GUK>;
close(GUK);
$idx=-1;
foreach  $baris (@mentah) {
        $idx++;

        ($if,$stats)=split(":",$baris);
        ($rx_bytes,$rx_packets,$rx_errs,$rx_drop,$rx_fifo,$rx_frame,$rx_compressed,$rx_multicast,
         $tx_bytes,$tx_packets,$tx_errs,$tx_drop,$tx_fifo,$tx_colls,$tx_carrier,$tx_compressed)=split(" ",$stats);
        if ($last_RX[$idx]==0) { $rx_spd=0; } else { $rx_spd=$rx_bytes-$last_RX[$idx]; };
        if ($last_TX[$idx]==0) { $tx_spd=0; } else { $tx_spd=$tx_bytes-$last_TX[$idx]; };
        $last_RX[$idx]=$rx_bytes;
        $last_TX[$idx]=$tx_bytes;
        print "~";
        printf "%.6s",$if;
        print ": (";
        printf "%8.2f",$rx_spd/1024;
        print "/";
        printf "%8.2f",$tx_spd/1024;
        print ") ";
}
sleep 1;
print "n";
}
Sampai sekarang script ini masih sangat bermanfaat bagi saya. Pelajarannya adalah: tetaplah berkarya, karena karya itu akan tetap bermanfaat meskipun kita nanti tiada.

1 komentar:

Affan mengatakan...

Gak pake beginian aja pak? http://soft.risp.ru/trafshow/index_en.shtml

Posting Komentar