Port Scanner
tip2007. 7. 5. 01:35
자바로 만들어본 간단한 포트 스캐너...
그냥 요즘 그동안 공부한거 복습하고
포트폴리오 만들고 하다가
자바를 또 건드려보는... 그러다가 심심해서 만들어 본 포트 스캐너...
아이피 입력해서 그 아이피에 사용하는 포트와 사용하지 않는 포트를 출력...
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class PortScanner implements Runnable, ActionListener{
//기본
private JFrame fr = new JFrame("Port Scanner");
private JButton scanBN = new JButton("스캔");
private JTextField inputIP = new JTextField("", 18);
private JLabel ipLB = new JLabel("IP Address : ");
private DefaultListModel listModel = new DefaultListModel();
private JList listResult = new JList(listModel);
private JScrollPane js = new JScrollPane(listResult);
//패널
private JPanel inputPanel = new JPanel();
//레이아웃
BorderLayout bLayout = new BorderLayout();
private int index;
private String ip;
public PortScanner(){
listResult.setVisibleRowCount(10);
inputPanel.add(ipLB);
inputPanel.add(inputIP);
inputPanel.add(scanBN);
scanBN.addActionListener(this);
fr.getContentPane().add(bLayout.CENTER, js);
fr.getContentPane().add(bLayout.SOUTH, inputPanel);
fr.setBounds(100, 100, 400, 300);
fr.setVisible(true);
}
public void actionPerformed(ActionEvent ae){
Object obj = ae.getSource();
if(obj == scanBN){
ip = inputIP.getText();
if(ip == null || ip.trim().length()==0){
inputIP.requestFocusInWindow();
inputIP.setText("");
return;
}else{
listModel.insertElementAt(ip,index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
index++;
Thread t = new Thread(this);
t.start();
}
}
}
public void run(){
Socket s = null;
for(int i=1;i<65536;i++){
try{
s = new Socket(ip,i);
listModel.insertElementAt(i+
"번 포트가 사용중입니다",index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
}catch(IOException e){
listModel.insertElementAt(i+
"번 포트를 사용하지 않습니다.",index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
}
}
}
public static void main(String[] args){
new PortScanner();
}
}
그냥 요즘 그동안 공부한거 복습하고
포트폴리오 만들고 하다가
자바를 또 건드려보는... 그러다가 심심해서 만들어 본 포트 스캐너...
아이피 입력해서 그 아이피에 사용하는 포트와 사용하지 않는 포트를 출력...
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class PortScanner implements Runnable, ActionListener{
//기본
private JFrame fr = new JFrame("Port Scanner");
private JButton scanBN = new JButton("스캔");
private JTextField inputIP = new JTextField("", 18);
private JLabel ipLB = new JLabel("IP Address : ");
private DefaultListModel listModel = new DefaultListModel();
private JList listResult = new JList(listModel);
private JScrollPane js = new JScrollPane(listResult);
//패널
private JPanel inputPanel = new JPanel();
//레이아웃
BorderLayout bLayout = new BorderLayout();
private int index;
private String ip;
public PortScanner(){
listResult.setVisibleRowCount(10);
inputPanel.add(ipLB);
inputPanel.add(inputIP);
inputPanel.add(scanBN);
scanBN.addActionListener(this);
fr.getContentPane().add(bLayout.CENTER, js);
fr.getContentPane().add(bLayout.SOUTH, inputPanel);
fr.setBounds(100, 100, 400, 300);
fr.setVisible(true);
}
public void actionPerformed(ActionEvent ae){
Object obj = ae.getSource();
if(obj == scanBN){
ip = inputIP.getText();
if(ip == null || ip.trim().length()==0){
inputIP.requestFocusInWindow();
inputIP.setText("");
return;
}else{
listModel.insertElementAt(ip,index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
index++;
Thread t = new Thread(this);
t.start();
}
}
}
public void run(){
Socket s = null;
for(int i=1;i<65536;i++){
try{
s = new Socket(ip,i);
listModel.insertElementAt(i+
"번 포트가 사용중입니다",index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
}catch(IOException e){
listModel.insertElementAt(i+
"번 포트를 사용하지 않습니다.",index);
listResult.setSelectedIndex(index);
listResult.ensureIndexIsVisible(index);
}
}
}
public static void main(String[] args){
new PortScanner();
}
}
'tip' 카테고리의 다른 글
linux locale 설정 변경 (0) | 2009.01.07 |
---|---|
linux man page... (0) | 2009.01.04 |
Mysql 에러별 대처 방법 (0) | 2008.12.29 |
부팅시 USB키보드가 안먹힐때 (0) | 2007.07.27 |
모니터 사이즈 비교 (0) | 2007.07.18 |