contoh program IP finder dan port scanner

Jumat, 06 April 2012

import java.io.IOException;

import java.net.InetAddress;

import java.net.Socket;

import java.net.UnknownHostException;

import javax.swing.DefaultListModel;

import javax.swing.JOptionPane;

Bagian diatas merupakan pustaka kelas objek java. yang di organisasikan menjadi beberapa kelompok. Pada bagian diatas package yang digunakan antara lain. import java.io memuat kelas untuk keperluan input output seperti DataInputStream, DataOutputStream, dan lain sebagainya. import java.net memuat kelas untuk keperluan jaringan/internet, DatagramSocket, InetAddress, URL, URLConnection. javax.swing memuat kelas untuk perluasan daei objek GUI dengan fungsi dan control baru yang lebih baikdari kelas AWT.

String hostname;

int Awal,Akhir;

InetAddress test;

Bagian diatas merupakan kelas dan variable yang akan digunakan dalam mengakses IP, port, dan batasan pada port yang akan diakses. Mendeklarasikan variable hostname yang bertipe data String. Mendeklarasikan variable test bertipe InetAddress. Mendeklarasikan variable Mulai dan Akhir bertipe integer.

private void jprosesActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

//IP finder

try {

hostname=jinputweb.getText();

InetAddress ipaddress = InetAddress.getByName(hostname);

System.out.println("IP address: " + ipaddress.getHostAddress());

jhasilIP.setText(ipaddress.getHostAddress());

}

catch ( UnknownHostException e ){

String pesan =(hostname + " tidak ditemukan, "

+ "cek ulang alamat yang anda masukkan !");

JOptionPane.showMessageDialog(this,pesan,"PERINGATAN",

JOptionPane.ERROR_MESSAGE);

}

Pada bagian try&catc merupakan bagian yang digunakan untuk melakukan test apakah alamat yang diinputkan ada dalam jaringan internet atau tidak. Bagian InetAddress ipaddress = InetAddress.getByName(hostname);digunakan untuk melakukan pencarian nomor IP, apabila di temukan akan di tampilkan pada perintah system.out.prinln(()); dan apabila tidak di temumukan akan muncul peringatan. Cek ulang alamat uang anda masukkan.

for ( port = Awal; port < Akhir; port++) {

try {

Socket s = new Socket(hostname,port);

System.out.println("Server is listening on port " + port+ " of " + hostname);

String pesan3=("Port nomor " +port+ " terbuka dari " + hostname);

jListportopen.setModel(pilih);

pilih.addElement(pesan3);

s.close();

}

catch (IOException ex) {

System.out.println("Server is not listening on port " + port+ " of " + hostname);

String pesan4=("Port nomor " +port+ " tertutup dari " + hostname);

jListportclose.setModel(pilih2);

pilih2.addElement(pesan4);

}

Pada bagian diatas merupakan bagian yang digunakan untuk melakukan port scanning (melakukan test pada port yang terbuka dan tertutup). Dengan bantuan for dapat dilakukan perulangan pada port satu per satu. Perintah try…. catch… digunakan untuk mengantisipasi apabila ada port yang tidak terbuka hingga tidak terjadi error. Port yang terbuka dan tertutup akan ditampilkan setelah preses scanning telah selesai di lakukan. Terdapat peringatan bahwa scanning telah selesai dilakukan.

Awal = Integer.parseInt(jawal.getText());

Akhir = Integer.parseInt(jakhir.getText());

test = InetAddress.getByName(jinputweb.getText());

scan(test);

}

catch (UnknownHostException ex) {

}catch (NumberFormatException ne)

{

String pesan2 =("Input Harus Angka, Ulangi lagi input anda!!");

JOptionPane.showMessageDialog(this,pesan2,"PERINGATAN",

JOptionPane.ERROR_MESSAGE);

jawal.setFocusable(true);

perintah diatas digunakan untuk memasukkan nilai range pada port yanga kan kita scann. Disini range port harus bertipe data integer (angka) apabila kita memasukkan selain angka akan muncul kotak dialog inputan harus angka. Saya menggunakan range port karena untuk membatasi pada port berapa akan di lakukan scanning mengingat jumlah port sebanyak 65536. Jadi apabila akan melakukan penyecanan dalam jumlah sebanyak itu maka akan memerlukan waktu yang cukup lama.

3 komentar:

Samsir mengatakan...

tolong tampilkan outputnya seperti apa

Unknown mengatakan...
Komentar ini telah dihapus oleh pengarang.
Unknown mengatakan...

Very informative article and it is very useful for newbies.!!!

I am sharing a tool here that is IP Location Finder that can identify the detailed information about any ip.

Posting Komentar