dns lookup menggunakan JNDI
import javax.naming.*;
import com.sun.jndi.dns.*;
import java.util.Hashtable;
public class TestDNS {
public static void main(String[] argv) {
Name cn = null;
String name = argv[0];
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, "dns://IP for DNS Server/");
try {
// Create the initial context
Context ctx = new InitialContext(env);
// print the fully qualified name (.)
System.out.println("Name in namespace: "+ctx.getNameInNamespace());
// retrieve the parser associated with the named context
NameParser np = ctx.getNameParser(ctx.getNameInNamespace());
if (argv.length != 1) {
System.out.println("Usage: java TestDNS ");
System.exit(-1);
}
// parse the name into its components and print them
cn = np.parse(name);
System.out.println("Name is: "+cn.toString());
System.out.println("The parsed name has "+cn.size()+" components:");
for (int i=0; i lt cn.size(); i++){
System.out.println(cn.get(i));
}
System.out.print("Trying to lookup ");
// get the prefix (domain) and suffix (hostname)
Name domain = cn.getPrefix(cn.size()-1);
Name host = cn.getSuffix(cn.size()-1);
System.out.println("DNS Host: "+host+" Domain: "+domain);
// retrieve the named object
Object obj = ctx.lookup(domain);
System.out.println(domain.toString()+" is bound to: "+obj);
// retrieve and print the environment in effect
System.out.println("Domain properties: "+ ((Context)obj).getEnvironment());
// retrieve and print the IP address (the DNS A records)
System.out.println("IP for: "+cn+ " is: "+
((DnsContext)obj).getAttributes(host, new String[]{"A"}));
// we're done so close the context
ctx.close();
} catch (NamingException e) {
System.err.println("Problem looking up " + cn + ": " + e);
}
}
}
Before you run this application, make sure you specify the IP address for the DNS server.
Here is a sample run:
prompt> java TestDNS prep.ai.mit.edu
Name in namespace: .
Name is: prep.ai.mit.edu
The parsed name has 4 components:
edu
mit
ai
prep
Trying to lookup DNS Host: prep Domain: ai.mit.edu
ai.mit.edu is bound to: com.sun.jndi.dns.DnsContext@b89838
Domain properties: {java.naming.provider.url=dns://IP for DNS Server/, java.namin
g.factory.initial=com.sun.jndi.dns.DnsContextFactory}
IP for: prep.ai.mit.edu is: {a=A: 199.232.41.9}
Macamana nak set path dalam linux ? (BI)
Untuk meliahat path semasa...
echo $PATH
Untuk menambah patah:
export PATH=$PATH:/sbin
untuk tengo keputusan...
echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/myname/bin:/sbin
Tetapi ini hanya untuk sesi tersebut sahaja. Untuk memastikan path kekal pada setiap sesi anda perlu mengedit file bash_profile
Tukar ke direktori anda dan taikan vi .bash_profile. Kemudian cari penyataan dibawah dalam fail tersebut
PATH=$PATH:$HOME/bin
Kemudian taip i untuk edit file
tambahkan direktori yang diperlukan
dan escape dan wq untuk menyimpan fail.
The Grinder 3 & Web Application load testing (BI)
Web Applications have a wide range of user populations. It is not uncommon to have tens of thousand of visitors hit a site during a week. One really needs to know if the application can perform under a load and what level of load. This type of testing is know as load testing. There are several load testing tools available. The industry standard tool is Mercury Interactive’s Load Runner. I’ve seen it, and I’d recommend it. Unfortunately, I haven’t had the chance to use it, but I’ll recommend the business case again next year. In the meantime, one tool that I recently tried out with CFMX is The Grinder.
The grinder is an open source load testing framework. I went very out of character and utilized the Beta version, grinder 3, because it uses Jython to write scripts. With the grinder 3, you can load test anything; databases, messaging services, web apps, web services, etc. I’m hoping to utilize the grinder 3 to load test Quovadx/Cloverleaf Interface Engine, the Siemens Soarian Clinical Access, Crystal Enterprise 10, 3M’s Encoder, and several other applications.
Installing the Grinder 3
1. First ensure java is installed on the machine where you will be running the scripts. If not, please download from here.
2. Download and unzip the grinder 3 from here.
3. Download the jython2.1 class file.
4. Add the grinder.jar to your CLASSPATH variable.
- Set CLASSPATH=%CLASSPATH%;c:\grinder-3.0-beta23\lib\grinder.jar
5. Install the jython2.1 class file.
- Java jython2-1
Aside: Remember the directory and set it in the grinder.properties file
To get into the Grinder console, run java net.grinder.Console. You can find more about the console here. I'm not very big on the GUI, but it does its job.
Recording Web App test scripts
Hand coding the test scripts would get to be very trying in a very short time. In order to maintain one’s sanity, exploit the TCPProxy httpplugin to record scripts.
1. First, set up IE to temporarily use a proxy server.
- Menu -> Tools -> Internet Options -> Connections tab
- Click on Lan Settings button
- Check the use a proxy server for your lan setting
- Click on Advanced button
- Set the http proxy address to use to be localhost, port 8001
- Set the secure proxy address to use to be localhost, port 8001
2. Fire off the TCPProxy within grinder.
- java net.grinder.TCPProxy –console –httpplugin
3. Surf away with the IE session, and you will have all actions recorded.
4. Click Stop Recording on the TCPProxy Window, when you are done.
5. Remove the changes to the IE Browser, unchecking using a proxy server.
6. You will notice within the directory there is a httpscript.py and a httpscript_tests.py file. These are your test scripts.
A quick aside point is that if you don’t want to switch setting, one could always leave ie in the record mode and surf the web with firefox.
Running the test scripts
A key thing to remember when you are running your test scripts, set up multiple grinder sessions on multiple machines. This way everyone isn’t using the same network interface.
1. Set up resource monitoring with performance monitor on the server, and client machine.
2. To run the grinder test scripts;
- In the same directory have a grinder.properties, this file contains the configuration settings
- Also within that directory, have the script you would like to run. For our example, find the httpscript.py and httpscript_tests.py files.
- run java net.grinder.Grinder, from that directory.
The settings in the grinder.properties file are:
#
# Example grinder.properties
#
# Set the jython class directory
grinder.jvm.arguments=-Dpython.home=c:\jython-2.1
#Set the worker processes, with threads, and runs.
#So for this example, I have 10 worker processes with 20 threads each.
#They will cycle 100 times.
grinder.processes=5
grinder.threads=3
grinder.runs=100
#don’t use the console.
grinder.useConsole=false
#The directory which logs the results, and the number of old results to keep.
grinder.logDirectory=log
grinder.numberOfOldLogs=2
#grinder.initialSleepTime=500
#grinder.sleepTimeFactor=0.01
#grinder.sleepTimeVariation=0.005
grinder.script=httpscript.py
I’m hoping grinder is going to be an easy to setup load testing in a systematic way. Our first shot out of the door will be Crystal Enterprise 10 this week. (stay tuned)
Places that helped
WebSite:
The grinder 3 manual
Dan Moore’s the grinder
Open Testing Reviews The Grinder
The HTTPClient Info
The grinder loadtesting for everyone
NewGroups
grinder-announce: Low-volume notifications of new releases
grinder-use: The place to ask for help
grinder-development: For those interested in developing The Grinder
sumber asal http://www.anticlue.net/archives/000395.htm
Menambah hardisk kedua untuk linux
Ingin menambah hardisk dalam komputer anda (linux) ?
Terdapat dua jenis utama hardisk dalam pasaran iaitu EIDI dan SCSI. EIDI biasanya digunakan oleh komputer biasa dan SCSI digunakan oleh server kerana ianya mahal.
Pertama setkan
jumper hardisk tersebut kepada
slave, kemudian setkan BIOS komputer anta supaya ianya boleh mengesan
harddisk baru tersebut.
Kemudian taipkan
fdisk /dev/hdb #b untuk kedua c untuk ketiga.... n=new partition dan w=simpan dan keluar
mkfs.ext2 /dev/hdb1 # format ke format linux
mkdir /drivec #bina root directori untuk drive c
mount /dev/hdb /drivec # mountkan /drivec ke hdb
df #untuk melihat struktur file
[root@sdf1 bin]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdb2 497861 127867 344290 28% /
/dev/hda1 101086 5944 89923 7% /boot
none 63568 0 63568 0% /dev/shm
/dev/hda2 3020172 2166520 700232 76% /usr
/dev/hdb1 1019864 178988 789068 19% /var
/dev/hdc1 4154136 840200 3102916 22% /var/netflow
nota :
untuk melihat perbezaan antara dua direktori taipkan
diff /var/netflow /var/netflow2
~fakirpena
TCP/IP : Pengenalan ringkas
TCP/IP ialah protokol yang membolehkan komputer komunikasi dengan internet. Protokol ini ialah tatacara yang perlu dipatuhi untuk membolehkan sesebuah komputer berkomunikasi antara satu sama lain. TCP/IP mewakili Transmission Control Protocol/Internet Protocol. Secara umumnya protokol ini menerangkan bagaimana sesuatu peralatan boleh disambungkan ke internet dan bagaimana data dipindahkan.
TCP/IP mengandungi beberapa protokol lain untuk melancarkan proses pemindahan data seperti berikut:
- TCP : komunikasi antara aplikasi
- UDP (User Datagram Protocol) : komunikasi mudah antara aplikasi
- IP : komunikasi antara komputer
- ICMP (Internet Control Message Protocol) : untuk error dan statistik
- DHCP (Dynamic Host Configuration Protocol) : untuk pembinaan alamat yang dinamik
TCP (fix connection)
Apabila satu aplikasi ingin berkomunikasi dengan aplikasi lain menggunkan TCP, ia akan menghantar request kepada alamat tertentu. Setelah kedua dua aplikasi handshake, TCP akan menyediakan komunikasi full-duplex diantara kedua-dua aplikasi tersebut. full-duplex akan bertindak sebagai paip yang menghubungkan kedua dua aplikasi sehingga komunikasi tersebut dihentikan. UDP juga menggunakan kaedah yang sama tetapi ianya lebih mudah.
IP (Connectionless)
Data dipecahkan kepada packet dan dihantar antara komputer melalui internet tanpa melalui "paip" yang khusus. IP bertanggungjawab untuk mengrouting packet ke destinasi tertentu. Router bertanggungjawab untuk menghantar packet kedestinasi yang betul dengan mengambilkira trafik volum, error dan lain lain lagi.
TCP/IP
Gabungan kedua dua kaedah untuk melancarkan proses pemindahan data. TCP akan menguruskan komunikasi antara perisian (browser) dengan perisian rangkaian. IP pula akan menguruskan komunikasi dengan komputer lain. TCP akan memecahkan data kepada packet sebelum dihantar dan menggabungkan semula packet tersebut apabila ia sampai, IP pula memindahkan packet kepada penerima.
Domain name
Setiap komputer diwakili oleh IP adress untuk berkomunikasi. IP address ialah nombor 32 bit (4 byte) yang ditulis dalam bentuk 192.121.1.233 (Megapa nilai maksimum setiap nomber ialah 255 ?). Nombor tersebut diwakili oleh domain name supaya ianya mudah diingat. DNS server bertanggungjawab untuk menukarkan domain name kepada IP address dan mengemaskini domain name baru.
Protokol lain.
- HTTP - Hypertex tranfer protocol : web server dengan web browser
- HTTPS - Secure HTTP : komunikasi selamat antara web server dengan web browser. Biasanya dugunakan untuk data yang sensitif.
- SSL - Secure Sockets Layer : komunikasi yang menggunakan data yang di encrypt
- SMTP - Simple Mail Tranfer Protocol : protokol pemindahan email
- IMAP - Internet Message Acces Protocol : protocol untuk menyimpan dan membaca email
- POP - Post Office Protocol : protokol untuk mendownload email daripada server
- FTP - File tranfer protocol : protokol pemindahan fail
- NTP - Network Time Protocol : Protokol untuk menyamakan masa diantara komputer
fakirpena.blogspot.com
Flowscan - Tutorial
Flowscan ialah perisian untuk menganalisa dan membuat laporan tentang aliran data yang diexport oleh router. Dibangunkan menggunakan Perl, ianya mengandungi tiga komponen utama iaitu enjin pengumpul flow (flow collection engine), database dan laporan.
Flowscan memproses data daripada Netfow mengunakan CAIDA's cflowd flow tool. Flowscan memeriksa maklumat flow dan mengindexkan data tersebut. Kemudian nilai tersebut disimpan kedalam database menggunakan RRDTool. Akhirnya flowscan menggunakan RRDTool untuk membina graf daripada database yang dibina. (Sila lihat rajah dibawah untuk penjelasan lebih lanjut)
Flowscan memproses memproses Netflow V5. Gambar dibawah menunjukkan kandungan Netflow V5
a) header
b) Kadungan
Proses flowscan
Pengenalan kepada RRDTool
Pengenalan
RRDTool ialah
round robin database tool. Round robin adalah teknik yang menggunakan jumlah data yang tetap dan penunjuk kepada elemen semasa. Maka saiz database tidak akan bertambah dan ianya tidak memerlukan penyelenggaraan. Secara umumnya teknik ini digunakan untuk mengukur nilai pada sesuatu masa tertentu.
RRDTool dibina berdasarkan MRTG (Multi Router Traffic Grapher). MRTG ialah perisian untuk membina graf data
connection ke internet. Kemudian ianya berkembang untuk data yang lain seperti suhu, kelajuan, voltan dan lain lain kagi. RRDTool membolehkan pengguna membina pengkalan data, meyimpan dan membina graf untuk dipaparkan melalui we browser.
cara yang terbaik untuk memahami RRDTool ialah dengan melakukan sesi teknikal :).
Membina database
rrdtool create test.rrd \ nama database
--start 920804400 \ tarikh dibina -Unix timestamp (mula 1 1970 UTC)
DS:speed:COUNTER:600:U:U \ data source bernama speed - data dari counter
RRA:AVERAGE:0.5:1:24 \ database pertama
RRA:AVERAGE:0.5:6:10 \ database kedua
Masukkan data (dua colum masa dan nilai - sebagai contaoh kelajuan kereta pada masa )
rrdtool update test.rrd 920804700:12345 920805000:12357 920805300:12363
rrdtool update test.rrd 920805600:12363 920805900:12363 920806200:12373
rrdtool update test.rrd 920806500:12383 920806800:12393 920807100:12399
rrdtool update test.rrd 920807400:12405 920807700:12411 920808000:12415
rrdtool update test.rrd 920808300:12420 920808600:12422 920808900:12423
Jika mahu baca semula data
rrdtool fetch test.rrd AVERAGE --start 920804400 --end 920809200
Maka keputusannya ialah
speed
920804700: NaN
920805000: 0.04
920805300: 0.02
920805600: 0.00
920805900: 0.00
920806200: 0.03
920806500: 0.03
920806800: 0.03
920807100: 0.02
920807400: 0.02
920807700: 0.02
920808000: 0.01
920808300: 0.02
920808600: 0.01
920808900: 0.00
920809200: NaN
Untuk membuat graf dari pukul 12.00 hingga 13.00 ke fail speed.gif
rrdtool graph speed.gif \ nama gif fail
--start 920804400 --end 920808000
DEF:myspeed=test.rrd:speed:AVERAGE \ pembolehubah myspeed mengambil nilai RRA speed
LINE2:myspeed#FF0000 \bina line 2 pixel bewarna merah
Lebih tepat
rrdtool graph speed2.gif
--start 920804400 --end 920808000
--vertical-label m/s
DEF:myspeed=test.rrd:speed:AVERAGE
CDEF:realspeed=myspeed,1000,* \ realspeed=myspeed*1000 (reverse polish notation)
LINE2:realspeed#FF0000
Lebih cantik lagi
rrdtool graph speed3.gif
--start 920804400 --end 920808000
--vertical-label km/h
DEF:myspeed=test.rrd:speed:AVERAGE
"CDEF:kmh=myspeed,3600,*"
CDEF:fast=kmh,100,GT,kmh,0,IF \ if kmh >100 then kmh else 0
CDEF:good=kmh,100,GT,0,kmh,IF \ if kmh > 100 then 0 else kmh
HRULE:100#0000FF:"Maximum allowed"
AREA:good#00FF00:"Good speed"
AREA:fast#FF0000:"Too fast"
Graf akan lebih menarik jika
rrdtool graph speed4.gif
--start 920804400 --end 920808000
--vertical-label km/h
DEF:myspeed=test.rrd:speed:AVERAGE
"CDEF:kmh=myspeed,3600,*"
CDEF:fast=kmh,100,GT,100,0,IF
CDEF:over=kmh,100,GT,kmh,100,-,0,IF
CDEF:good=kmh,100,GT,0,kmh,IF
HRULE:100#0000FF:"Maximum allowed"
AREA:good#00FF00:"Good speed"
AREA:fast#550000:"Too fast"
Kemudian graf tersebut boleh dipaparkan dalam fail HTML
Secara umumnya RRDTool boleh mengrafkan apa sahaja data yang berkaitan dengan masa.
~fakirpena.blogspot.com
Perl - Tutorial ringkas untuk programer :)
Mengapa perl ?
Bagi mereka yang biasa dengan windows programming, perl adalah sangat tidak popular. Tetapi bagi peminat linux, perl adalah bahasa "kebangsaan" mereka. Kenapa tiba tiba belajar perl, kenapa? macam biasalah bila ada kerja yang memerlukan perl. Maka setelah itu terhasillah sebuah nota kecil tutorial perl. Nota hanya sesuai dibaca oleh mereka yang pernah belajar programming, mengapa ? kerana ianya akan hanya difahami oleh golongan tersebut sahaja!!. Jika anda tidak percaya, anda boleh boleh cuba :)
Pembolehubah
perl menggunakan predfine ($ @ %) untuk mewakili pembolehubah. Menagapa? untuk mudah dibaca :)
$nama="Ali"
print "Nama saya ialah $nama\n"
operator
$num1 = 2;
++$num1;
$num1--;
$num1*=2; # $num1= $num1*2 (# tanda komen)
nota
** = exponent
% = modulus (baki)
Subrutin
$num1=3;
$num1*=5;
&cetakjawapan;
sub cetakjawapan {
print "\$num1 ialah $num1\n";
}
Perbandingan
$hari ="ahad";
if ($hari eq "ahad") {
print "Tido laa\n";
}
True atau false
Semua nilai adalah true kecuali "","0"
semua numbor adalah true kecuali 0
semua pembolehubah yang tidak diistiharkan adalah false
if ($x=10) #semuanya true $ telah dumpukkan kepada $x
if ($x==10) # penyataan if
if ($nama1 lt $nama2) #perbandingan string
Input
print "Masukkan nama : ";
$nama=;
print "Selamat datang $nama !n";
print "Masukkan nama : ";
chop($nama=); # buang cariage return
print "Selamat datang $nama !n";
Array
@nama=("ali","abu","ahmad");
print "Kandungan \@nama ialah @nama\n";
print "Kandungan element kedua ialah $nama[1] \n";
print "Kandungan dua elemen pertama ialah @nama[0,1] \n";
print "Kandungan 3 elemant pertama ialah @nama[0..2] \n";
for ($x=0; $x <= $#nama; $x++) { #fenin # boleh refer kat kandungnan pulak print "$nama[$x]\n"; }
atau
foreach $namamereka (@nama) {
print "$namamereka";
}
atau
foreach (@nama) {
print "$_"; # patern searching
}
Gelung tak berhenti
while (1) {
$x++; print "$x : tekan Ctrl C untuk berhenti";
}
Pemprosesan array
@nama=("ali","ahmad","Hasan");
@Kampung=("Tekek","Durian Burung","Paloh","Sg Besi");
print "@nama\n";
push (@nama,"Ayam",@Kampung[1..3]); #tambah elemnet array
&cetaknilai;
$last = pop(@Kampung); #buang element akhir array
&cetaknilai;
unshift (@Kampung, $last); # tambah nilai diawal array
cetaknilai;
shift(@Kampung); #buang element array dari awal
cetaknilai;
$tengah = splice (@Kampung, 1,2); # potong namaarray,offset,bilangan
print "Setelah di slice : $tengah \n";
sub cetaknilai {
print "nama : @nama\n; print "Kampung : @Kampung\n;
}
regex ?
$_ = "saya sudah makan";
if ($_=~/saya/) { print "ada perkataan saya\n};
if (/sudah/) { print " ada perkataan sudah\n}; # =~ diabaikan
if (/suDah/i) { print "ada perkataan suDah\n}; # i untuk case sansitive = false
if (/joe/) {print "ada perkataan joe \n}; #memang takde pun
@nama=qw (abu ali hasan); # qw ialah delimiter space/tab
if (/[AdC]bu/) #pilih perkataan dimulakan dengan A d atau C
if (/[a-z]bu/)
if (/^a/) #benar hanya diawal perkaataan ada huruf a
Hash
-array yang mengunakan string sebagai index
%negeri =('P,Pahang','S,Selangor','K,Kedah');
print "Masukkan kod negeri :";
chop($dicari=);
$dicari=~/a-z/A-Z/;
print "$negeri{$dicari} menggunakan kod $dicari \n;
print keys %negeri; #semua kod
print values %negeri #semua nilai
print @country('S','P'); #sebahagian
print scalar (keys %negeri) # berapa banyak
print "Adakah wujud $negeri{'S'}; #wujud ke ?
foreach (sort keys %negeri) { # sort
print "Kod $_ ialah negeri $negeri{$_} \n;
}
%negeri1('2','Pahang','4','Selnagor','1','Kedah');
foreach (sort {$a <=> $b} keys %negeri1) { #ni spaceship operator = sat haaa (sorting menggunakan nilai string bukan nilai nombor
print "$_ $negeri{$_} \n";
}
Grep dan Map
- cari data dalam array dan membina aray lain bedasarkan data yang dijumpai
@stuff=qw(flying gliding skiing dancing parties racing); # quote-worded list
@new = grep /ing/, @stuff; # Creates @new, which contains elements of @stuff
# matching with 'ing' in them.
print join ":",@stuff,"\n"; # first makes one string out of the elements of @stuff, joined
# with ':' , then prints it, then prints \n
print join ":",@new,"\n";
kalau nak pakai blok pun takpe
@stuff=qw(flying gliding skiing dancing parties racing);
@new = grep { s/ing// if /^[gsp]/ } @stuff;
print join ":",@stuff,"\n";
print join ":",@new,"\n";
mapped - pula cuma mengebalikan nilai 1 jika ada data yang dijumpai
@stuff=qw(flying gliding skiing dancing parties racing);
print "There are ",scalar(@stuff)," elements in \@stuff\n";
print join ":",@stuff,"\n";
@mapped = map /ing/, @stuff;
@grepped = grep /ing/, @stuff;
print "There are ",scalar(@stuff)," elements in \@stuff\n";
print join ":",@stuff,"\n";
print "There are ",scalar(@mapped)," elements in \@mapped\n";
print join ":",@mapped,"\n";
print "There are ",scalar(@grepped)," elements in \@grepped\n";
print join ":",@grepped,"\n";
Pemprosesan fail
$namafail="c:\script\file.txt";
open INPUTFILE, $namafail or die "gagal membaca $namafail !";
while () {
print "data $. ialah : $_";
}
$namaoutput="c:/script/out.txt";
open OUT, ">$namaoutput" or die "Gagal";
for $i (1..10) {
print OUT "$i : masa sekarang : ", scalar(localtime),"\n";
}
close OUT
nota
open OUT,">>$namaoutput" untuk append data
Argument
foreach (@ARGV) {
print "$_";
}
Nak tengok contoh yang lagi power sample kat bawah nie, tak larat nak terjemah laaa.
@ARGV="c:/scripts/out.txt";
$^I=".bk"; # let the magic begin
while (<>) {
tr/A-Z/a-z/; # another new function sneaked in
print; # this goes to the temp filehandle, ARGVOUT,
# not STDOUT as usual, so don't mess with it !
}
contoh 2
$SHOP="shop.txt";
$/="\n\n";
open SHOP or die "Can't open $SHOP for read: $!\n";
while () {
push (@list, $_);
}
foreach (@list) {
print "Items are:\n$_\n\n";
}
contoh 3
$SHOP="shop.txt";
$/="\n\n";
open SHOP or die "Can't open $SHOP for read: $!\n";
@list=; # dumps *all* of $SHOP into @list, not just one line.
foreach (@list) {
print "Items are:\n$_\n\n";
}
}
Selamat belajar!
Netflow - Tutorial
Teknologi NetFlow membolehkan penyelenggara rangkaian memproses data yang diuruskan oleh sesuatu router. Data tersebut boleh digunakan untuk pengurusan dan perancangan rangakaian sama ada untuk tujuan laporan, pemasaran mahupun untuk meningkatkan prestasi rangkaian.
Secara umumnya netflow memproses data berkenaan pengguna, protokol, port dan jenis perhjidmatan (service) yang diguakan. Maklumat ini amat penting untuk melakukan analisis rangkaian, perancangan, membina laporan dan membuat bil kepada pengguna.
(network layer) dan nombor port (transport layer). Maklumat flow yang utama adalah
- IP sumber
- IP destinasi
- Port number sumber
- Port number destinasi
- Jenis protokol
- Jenis perkhidmatan (service)
- Input surface
Netflow cache adalah data sementara yang disimpan dalam router sebelum ianya dihantar kepada mesin lain untuk diproses.
Netflow menghantar maklumat menggunakan UDP dalam dua format, version 1 dan version 5 (penambahan data BGP dan sequence number).
Table : Version 5 Header Format
| Bytes | Content | Description | 0-3 | version and count | Netflow export format version number and number of flows exported in this packet (1-30). | 4-7 | SysUptime | Current time in milliseconds since router booted | 8-11 | unix_secs | Current seconds since 0000 UTC 1970. | 12-15 | unix_nsecs | Residual nanoseconds since 0000 UTC 1970. | 16-19 | flow_sequence | Sequence counter of total flows seen. | 20-23 | reserved | Unused (zero) bytes. | |
Table : Version 5 Flow Record Format
| Bytes | Content | Description | 0-3 | srcaddr | Source IP address. | 4-7 | dstaddr | Destination IP address. | 8-11 | nexthop | Next hop router's IP address. | 12-15 | input and output | Input and output interface's SNMP index. | 16-19 | dPkts | Packets in the flow. | 20-23 | dOctets | Total number of Layer 3 bytes in the flow's packets. | 24-27 | First | SysUptime at start of flow. | 28-31 | Last | SysUptime at the time the last packet of flow was received. | 32-35 | srcport and dstport | TCP/UDP source and destination port number or equivalent. | 36-39 | pad1, tcp_flags, prot, and tos | Unused (zero) byte, Cumulative OR of TCP flags, IP protocol (for example, 6=TCP, 17=UDP), and IP type-of-service. | 40-43 | src_as and dst_as | AS of the source and destination, either origin or peer. | 44-47 | src_mask, dst_mask, and pad2 | Source and destination address prefix mask bits, pad 2 is unused (zero) bytes. | |
Perisian terbuka : semakin menyengat
Perisian sumber terbuka (open source) menjadi semakin popular terutamanya selepas organisasi mula menghadkan perbelanjaan dalam teknologi maklumat. Organisasi mula mencari kaedah terbaik untuk menjimatkan perbelanjaan dalam teknologi maklumat. Maka penyelesaian berasaskan sumber terbuka mula bertapak di segmen pasaran yang begitu menguntungkan, selama ini ianya hanya didominasi oleh syarikat seperti Microsoft.
Penggunaan aplikasi dan pengkalan data sumber terbuka telah begitu popular bagi kegunaan persendirian. Dua initiatif utama telah dilancarkan untuk mengitegrasikan perisian sumber terbuka yang sedia ada supaya ianya setaraf dengan perisian komersial yang ditawarkan oleh Microsoft, IBM mahupun Oracle.
Gluecode Software ialah syarikat yang menawarkan penyelesaian bedasarkan perisian sumber terbuka untuk kegunaan enterprise. Mereka menawarkan penyelesaian sumber terbuka berasaskan Java, dibina bedasarkan teknologi perisian sumber terbuka oleh Apache Software Foundation. Gluecode JOE mengandungi portal, pengkalan data dan application server. Gluecode menawarkan sokongan teknikal dan penyelengaraan bagi penyelesaian yang ditawarkan.
Kemudian ObjectWeb, konsotrium berpusat di Perancis mengeluarkan eXo Platform. Rumusan ini mengandungi portal dan CMS (content management system). Pengguna boleh mendapatkan pelbagai maklumat berkenaan organisasi melalui platform ini.Ianya mampu meningkatkan produktiviti dengan menyediakan maklumat perniagaan kepada pekerja, menawarkan pengurusan data disamping menjalankan pelbagai proses perniagaan hanya menggunakan pelayar internet.
Masih terlalu awal untuk melihat rumusan perisian terbuka diadaptasi oleh organisasi besar secara menyeluruh. Tetapi ianya memberi altenatif kepada mereka untuk memilih rumusan yang paling berkesan dan menjimatkan. Faedah utama menggunakan perisian sumber terbuka ialah kos, pengguna hanya perlu membayar kos perkhidmatan tetapi tidak perlu membayar perisian yang digunakan. Perisian tambahan pula boleh ditambahkan kepada rumusan sedia ada pada bila bila masa kerana anda mempunyai kod sumber rumusan tersebut.
Ternyata perisian komersial akan terus menawarkan pelbagai ciri menarik untuk membezakan produk mereka dengan produk sumber terbuka. Tetapi pembangun perisian dan usahawan sumber terbuka telah merancang untuk meningkatkan mutu produk mereka dan bersaing secara adil dengan produk komersial.
Perisikan cyber - JBond digital - Part I
JBond Digital?
Pengguna internet bertambah dengan begitu pesat sejak beberapa tahun . Pelbagai perkidmatan ditawarkan oleh organisasi kepada pelanggannya untuk memudahkan mereka bekomunikasi mahupun melakukan transaksi. Perkembangan ini mengundang golongan tertentu mengambil kesempatan untuk mengintip perhubungan diantara kedua belah pihak untuk mendapatkan maklumat.
Anda tidak perlu menghadiri kursus yang dianjurkan oleh institut
SANS mahupun perlu memasuki semula kolej untuk mempelajari teknik perisikan cyber. Sebenarnya carian ringkas menggunakan google sudah mampu untuk menjadikan anda seorang pengintip cyber. Anda boleh mendapatkan beratus ratus perisian dengan arahan yang lengkap untuk menjadikan anda seorang James Bond versi digital.
Sehingga kini tiada statistik lengkap mengenai perisikan cyber terutamanya dinegara kita. Media di luar negara ada melapurkan pelbagai kes perisikan cyber, itupun setelah seseorang ditangkap melakukan kesalahan tersebut.Kebanyakkan kes tidak dilapurkan kepada media kerana ianya melibatkan "maruah" sesebuah organisasi yang menjadi mangsa pengintipan.
Mengapa ianya menjadi semakin popular?
- Semakin banyak maklumat yang sensitif disimpan dalam komputer. Maklumat tersebut semakin mudah untuk disalin mahupun diproses.
- Wujud terlalu banyak bug sistem operasi dan perisian yang digunakan, tambahan pula perisian untuk mengexploitasi bug tersebut mudah didapai di internet
- Setiap hari bilangan komputer yang mempunyai talian ke internet bertambah maka bilangan mangsa dan pemangsa bertambah setiap hari. Walaubagaimanapun dalam kebanyakan kes yang dilapurkan, kebanyakan kegiatan perisikan dilakukan oleh pekerja organisasi tersebut
Kegiatan perikan cyber meningkat kerana perkembangan internet. Sesiapa sahaja boleh mendapatkan perisian dan kaedah melakukan pengintipan melalui internet. Maka dalam masa sehari seseorang mampu menjadi seorang perisik amatur.
Tetapi, siapakah yang berminat untuk mengintip maklumat anda, atau anda tiada maklumat yang perlu dirasiakan ?
Pengintip tersebut mungkin bos anda, pasangan, rakan sekerja, jiran ataupun sesiapa sahaja yang menyangka anda mempunyai maklumat yang memberi faedah kepada mereka. Jika nasib anda lebih malang, mungkin perisik tersebut adalah daripada kementerian keselamatan !
~fakirpena.blogspot.com
Qasidah Burdah - Cinta yang menyembuhkan penyakit ?
Perubatan? Bagaimana yaaa ...
Pada zaman kini, terdapat pelbagai kaedah penyembuhan menggunakan alam semula jadi dan ketenangan jiwa dan ianya menjadi semakin popular, sila lawati laman web
holistic therapy dan
Energy Healing untuk maklumat lanjut. Sebagai seorang muslim pada masakini kita amat bertuah kerana ulama terdahulu telah meninggalkan pelbagai khazanah berharga untuk memperolehi kebahagian didunia mahupun akhirat. Cuma kadang kala kita terlupa akan khazanah tersebut.
Qasidah burdah adalah syair memuji Rasulallah dan perjuangannya serta sahabatnya dengan bahasa yang begitu indah sekali sehinggakan pengarangnya (Imam Bushiri) digelarkan oleh para ulama sebagai "Sayyidul Muddah" ertinya penghulu para penuji Rasulallah. Ianya begitu popular di Malaysia, Indonesia, Magribi, India, Yaman, Afrika dan di Amerika Syarikat (
Sheih Hamza Yusuf menerbitkan
Album beserta terjemahan burdah kedalam bahasa inggeris) Contoh audio boleh didapati di
http://www.sandala.co.uk/home.html
atau didownload
disini
Semasa sifakir masih di sekolah rendah, pembacaan qasidah burdah diadakan setiap pagi Jumaat di surau berhampiran rumah sifakir. Walaubagaimanapun sifakir sendiri tidak pernah menghadiri majlis tersebut (biasalah alasan sentiasa boleh diberi).
Komen : Mengapa pembacaan Qasidah dan Marhaban semakin lesu di Malaysia ?
Ini disebabkan pembacaan tersebut hanya mendapat sambutan dari golongan veteran (biasa laa- golongan muda? banyak lagi lagu lain yang lebih menarik dan seronok untuk dilagukan). Tambahan pula pembacaan dilakukan tanpa mengetahui makna syair yang dibaca, maka kesan melalui pembacaan tersebut adalah terlalu minima. (pendapat peribadi)
Sejarah menyatakan bahawa Imam Al Bushiri (Muhammad bin Said Albusiri 608-696H -Mesir) telah ditimpa penyakit lumpuh. Para doktor pada zamannya telah berputus asa untuk mengubatinya.
Pada ketika sakit beliau mendapat ilham untuk mengarang sebuah qasidah terhadap RasulAllah. Maka dengan hati yang penuh kasih sayang dan kerinduan terhadap Rasulallah beliau mengarang qasidah tersebut sehingga 161 rangkap.
Semasa beliau mengarang tersebut beliau merasakan semoga dengan berkat Rasulallah maka penyakitnya akan disembuhkan oleh Allah.Kemudian beliau tertidur dan bermimpi bertemu Rasulallah, lalu baginda mengusap bahagian yang sakit tersebut dengan tangannya yang mulia lalu menyelimutkan Imam bushiri dengan selendang (burdah). Apabila dia terjaga dari tidurnya beliau mendapati selendang tersebut masih menyelimuti badannya dan yang paling menakjubkan ialah penyakit lumpuhnya juga telah sembuh.
Setelah kejadian tersebut maka Burdah menjadi terkenal dalam masyarakat islam sehingga masa kini. Ini bukanlah beerti qasiadah burdah yang menyembuhkan penyakit, tetapi yang dimaksudkan ialah apabila disebutkan sifat dan ketinggian aklak Rasulallah maka bertambahlah rasa kecintaan kepada baginda dan dengan berkat baginda merupakan "Ubat hati dan penawarnya, keafiatan badan dan kesembuhannya" maka insyaalah akan disembuhkan segala macam penyakit.
(Dipetik dari Qasidah Burdah Terjemahan Abu Ali Al Banjari AnNadwi - Ustaz Fahmi Zam Zam - Terbitan Kazanah Banjariah)
Tambahan:
Penulis (Ustaz Fahmi Zam Zam) buku tersebut mempunyai ijazah pembacaan burdah daripada
Syed Muhammad Alwi AlMaliki
Transkrip lengkap berbahasa arab boleh didapati di
Universiti Cornel
-fakirpena.blogspot.com
Batu api... apa bezanya ngan batu bata ?
Hari ni kita sembang pasal batu api. Dalam bahasa arabnya namimah ...
apekebendanye tu ...
Batu api ni boleh dikatakan sebagai memindahkan perkataan/perbuatan seseorang kepada orang lain dengan niat untuk memburukkan kaadaan. Mungkin perkataan tersebut akan menimbulkan kemarahan pihak pertama ataupun pihak pendengar, yang pentingnya ada orang yang akan marah. Bila ada orang marah ?...... apa lagi setan pun bergembiralah hee hee heee....
Batu bata? .... ni kalau naka jadi kontraktor pembinaan sifakir bole cerita laaa.... nak tulis kat sini tak cukup
column laaa....Cuma batu api dan batu bata niee sifatnya keras ????
Mengapa orang suka sangat buat keje yang tak berfaedah niee. Biasanya ianya disebabkan oleh satu penyakit tradisional iaitu hasad. Inilah penyakit yang menyebabkan sejarah pembunuhan pertama umat manusia, lepas tu yang meruntuhkan kerajaan melaka, empayar turki dan tak kurang juga yang menjatuhkan mana-mana ketua, sama ada di pejabat, dimasjid(hasilnye ape ? masjid tu kosong laaaaa.... baik laaa fikir macammana nak bagi orang ramai seronok pi masjid) mahupun di kalangan artis. Pagi ni sifakir terbaca juga cerita artis tu ... ntah apasal macam macam boleh jadi di zaman siber nieee ..... cuma yang penting hati mesti baik beb.... sebelum nak buat ape2 fikir dulu panjang2... pastikan ianya menguntungkan kita didunia dan dinegeri akan datang ... lepas tu buat jeee ....
dulu sifakir pernah menghadiri kursus project management, apa yang paling penting dalam project management ?
Plan the best, execute and then pray,pray and pray again . Berjaya ? tu semua keje tuhan, bukan keje kita .....
Kalau gagal kita ambil pengajaran mengapa gagal, kalau berjaya hee heee ucaplah syukur .... macamana .... pi laa lepak kat masjid ke ..... ade kuliah
free jeee ... jangan laaa pula celebrate kat disko ( Kalau orang bukan islam ok laaa cara niee) kita ..... nak try jugak ? try laaaa .... tunggu laaa masa projek lain untuk gagal laak...
-coretansifakir