Contoh Program XML RPC Java Menggunakan MongoDB

Contoh Program XML RPC Java Menggunakan MongoDB



Contoh Program XML RPC Java Menggunakan MongoDB

class handler

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.*;
import java.util.Hashtable;
import java.util.Iterator;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
//libary yang digunakan dalam program
/**
 *
 * @author Anam
 */

public class handler {
        public Vector KonekDatabase(int PortTujuan, int BatasTampil){
            //deklarasi nama method dan parameternya
        String user = "admin";
        //variabel untuk menyimpan user
        String pass = "Maha%40siswa";
        //variabel untuk menyimpan password
   
        MongoClientURI uri = new MongoClientURI("mongodb://"+user+":"+pass+"@10.33.109.17:27017/?authSource=admin");
        MongoClient client = new MongoClient(uri);
        //membuat koneksi ke database mongo client
   
        System.out.println("Connected to the database successfully!");
        //menampilkan keluaran dilayar Connected to the database successfully!
       
        //Accessing the database
        MongoDatabase database = client.getDatabase("dionaea");
        //acces database dionaea
       
        //Retriving a collection
        MongoCollection<Document> collection = database.getCollection("attack");
        //mengakses database log attack pada mongodb
        System.out.println("Collection sampleCollection selected successfully");
       
        Document query = new Document();
        query.append("dst_port", PortTujuan);
        //membuat document dengan nama query dan memasukkan elemen pada dst_port
       
        Document projection = new Document();
        projection.append("_id",0.0);
        //menammbah element id
        projection.append("src_ip",1.0);
        //menambah element src_ip
        projection.append("dst_ip",1.0);
        //menambah element dst_ip
        projection.append("dst_port",1.0);
        //menambah element dst_port
       
        //Getting the iterable object
        FindIterable<Document> iterDoc = collection.find(query).projection(projection).limit(BatasTampil);
        //mencari document yang sesuai dengan nilai query dengan limit batasTampil
        int i = 1;
       
        //Getting the iterator
        Iterator it = iterDoc.iterator();
        //inisialisasi iterator
       
        Vector sendVec = new Vector();
        //membuat vector sendVec untuk menyimpan nilai data
        while(it.hasNext()){
            Document doc = (Document)it.next();
            //perulangan untuk menyimpan document
            //Convert object to String
            String temp_src_ip = String.valueOf(doc.get("src_ip"));
            String temp_dst_ip = String.valueOf(doc.get("dst_ip"));
            String temp_dst_port = String.valueOf(doc.get("dst_port"));
            //data yang dibaca disimpan dalam variabel temp
           
            //Add data to Hash Table
            Hashtable<String,String> Data = new Hashtable<String,String>();
            Data.put("AttackerIP", temp_src_ip);
            Data.put("TargetIP", temp_dst_ip);
            Data.put("Port",temp_dst_port);
            //data yang tersimpan dalam variabel temp di masukkan dalam hashtable data
            //Add Hashtable to Vector
            sendVec.add(Data);
            //hastable data dimasukkan dalam vektor sendvec
        }
        return sendVec;
        //pengembalian nilai dari method koneksidatabase
    }
}


Contoh Program XML RPC Java Menggunakan MongoDB

class HelloClient

import java.io.*;
import java.net.MalformedURLException;
import java.util.Vector;
import java.util.Hashtable;
import java.util.*;
import org.bson.Document;
import helma.xmlrpc.XmlRpc;
import helma.xmlrpc.XmlRpcClient;
import helma.xmlrpc.XmlRpcException;
//import library yang akan digunakan dalam program
/**
 *
 * @author Anam
 */

public class HelloClient {
   public static void main(String args[]){
        try{ //pengkapsulan jika terjadi error
            //Use the Apache Xesces SAX Driver
            XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");
           
            //Specify the server
            XmlRpcClient client = new XmlRpcClient("http://localhost:8585/");
            //mendeklarasikan server tujuan untuk akses data
           
            //Create request
            Vector params = new Vector();
            //membuat vector param untuk menampung port dan limit data yang ditampilkan
            System.out.print("Masukan Port yang diserang : ");
            Scanner anamlail = new Scanner(System.in);
            //deklarasi object untuk input dari keyboard
            int PortTujuanuest=anamlail.nextInt();
            //memasukkan nilai pada porttujuanuest
            System.out.print("Masukan Jumlah list yang ditampilkan : ");
            int BatasTampiluest=anamlail.nextInt();
            //memasukkan nilai pada batastampiluest
            params.addElement(PortTujuanuest);
            //menambahkan elemen pada array params
            params.addElement(BatasTampiluest);
            //menambahkan elemen pada array params
           
            Vector RetriveDatabase = (Vector)client.execute("RetriveAttack.KonekDatabase",params);
            //membuat vektor untuk menampung vektor dari handler
           
            //Show all data at Hashtable
            for(int i=0;i<BatasTampiluest;i++){
                //perulangan untuk menampilkan nilai sebanyak data limit
                Hashtable<String,String> tempHash = (Hashtable)RetriveDatabase.get(i);
                //membuat hastable sementara untuk menampung nilai yang akan ditampilkan
                System.out.println("-------------------------------------------");
                System.out.print("Attacker IP     : "+tempHash.get("AttackerIP"));
                System.out.print(" ,Destination IP  : "+tempHash.get("TargetIP"));
                System.out.println(" ,Destination Port: "+tempHash.get("Port"));
            }
           
        }catch(XmlRpcException e){
            System.out.println("XML-RPC Exception : "+e.getMessage());
            //pesan yang ditampilkan jika ada kesalahan pada xmlrpcexception
        }catch(IOException e){
            System.out.println("IO EXception: "+e.getMessage());
            //pesan yang ditampilkan jika ada kesalahan IO
        }catch(ClassNotFoundException e){
            System.out.println("Could not locate SAX Driver");
            //pesan yang ditampilkan jika class tidak ditemukan
        }
    }
}


Contoh Program XML RPC Java Menggunakan MongoDB

class HelloServer

import java.io.IOException;
import helma.xmlrpc.WebServer;
import helma.xmlrpc.XmlRpc;
import java.util.Vector;
//librari yang digunakan
/**
 *
 * @author Anam
 */

public class HelloServer {
    public static void main(String[] args){
        try{//pengkapsulan jika terjadi error
            //Use the Apache Xerces SAX Driver
            XmlRpc.setDriver("org.apache.xerces.parsers.SAXParser");
           
            //Start the server
            System.out.println("Starting XML-RPC Server...");
            WebServer server = new WebServer(8585);
            //membuat web server dengan port 8585
           
            //Register the handler class
            server.addHandler("RetriveAttack", new handler());
            //registrasi handler pada server
            System.out.println("Registered RetrievingHandler class to \"RetriveAttack\"");
            System.out.println("Now Accepting request...");
           
        }catch(ClassNotFoundException e){
            System.out.println("Could not locate SAX Driver");
            //pesan yang ditampilkan jika ada error pada kelas
        }catch(IOException e){
            System.out.println("Could not start server: "+e.getMessage());
            //pesan jika terjadi error IO
        }
    }
}

Contoh Program XML RPC Java Menggunakan MongoDB

hasil running :

HelloClient

Contoh Program XML RPC Java Menggunakan MongoDB


HelloServer


Contoh Program XML RPC Java Menggunakan MongoDB

Related Posts

Previous
Next Post »