⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainf.java~199~

📁 java端口实现扫描功能
💻 JAVA~199~
字号:
package javascan;import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.tree.*;import java.util.*;//import com.borland.jbcl.layout.*;import javax.swing.border.*;//import com.borland.jbcl.layout.*;public class mainf extends JFrame {  ResourceBundle portlist;//	res = ResourceBundle.getBundle("db2connect");scando todoscando;//  todoscan todo;  javax.swing.tree.DefaultMutableTreeNode root;  public DefaultTreeModel treem;  public  JButton jButton5 = new JButton();  public JButton jButton6 = new JButton();  JFileChooser d=new JFileChooser();  JPanel contentPane;  JMenuBar jMenuBar1 = new JMenuBar();  JMenu jMenuFile = new JMenu();  JMenuItem jMenuFileExit = new JMenuItem();  JToolBar jToolBar = new JToolBar();  JButton jButton1 = new JButton();  JButton jButton2 = new JButton();  JButton jButton3 = new JButton();  ImageIcon image1;  ImageIcon image2;  ImageIcon image3;  JMenu jMenu1 = new JMenu();  JPanel jPanel2 = new JPanel();  JPanel jPanel3 = new JPanel();  JButton jButton4 = new JButton();  JTextField domainname = new JTextField();  TitledBorder titledBorder1;  Border border1;  TitledBorder titledBorder2;  JTextField addrfield = new JTextField();  FlowLayout flowLayout1 = new FlowLayout();  Border border2;  TitledBorder titledBorder3;  JRadioButton usefrom = new JRadioButton();  JRadioButton usefile = new JRadioButton();  ButtonGroup buttonGroup1 = new ButtonGroup();  Border border3;  TitledBorder titledBorder4;  Border border4;  JTree jTree1 = new JTree();  Border border5;  JPanel jPanel1 = new JPanel();  BorderLayout borderLayout1 = new BorderLayout();  Border border6;  Border border7;  JLabel lhostname = new JLabel();  JScrollPane jScrollPane1 = new JScrollPane();  Border border8;  JTextField fromport = new JTextField();  JTextField toport = new JTextField();  public JLabel jLabel1 = new JLabel();  public JProgressBar scanbar = new JProgressBar();  JTextField toendip = new JTextField();  /**Construct the frame*/  public mainf() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  /**Component initialization*/  private void jbInit() throws Exception  {    image1 = new ImageIcon(javascan.mainf.class.getResource("openFile.gif"));    image2 = new ImageIcon(javascan.mainf.class.getResource("closeFile.gif"));    image3 = new ImageIcon(javascan.mainf.class.getResource("help.gif"));    //setIconImage(Toolkit.getDefaultToolkit().createImage(mainf.class.getResource("[Your Icon]")));    contentPane = (JPanel) this.getContentPane();    titledBorder1 = new TitledBorder("");    border1 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    titledBorder2 = new TitledBorder(new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(148, 145, 140)),"主机查找");    border2 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    titledBorder3 = new TitledBorder("");    border3 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(148, 145, 140));    titledBorder4 = new TitledBorder(border3,"结果");    border4 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(148, 145, 140));    border5 = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(),border5);    border6 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border7 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border8 = BorderFactory.createEtchedBorder(Color.white,new Color(178, 178, 178));    this.setSize(new Dimension(400, 350));    this.setTitle("扫描程序");    jMenuFile.setText("文件");    jMenuFileExit.setText("退出");    jMenuFileExit.addActionListener(new ActionListener()  {      public void actionPerformed(ActionEvent e) {        jMenuFileExit_actionPerformed(e);      }    });    jButton1.setIcon(image1);    jButton1.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton1_mouseClicked(e);      }    });    jButton1.setToolTipText("Open File");    jButton2.setIcon(image2);    jButton2.setToolTipText("Close File");    jButton3.setIcon(image3);    jButton3.setToolTipText("Help");    jMenu1.setText("关于");    jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jMenu1_mouseClicked(e);      }    });    jMenuBar1.setEnabled(false);    jButton4.setText("查找  ");    jButton4.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton4_mouseClicked(e);      }    });    jPanel2.setLayout(flowLayout1);    domainname.setBorder(BorderFactory.createLoweredBevelBorder());    domainname.setDebugGraphicsOptions(DebugGraphics.NONE_OPTION);    domainname.setPreferredSize(new Dimension(100, 30));    try{domainname.setText(java.net.InetAddress.getLocalHost().getHostName());}    catch (java.net.UnknownHostException err) {;}    domainname.setHorizontalAlignment(SwingConstants.RIGHT);    jButton5.setText("开始");    jButton5.setBounds(new Rectangle(235, 8, 59, 24));    jButton5.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton5_mouseClicked(e);      }    });    jButton5.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jButton5_actionPerformed(e);      }    });    jPanel2.setFont(new java.awt.Font("Dialog", 0, 0));    jPanel2.setAlignmentY((float) 0.0);    jPanel2.setBorder(titledBorder2);    jPanel2.setPreferredSize(new Dimension(390, 60));    jPanel2.setToolTipText("");    jPanel3.setBorder(titledBorder1);    jPanel3.setPreferredSize(new Dimension(390, 90));    jPanel3.setLayout(null);    try {    addrfield.setText(java.net.InetAddress.getLocalHost().getHostAddress());}    catch (java.net.UnknownHostException err) {;}    addrfield.setHorizontalAlignment(SwingConstants.CENTER);    addrfield.setBounds(new Rectangle(16, 6, 113, 28));    usefrom.setSelected(true);    usefrom.setText("端口列表从");    usefrom.setBounds(new Rectangle(19, 67, 85, 26));    usefile.setText("使用端口列表文件");    usefile.setBounds(new Rectangle(16, 43, 123, 24));    contentPane.setBorder(border7);    contentPane.setPreferredSize(new Dimension(400, 400));    /*    jTree1.setAutoscrolls(true);    jTree1.setBorder(border4);    jTree1.setNextFocusableComponent(jScrollPane1);    jTree1.setPreferredSize(new Dimension(102, 100));    jTree1.setEditable(true);    //jTree1.setModel(null);    //jTree1.setModel(null);    jTree1.setShowsRootHandles(true);    */    jPanel1.setLayout(borderLayout1);    jPanel1.setBorder(border6);    lhostname.setBounds(new Rectangle(253, 37, 113, 23));    lhostname.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        lhostname_mouseClicked(e);      }    });    jButton6.setEnabled(false);    jButton6.setText("停止");    jButton6.setBounds(new Rectangle(316, 7, 60, 26));    jButton6.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jButton6_actionPerformed(e);      }    });    jButton6.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        jButton6_mouseClicked(e);      }    }); /*    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);    jScrollPane1.setPreferredSize(new Dimension(122, 900));    jScrollPane1.setToolTipText("");*/    jTree1.setForeground(Color.red);    jTree1.setAutoscrolls(true);    jTree1.setBorder(border8);    root=new DefaultMutableTreeNode(addrfield.getText());    treem=new javax.swing.tree.DefaultTreeModel(root);    jTree1.setModel(treem);    jTree1.setShowsRootHandles(true);    fromport.setText("1");    fromport.setBounds(new Rectangle(102, 66, 52, 22));    toport.setText("65565");    toport.setColumns(5);    toport.setBounds(new Rectangle(169, 67, 55, 22));    jLabel1.setText("            ");    scanbar.setToolTipText("");    scanbar.setMaximum(73);    toendip.setText("255");    toendip.setBounds(new Rectangle(147, 8, 38, 30));    toendip.addFocusListener(new java.awt.event.FocusAdapter() {      public void focusLost(FocusEvent e) {        toendip_focusLost(e);      }    });    jMenuFile.add(jMenuFileExit);    jMenuBar1.add(jMenuFile);    jMenuBar1.add(jMenu1);    this.setJMenuBar(jMenuBar1);    contentPane.add(jPanel1, BorderLayout.SOUTH);    jPanel1.add(jPanel3, BorderLayout.CENTER);    jPanel3.add(addrfield, null);    jPanel3.add(usefile, null);    jPanel3.add(usefrom, null);    jPanel3.add(fromport, null);    jPanel3.add(toport, null);    jPanel3.add(lhostname, null);    jPanel3.add(jButton6, null);    jPanel3.add(jButton5, null);    jPanel3.add(toendip, null);    jPanel1.add(jPanel2, BorderLayout.NORTH);    jPanel2.add(domainname, null);    jPanel2.add(jButton4, null);    contentPane.add(jScrollPane1, BorderLayout.CENTER);    contentPane.add(jToolBar, BorderLayout.NORTH);    jToolBar.add(jButton2);    jToolBar.add(jButton1);    jToolBar.add(jButton3);    jToolBar.add(jLabel1, null);    jToolBar.add(scanbar, null);    jScrollPane1.getViewport().add(jTree1, null);//    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS );    buttonGroup1.add(usefrom);    buttonGroup1.add(usefile);  }  /**File | Exit action performed*/  public void jMenuFileExit_actionPerformed(ActionEvent e) {    System.exit(0);  }  /**Help | About action performed*/  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {    mainf_AboutBox dlg = new mainf_AboutBox(this);    Dimension dlgSize = dlg.getPreferredSize();    Dimension frmSize = getSize();    Point loc = getLocation();    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);    dlg.setModal(true);    dlg.show();  }  /**Overridden so we can exit when window is closed*/  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      jMenuFileExit_actionPerformed(null);    }  }  void jMenu1_mouseClicked(MouseEvent e) {    mainf_AboutBox dlg = new mainf_AboutBox(this);    Dimension dlgSize = dlg.getPreferredSize();    Dimension frmSize = getSize();    Point loc = getLocation();    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);    dlg.setModal(true);    dlg.show();  }  void jButton4_mouseClicked(MouseEvent e) {   jButton4.setText("查找中");   jButton4.setEnabled(false);   String hostname=domainname.getText();   String hostaddr;   try {   InetAddress addr=java.net.InetAddress.getByName(hostname);   //addr=java.net.InetAddress.   hostaddr=addr.getHostAddress();   //hostaddr=addr.getHostName();   lhostname.setText(addr.getHostName());   }   catch (java.net.UnknownHostException err)  {hostaddr=" ";   }   addrfield.setText(hostaddr);   jButton4.setText("查找  ");   jButton4.setEnabled(true);    root=new DefaultMutableTreeNode(addrfield.getText());    treem=new javax.swing.tree.DefaultTreeModel(root);    jTree1.setModel(treem);  }  void jButton5_actionPerformed(ActionEvent e) {  }  void jButton5_mouseClicked(MouseEvent e) {   if (check_toendip()==0) return;   //jTree1.setRootVisible(false);   jTree1.setShowsRootHandles(false);   //jTree1.setRootVisible(true);    int intfromport,inttoport;    try {intfromport=java.lang.Integer.parseInt(fromport.getText());}    catch (java.lang.NumberFormatException err1) {fromport.setText("1");intfromport=1;}    try {inttoport=java.lang.Integer.parseInt(toport.getText());}    catch (java.lang.NumberFormatException err2) {toport.setText("65565");inttoport=65565;}    javax.swing.tree.DefaultMutableTreeNode rootx=new DefaultMutableTreeNode("root");    DefaultMutableTreeNode xxx=new DefaultMutableTreeNode(rootx);    root=(DefaultMutableTreeNode)treem.getRoot();   // treem.insertNodeInto(xxx,root,root.getChildCount());    //public DefaultTreeModel treem;todoscando=new scando(treem,jTree1,intfromport,inttoport,addrfield.getText(),toendip.getText());todoscando.bstart=jButton5;todoscando.bstop=jButton6;todoscando.scanbar=scanbar;if (usefile.isSelected()) todoscando.usefile=1;todoscando.start();    /*    todo=new todoscan(treem,jTree1,intfromport,inttoport,addrfield.getText());     if (usefile.isSelected()) todo.usefile=1;    todo.scanbar=scanbar;    todo.bstart=jButton5;    todo.bstop=jButton6;    todo.start();*/    //todo.showlabel=jLabel1;//    jButton5.setEnabled(false);//    jButton6.setEnabled(true);  }  void jButton6_mouseClicked(MouseEvent e) {//  scando   todoscando.runstop=1;//  todo.stop();//  jButton6.setEnabled(false);//  jButton5.setEnabled(true);/*  DefaultMutableTreeNode selectNode=(DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();  //selectNode.add(new DefaultMutableTreeNode("roota3"));  treem.insertNodeInto(new DefaultMutableTreeNode("roota3"),selectNode,selectNode.getChildCount());  root=(DefaultMutableTreeNode)treem.getRoot();    treem.insertNodeInto(new DefaultMutableTreeNode("rootnew"),root,root.getChildCount());//  treem.removeNodeFromParent(selectNode); DefaultMutableTreeNode s1=(DefaultMutableTreeNode)root.getChildAt(root.getChildCount()-1);     treem.insertNodeInto(new DefaultMutableTreeNode("s1new"),s1,s1.getChildCount());  lhostname.setText(selectNode.toString());  DefaultTreeCellRenderer xxx=(DefaultTreeCellRenderer)jTree1.getCellRenderer();  xxx.setBackground(Color.red);//  DefaultMutableTreeNode addtree=new DefaultMutableTreeNode("addtree");//  DefaultMutableTreeNode  rootb=(DefaultMutableTreeNode)treem.getRoot(); // treem.insertNodeInto(addtree,rootb.getLastChild(),rootb.getLastChild().getChildCount());    //treem    */  }  void jButton6_actionPerformed(ActionEvent e) {  }  void jButton1_mouseClicked(MouseEvent e) {  d.showOpenDialog(this);  }  void lhostname_mouseClicked(MouseEvent e) {    InputStream in=javascan.todoscan.class.getResourceAsStream("portlist.properties");   try { //res try   ResourceBundle portlist=new PropertyResourceBundle(in);   }   catch (java.io.IOException ee1){ System.err.println(ee1.toString());}  }  void toendip_focusLost(FocusEvent e) {     check_toendip();  }int check_toendip(){  String fromip=addrfield.getText();  fromip=fromip.substring(fromip.lastIndexOf(".")+1);   try {       int x=java.lang.Integer.parseInt(toendip.getText());       if (x>255 || x<java.lang.Integer.parseInt(fromip))         {     toendip.setText(fromip);               toendip.requestFocus();               return 0;         }        }   catch (java.lang.NumberFormatException err1) {toendip.requestFocus();return 0;}   return 1;}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -