java扫描源码_threadscan.java 源代码在线查看 - 端口扫描程序 资源下载 虫虫电子下载站...

import java.net.*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;/* *实现扫描的主体程序 */public class ThreadScan{public static JFrame main=new JFrame("JAVA端口扫描器");//显示扫描结果public static JTextArea Result=new JTextArea("",4,40);//滚动条面板public static JScrollPane resultPane = new JScrollPane(Result,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//输入主机名文本框public static JTextField hostname=new JTextField("localhost",8);//输入ip地址前3位的输入框public static JTextField fromip1=new JTextField("0",3);//输入ip地址4~6位的输入框public static JTextField fromip2=new JTextField("0",3);//输入ip地址7~9位的输入框public static JTextField fromip3=new JTextField("0",3);//输入起始ip地址最后4位的输入框public static JTextField fromip4=new JTextField("0",3);//输入目标ip地址最后4位的输入框public static JTextField toip=new JTextField("0",3);//输入最小端口的输入框public static JTextField minPort=new JTextField("0",4);//输入最大端口的输入框public static JTextField maxPort=new JTextField("1000",4);//输入最大线程数量的输入框public static JTextField maxThread=new JTextField("100",3);//错误提示框public static JDialog DLGError=new JDialog(main,"错误!");public static JLabel DLGINFO=new JLabel("");public static JLabel type=new JLabel("请选择:");//扫描类型public static JRadioButton radioIp = new JRadioButton("IP地址:");public static JRadioButton radioHost = new JRadioButton("主机名:",true);//单选框组public static ButtonGroup group = new ButtonGroup();public static JLabel P1=new JLabel("端口范围:");public static JLabel P2=new JLabel("~");public static JLabel P3=new JLabel("~");public static JLabel Pdot1 = new JLabel(".");public static JLabel Pdot2 = new JLabel(".");public static JLabel Pdot3 = new JLabel(".");public static JLabel TNUM=new JLabel("线程数:");public static JLabel RST=new JLabel("扫描结果: ");public static JLabel con=new JLabel(" ");//定义按钮public static JButton OK = new JButton("确定");public static JButton Submit = new JButton("开始扫描");public static JButton Cancel = new JButton("退出");public static JButton saveButton = new JButton("保存扫描结果");//菜单栏public static JMenuBar myBar = new JMenuBar();public static JMenu myMenu = new JMenu("文件(F)");public static JMenuItem saveItem = new JMenuItem("保存扫描结果(S)");public static JMenuItem exitItem = new JMenuItem("退出(Q)");public static JMenu myMenu2 = new JMenu("帮助");public static JMenuItem helpItem = new JMenuItem("阅读");public static void main(String[] args){main.setSize(500,400);main.setLocation(300,300);main.setResizable(false);main.setLayout(new GridBagLayout());main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);DLGError.setSize(300,100);DLGError.setLocation(400,400);//添加“菜单栏”myMenu.add(saveItem);myMenu.add(exitItem);myMenu2.add(helpItem);myBar.add(myMenu);myBar.add(myMenu2);main.setJMenuBar(myBar);//设置热键myMenu.setMnemonic('F'); saveItem.setMnemonic ('S'); //为“另存为”组件设置快捷键为ctrl+ssaveItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); exitItem.setMnemonic('Q'); exitItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_E,InputEvent.CTRL_MASK)); //采用表格包型布局Container mPanel = main.getContentPane();GridBagConstraints c = new GridBagConstraints();c.insets = new Insets(10,0,0,10);c.gridx = 0;c.gridy = 0;c.gridwidth = 10;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(type,c);group.add(radioIp);group.add(radioHost);c.gridx = 0;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(radioIp,c);c.gridx = 1;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(fromip1,c);c.gridx = 2;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(Pdot1,c);c.gridx = 3;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(fromip2,c);c.gridx = 4;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(Pdot2,c);c.gridx = 5;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(fromip3,c);c.gridx = 6;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(Pdot3,c);c.gridx = 7;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(fromip4,c);c.gridx = 8;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(P2,c);c.gridx = 9;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(toip,c);c.gridx = 0;c.gridy = 2;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(radioHost,c);c.gridx = 1;c.gridy = 2;c.gridwidth = 3;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(hostname,c);c.gridx = 0;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(P1,c);c.gridx = 1;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(minPort,c);c.gridx = 2;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(P3,c);c.gridx = 3;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(maxPort,c);c.gridx = 0;c.gridy = 4;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(TNUM,c);c.gridx = 1;c.gridy = 4;c.gridwidth = 3;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(maxThread,c);c.gridx = 0;c.gridy = 5;c.gridwidth = 3;c.fill = GridBagConstraints.VERTICAL;c.anchor = GridBagConstraints.CENTER;mPanel.add(Submit,c);c.gridx = 3;c.gridy = 5;c.gridwidth = 3;c.fill = GridBagConstraints.VERTICAL;c.anchor = GridBagConstraints.CENTER;mPanel.add(saveButton,c);c.gridx = 6;c.gridy = 5;c.gridwidth = 4;c.fill = GridBagConstraints.VERTICAL;c.anchor = GridBagConstraints.CENTER;mPanel.add(Cancel,c);c.gridx = 0;c.gridy = 6;c.gridwidth = 10;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(RST,c);//设置文本区域可以换行Result.setLineWrap(true);//设置文本区域不可编辑Result.setEditable(false);c.gridx = 0;c.gridy = 7;c.gridwidth = 10;c.gridheight = 4;c.fill = GridBagConstraints.VERTICAL;c.anchor = GridBagConstraints.CENTER;mPanel.add(resultPane,c);Container dPanel = DLGError.getContentPane();dPanel.setLayout(new FlowLayout(FlowLayout.CENTER));dPanel.add(DLGINFO);dPanel.add(OK);Submit.addActionListener(new SubmitAction());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值