Senin, 24 Maret 2014

Mengenal Deep Packet Inspection

DPI atau Deep Packet Inspection adalah suatu teknologi yang diterapkan di Router atau alat pemantau lainnya yang berfungsi untuk memantau aliran data secara realtime dan dapat membuat keputusan terhadap aliran data tersebut.
DPI dapat melakukan pemeriksaan terhadap isi data-data yang dikirim melalui router.
Beberapa fungsi DPI adalah :

1.       Network security
DPI dapat digunakan oleh operator jaringan untuk mendeteksi dan menyaring serangan malware yang menyerang melalui jaringan.

2.        Network management
DPI juga dapat digunakan untuk membloking aliran data yang tidak diinginkan dan dapat juga digunakan untuk mengoptimasi jaringan.

3.        Surveillance
Amerika Serikat memasang peralatan DPI untuk keperluan realtime monitoringyang bekerja sama dengan Badan keamanan nasional. DPI juga digunakan oleh Negara lain untuk memantau internet traffic.

4.        Content regulation
DPI dapat melakukan pemblokiran terhadap website-website yang dianggap memiliki konten berbahaya ataupun situs porno. Dengan kemampuannya melakukan inspeksi terhadap isi keseluruhan paket-paket yang masuk ke ISP, DPI dapat menerapkan string matching dan melakukan pemblokiran.

5.        Copyright enforcement
Dikarenakan banyak pembajakan-pembajakan seperti dalam berbagai media, seperti musik, video dan dokumen, DPI dapaat menjadi solusinya dengan fungsinya yang dapat melakukan penyaringan terhadapa paket-paket yang memiliki hak cipta sebagai perlindungan dari pembajakan.

6.        Ad injection

Fungsi ini digunakan oleh perusahaan-perusahan iklan seperti seperti NebuAd dan paket Phorm yang menawarkan kepada ISP untuk menyuntikkan iklan di website tertentu yang disesuaikan pihak-pihak yang membuka web tersebut.

sumber : http://anthon-23510311.blogspot.com/2011/09/penerapan-teori-graf-pada-algoritma.html

Rabu, 19 Februari 2014

Peer to Peer dan Client Server

Dalam artikel ini kita akan mengenal apa perbedaan dari konsep peer to peer dan client-server pada jaringan komputer. Berikut sedikit penjelasannya :



1. Client-server

Pada konsep ini, dalam sebuah jaringan akan ditemukan beberapa komputer yang memiliki tugas berbeda. Satu komputer akan didedikasikan menjadi sebuah server yang akan melayani permintaan client. Keunggulan dari konsep ini adalah keamanan lebih terjamin. sedangkan kekurangannya adalah proses transfer data akan sedikit lambat dibanding peer to peer, karena harus melalui server.

2. Peer to peer

Pada konsep ini, dalam sebuah jaringan akan mempertemukan dua buah komputer yang saling terhubung secara langsung, sehingga transfer data akan lebih cepat, namun kekurangannya tingkat keamanan lebih rendah ketimbang client server.


Aplikasi Socket Programming menggunakan Java

Sebelumnya kita sudah mencoba aplikasi socket programming dengan menggunakan bahasa dan python, saat ini kita juga akan mencobanya dengan bahasa java.

aplikasi yang akan kita buat adalah aplikasi yang dapat melihat tanggal pada server. berikut langkah-langkahnya :

1. Membuat kodingan server dengan java

import java.net.*;
import java.io.*;
import java.util.*;

class DateServer
{
    publicstaticvoid main(String args[]) throws Exception
    {
        ServerSocket s=new ServerSocket(5217);

        while(true)
        {
            System.out.println("Waiting For Connection ...");
            Socket soc=s.accept();
            DataOutputStream out=new DataOutputStream(soc.getOutputStream());
            out.writeBytes("Server Date" + (new Date()).toString() + "\n");
            out.close();
            soc.close();
        }
        
    }
}

 2. Dan buat pula untuk file client

import java.io.*;
import java.net.*;

class DateClient
{
    publicstaticvoid main(String args[]) throws Exception
    {
        Socket soc=new Socket(InetAddress.getLocalHost(),5217);        
        BufferedReader in=new BufferedReader(
                new InputStreamReader(
                        soc.getInputStream()
                        )
                    );

        System.out.println(in.readLine());
    }    
}


compile file server dan client dengan perintah pada terminal :
javac <nama file>.java

lalu jalankan file server dengan perintah :
java server

dan jalankan file client :
java client

maka lihat hasilnya pada terminal client...

sumber :
http://www.dailyfreecode.com/code/date-server-client-1249.aspx




Aplikasi Socket Programming dengan Python

Pada artikel ini kita akan mencoba membuat salah satu penggunaan dari socket programming yaitu skema pengiriman pesan dari client ke server.

langkah pertama adalah membuat file server.py yang berlaku sebagai server dan client.py yang berlaku sebagai client. berikut kodingannya :

kodingan server :

# basic-socket-server.py
import socket                        # import modul socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    # membuat objek socket
s.bind(('167.205.88.123', 1234))            #menyambungkan ke port
s.listen(5)                        # port menunggu koneksi dari client
while 1:
    connection, addr = s.accept()            # menetapkan koneksi dengan client
    print 'connected to client', addr         # mencetak ip dan port yang digunakan client
    connection.send('connected to server, quit or exit for close') # mengirimkan pesan ke client
    while 1:
        data = connection.recv(1024)        # method menerima pesan
        print '<client> ',data             # mencetak data
        if ( data == 'quit' or data == 'exit' ):
            break
    connection.close()
    break



kodingan client :

# basic-socket-client.py
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    # membuat object socket
s.connect(('167.205.88.123', 1234))            # menyambungkan ke port server
data = s.recv(1024)                    # method menerima pesan
print data                        # mencetak pesan
while 1 :
    data = raw_input('<pesan> ')            # input isi pesan
    s.send(data)                    # kirim pesan ke server
    if ( data == 'quit' or data == 'exit' ):
        break
s.close()

lalu keduanya di save.

setelah itu, aplikasi bisa dicoba melalui terminal, menggunakan perintah
python <nama file>.py


Referensi

    http://www.tutorialspoint.com/python/python_networking.htm

Membuat aplikasi chat sederhana dengan Bahasa C

Dalam postingan ini kita akan belajar tentang penggunakaan socket programming, contoh yang kita pakai disini adalah aplikasi chatting, dengan menggunakan bahasa C,
pertama adalah buat file C yang akan menjadi server dan client. berikut kodingnya :

koding untuk server :




        #include<stdio.h>

        #include<netinet/in.h>

        #include<sys/types.h>

        #include<sys/socket.h>

        #include<netdb.h>

        #include<stdlib.h>

        #include<string.h>

        #define MAX 80

        #define PORT 43454

        #define SA struct sockaddr

        void func(int sockfd)

        {

        char buff[MAX];

        int n;

        for(;;)

        {

        bzero(buff,MAX);

        read(sockfd,buff,sizeof(buff));

        printf("From client: %s\t To client : ",buff);

        bzero(buff,MAX);

        n=0;

        while((buff[n++]=getchar())!='\n');

        write(sockfd,buff,sizeof(buff));

        if(strncmp("exit",buff,4)==0)

        {

        printf("Server Exit...\n");

        break;

        }

        }

        }

        int main()

        {

        int sockfd,connfd,len;

        struct sockaddr_in servaddr,cli;

        sockfd=socket(AF_INET,SOCK_STREAM,0);

        if(sockfd==-1)

        {

        printf("socket creation failed...\n");

        exit(0);

        }

        else

        printf("Socket successfully created..\n");

        bzero(&servaddr,sizeof(servaddr));

        servaddr.sin_family=AF_INET;

        servaddr.sin_addr.s_addr=htonl(INADDR_ANY);

        servaddr.sin_port=htons(PORT);

        if((bind(sockfd,(SA*)&servaddr, sizeof(servaddr)))!=0)

        {

        printf("socket bind failed...\n");

        exit(0);

        }

        else

        printf("Socket successfully binded..\n");

        if((listen(sockfd,5))!=0)

        {

        printf("Listen failed...\n");

        exit(0);

        }

        else

        printf("Server listening..\n");

        len=sizeof(cli);

        connfd=accept(sockfd,(SA *)&cli,&len);

        if(connfd<0)

        {

        printf("server acccept failed...\n");

        exit(0);

        }

        else

        printf("server acccept the client...\n");

        func(connfd);

        close(sockfd);

        }




koding untuk client :



        #include<stdio.h>

        #include<netinet/in.h>

        #include<sys/types.h>

        #include<sys/socket.h>

        #include<netdb.h>

        #include<string.h>

        #include<stdlib.h>

        #define MAX 80

        #define PORT 43454

        #define SA struct sockaddr

        void func(int sockfd)

        {

        char buff[MAX];

        int n;

        for(;;)

        {

        bzero(buff,sizeof(buff));

        printf("Enter the string : ");

        n=0;

        while((buff[n++]=getchar())!='\n');

        write(sockfd,buff,sizeof(buff));

        bzero(buff,sizeof(buff));

        read(sockfd,buff,sizeof(buff));

        printf("From Server : %s",buff);

        if((strncmp(buff,"exit",4))==0)

        {

        printf("Client Exit...\n");

        break;

        }

        }

        }


        int main()

        {

        int sockfd,connfd;

        struct sockaddr_in servaddr,cli;

        sockfd=socket(AF_INET,SOCK_STREAM,0);

        if(sockfd==-1)

        {

        printf("socket creation failed...\n");

        exit(0);

        }

        else

        printf("Socket successfully created..\n");

        bzero(&servaddr,sizeof(servaddr));

        servaddr.sin_family=AF_INET;

        servaddr.sin_addr.s_addr=inet_addr("127.0.0.1");

        servaddr.sin_port=htons(PORT);

        if(connect(sockfd,(SA *)&servaddr,sizeof(servaddr))!=0)

        {

        printf("connection with the server failed...\n");

        exit(0);

        }

        else

        printf("connected to the server..\n");

        func(sockfd);

        close(sockfd);

        }


ketika sudah dibuat saatnya menguji dengan menggunakan terminal, buka 2 terminal. jalan kan server di satu terminal dan client di terminal lain.
jalan kan dengan perintah :
gcc -o <nama aplikasi> <nama file c>.c
./<nama aplikasi>

setelah keduanya dijalankan, maka coba mengirim pesan.
kalau anda berhasil maka akan penampilannya akan seperti gambar berikut :


source : http://mcalabprogram.blogspot.com/2012/01/tcp-sockets-chat-applicationserver.html

Rabu, 05 Februari 2014

Setting SSL

SSL adalah kependekan dari Secure Sockets Layer, sebuah protokol yang dikembangkan oleh Netscape untuk komunikasi dokumen yang membutuhkan privasi melalui Internet. SSL menggunakan suatu sistem enkripsi yang menggunakan dua kunci untuk melakukan enkripsi data.

    SSL terdiri dari 4 jenis, yaitu:
·         SSL web server certificate with EV
·         SSL web server certificates
·         SGC SuperCerts   
·         SSL 123 Certificate

Langkah-langkah mengsetting SSL pada linux

1.     Pastikan laptop terhubung kedalam jaringan
2.     Buka terminal dan masuk ke akses root (masuk dengan perintah sudo du)
3.     Ketikan perintah apt-get install openssl
4.     Tunggu sampai instalasi berhasil
5.     Cek dengan merestart xampp untuk melihat ssl sudah terpasang atau belum

    


Sumber :

http://www.pasarhosting.com/informasi/knowledge-base/detail/page/1/back_to/kb-trial/content/secure-socket-layer-ssl/



Setting SSH

SSH adalah aplikasi pengganti remote login seperti telnet, rsh dan rlogin yang jauh lebih aman.Fungsi utama
aplikasi ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang dipakai adala pada 
mode teks maupun grafis. Dengan menggunakan SSH semua percakapan antara klien dan server 
dienkripsi, hal ini mengakibatkan jika percakapan disadap maka sulit unutk mengartikannya. Pada
Ubuntudikenal openSSH, yaitu versi bebas dari keluarga SSH.

Berikut cara instalasi SSH pada Ubuntu

1.      buka terminal dan masuk ke akses root



2.      ketikan perintah apt-get install openssh-server
3.      tunggu sampai insatalasi berhasil

4.      jika sudah, ketikan perintah ssh pada terminal, lihat hasilny
d

sumber
http://rinalty.wordpress.com/tugas-semester4/lap2-manajemen-jaringan/


s