Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
public class PortScanner extends JFrame {
private JLabel lblURL=new JLabel("Host");
private JTextField txfURL=new JTextField();
private JLabel lblport1=new JLabel("port");
private JTextField txfport1=new JTextField();
private JLabel lblport2=new JLabel("to");
private JTextField txfport2=new JTextField();
private TextArea txahasil=new TextArea();
private JButton btnStart=new JButton("Scan");
private JButton btnClear=new JButton("Clear");
private JButton btnExit=new JButton("Exit");
public PortScanner() {
setTitle("-=bloody_Port_Scanner=-");
setSize(280,250);
setLocation(200,100);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void komponenVisual() {
getContentPane().setLayout(null);
getContentPane().add(lblURL);
getContentPane().add(txfURL);
getContentPane().add(lblport1);
getContentPane().add(lblport2);
getContentPane().add(txfport1);
getContentPane().add(txfport2);
getContentPane().add(txahasil);
getContentPane().add(btnStart);
getContentPane().add(btnClear);
getContentPane().add(btnExit);
lblURL.setBounds(10,10,50,20);
txfURL.setBounds(60,10,200,20);
lblport1.setBounds(10,30,50,20);
txfport1.setBounds(60,30,50,20);
lblport2.setBounds(120,30,50,20);
txfport2.setBounds(150,30,50,20);
txahasil.setBounds(10,60,250,120);
btnStart.setBounds(10,185,75,25);
btnClear.setBounds(95,185,75,25);
btnExit.setBounds(180,185,75,25);
setVisible(true);
}
public void aksiReaksi() {
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
scannerIP scan=new scannerIP();
scan.setHost(txfURL.getText());
scan.setPort1(Integer.parseInt(txfport1.getText()));
scan.setPort2(Integer.parseInt(txfport2.getText()));
txahasil.setText("");
txahasil.append("IP Address: \n"+scan.scanningIP()+"\n");
txahasil.append(scan.getPort());
}
});
btnClear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txfURL.setText("");
txfport1.setText("");
txfport2.setText("");
txahasil.setText("");
txfURL.requestFocus(true);
}
});
btnExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public static void main(String args[]) {
PortScanner portScan=new PortScanner();
portScan.komponenVisual();
portScan.aksiReaksi();
}
}
class scannerIP {
private int port1;
private int port2;
private String host="";
private static Socket socket=null;
public String hsl="";
public void setPort1(int port1) {
this.port1=port1;
}
public void setPort2(int port2) {
this.port2=port2;
}
public void setHost(String host) {
this.host=host;
}
public String scanningIP() {
String IP="";
try {
InetAddress theAddress=InetAddress.getByName(host);
IP=String.valueOf(theAddress);
} catch (Exception e) {
IP="Unknown host address.";
}
return IP;
}
public String getPort() {
int count=0;
for (int i=port1;i<=port2;i++) {
try {
socket=new Socket(host,i);
hsl+="Open port on "+i+"\n";
} catch (Exception e) {
System.out.println("ERROR port : "+i+" --> "+e);
}
count++;
}
hsl+="\nScanning FINISHED\n";
return hsl;
}
}
Share This Thread