Minggu, 30 April 2017

Pemrograman Jaringan: 4/5 NsLookup

بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Assalamu 'alaikum warohmatullahi wabarokaatuh

Setelah tulisan saya yang sebelumnya mengenai cara mengetahui hostname dari alamat IP-nya, sebaliknya, kali ini saya akan menjelaskan cara mengetahui alamat IP dari hostname menggunakan bahasa pemrograman Java.
import java.net.*;
public class NsLookup {
    public static void main(String args[]) {
        if (args.length == 0) {
            System.out.println("Pemakaian: java NsLookup <hostname>");
            System.exit(0);
        }
        String host = args[0];
        InetAddress address = null;
        try {
            address = InetAddress.getByName(host);
        } catch(UnknownHostException e) {
            System.out.println("Unknown host");
            System.exit(0);
        }
        byte[] ip = address.getAddress();
        for (int i=0; i<ip.length; i++) {
            if (i > 0) System.out.print(".");
            System.out.print((ip[i]) & 0xff);
        }
        System.out.println();
    }
}
import java.net.*;
Statement di atas digunakan untuk mengimport paket java.net yang berisi kelas dan method untuk aplikasi jaringan.
if (args.length == 0){
    System.out.println("Pemakaian: java NsLookup <hostname>");
    System.exit(0);
}
Statement if di atas digunakan memeriksa kondisi jika program dijalankan tanpa argument. Untuk menjalankan program ini, gunakan perintah: java NsLookup <hostname>.
String host = args[0];
InetAddress address = null;
try {
    address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
    System.out.println("Unknown host");
    System.exit(0);
}
Argumen yang dimasukkan ketika program dijalankan disimpan dalam variabel String dengan nama "host". Kemudian method getByName() digunakan untuk mendapatkan alamat dari host dan disimpan dalam objek address
byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
    if (i > 0) 
        System.out.print(".");
    System.out.print((ip[i]) & 0xff);
}
Perulangan di atas berfungsi untuk mencetak alamat IP. Statement if berguna untuk memisahkan tiap byte, karena alamat IPv4 terdiri dari 32 bit atau 4 byte. Sebelum dicetak, pada setiap byte dilakukan operasi AND dengan bilangan hexa FF (desimal= 255) karena alamat IP memiliki basis 256.

Berikut adalah hasil dari program tersebut.

Tidak ada komentar:

Posting Komentar

Harap gunakan kata-kata yg sopan dalam berkomentar