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