




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简单端口扫描器java的设计与实现IPScan类的实现package scan.pratice;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class IPScan static long startTime=System.currentTimeMillis(); /获取开始时间public static void main(String args) if(args.length !=2)System.out.println(参数不对);int startIP = Integer.parseInt(args0); /获得起始IP,因为args是String类型,所以要强制转换成int类型 int endIP = Integer.parseInt(args1); /获得终止IP,同上 ArrayList result = new ArrayList();/ip地址扫描for(int id=startIP;id=endIP;id+)String addres= 10.28.23.;try Socket s=new Socket(addres+id,8000); /建立连接 catch (UnknownHostException e ) catch(Exception e)/System.out.println(e.toString();if(e.toString().endsWith(.ConnectException: Connection timed out: connect)System.out.println(addres+id+:not exist.);elseSystem.out.println(addres+id+:exist.);ListIterator li = result.listIterator(); /获得ArrayList的ListIterator while(li.hasNext() /如果li里面有元素 System.out.println(li.next().toString(); /打印出指向的元素,同时将指向下一个元素 long endTime=System.currentTimeMillis(); /获取结束时间System.out.println(程序运行时间: +(endTime-startTime)+ms);PortScan类的实现package scan.pratice;import java.io.IOException;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class PortScan static long startTime=System.currentTimeMillis(); /获取开始时间public static void main(String args) if(args.length !=3)System.out.println(参数不对);String ip = args0; /获得我们指定的服务器地址 int startPort = Integer.parseInt(args1); /获得起始端口号,因为args是String类型,所以要强制转换成int类型 int endPort = Integer.parseInt(args2); /获得终止端口号,同上 if(startPort65535|endPort65535) /检查端口是否在合法范围165535 System.out.printf(端口范围必须在165535以内!); return; else if(startPortendPort) /比较起始端口和终止端口 System.out.println(端口输入有误! 起始端口必须小于终止端口); return; InetAddress address;try address = InetAddress.getByName(ip); /转换类型 catch(UnknownHostException e) System.out.println(无法找到 + ip); return; ArrayList result = new ArrayList();/端口扫描for(int nport=startPort;nport=endPort;nport+) String typeport=;switch( nport )/其实这儿可以不用switch,直接用个hash表记录就可以 case 21: typeport = (FTP); break; case 23: typeport = (TELNET); break; case 25: typeport = (SMTP); break; case 80: typeport = (HTTP); break; case 110: typeport = (POP); break; case 139: typeport = (netBIOS); break; case 1433: typeport = (SQL Server); break; case 3389: typeport = (Terminal Service); break; case 443: typeport = (HTTPS); break; case 1521: typeport = (Oracle); break; /从起始端口到终止端口进行循环 try /System.out.print(Scanning +nport); /打印扫描进度 System.out.println(ip + :+nport);Socket s=new Socket(address,nport); /建立连接 /关闭连接 if(s.isConnected()result.add(端口号:+nport+typeport+ open); s.close();/将打开的端口添加到ArrayList result里面 /System.out.println( : open); /打印状态 catch(IOException e)System.out.println(e.toString();/System.out.println(:close); /打印状态 result.add(端口号:+nport+typeport+ close); ListIterator li = result.listIterator(); /获得ArrayList的ListIterator while(li.hasNext() /如果li里面有元素 System.out.println(li.next().toString(); /打印出指向的元素,同时将指向下一个元素 long endTime=System.currentTimeMillis(); /获取结束时间System.out.println(程序运行时间: +(endTime-startTime)+ms);TCPConnect类的实现package scan.pratice;import java.io.IOException;import .InetAddress;import .Socket;import .UnknownHostException;import java.util.ArrayList;import java.util.ListIterator;public class TCPConnect static long startTime=System.currentTimeMillis(); /获取开始时间public static void main(String args) if(args.length !=3)System.out.println(参数不对);String ip = args0; /获得我们指定的服务器地址 int startPort = Integer.parseInt(args1); /获得起始端口号,因为args是String类型,所以要强制转换成int类型 int endPort = Integer.parseInt(args2); /获得终止端口号,同上 if(startPort65535|endPort65535) /检查端口是否在合法范围165535 System.out.printf(端口范围必须在165535以内!); return; else if(startPortendPort) /比较起始端口和终止端口 System.out.println(端口输入有误! 起始端口必须小于终止端口); return; InetAddress address;try address = InetAddress.getByName(ip); /转换类型 catch(UnknownHostException e) System.out.println(无法找到 + ip); return; ArrayList result = new ArrayList();/*/端口扫描for(int nport=startPort;nport=endPort;nport+) String typeport=;switch( nport )/其实这儿可以不用switch,直接用个hash表记录就可以 case 21: typeport = (FTP); break; case 23: typeport = (TELNET); break; case 25: typeport = (SMTP); break; case 80: typeport = (HTTP); break; case 110: typeport = (POP); break; case 139: typeport = (netBIOS); break; case 1433: typeport = (SQL Server); break; case 3389: typeport = (Terminal Service); break; case 443: typeport = (HTTPS); break; case 1521: typeport = (Oracle); break; /从起始端口到终止端口进行循环 try /System.out.print(Scanning +nport); /打印扫描进度 System.out.println(ip + :+nport);Socket s=new Socket(address,nport); /建立连接 /关闭连接 if(s.isConnected()result.add(端口号:+nport+typeport+ open); s.close();/将打开的端口添加到ArrayList result里面 /System.out.println( : open); /打印状态 catch(IOException e)System.out.println(e.toString();/System.out.println(:close); /打印状态 result.add(端口号:+nport+typeport+ close); */ip地址扫描for(int id=178;id183;id+)String addres= 10.28.23.;try Socket s=new Socket(addres+id,8000); /建立连接 catch (UnknownHostException e ) catch(Exception e)/System.out.println(e.toString();if(e.toString().endsWith(.ConnectException: Connection timed out: connect)System.out.println(addres+id+:not exist.);elseSystem.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装加工机器合同协议书
- 2025年甲肝灭活疫苗项目合作计划书
- 2025年汞及汞化合物项目发展计划
- 2025年茶几项目建议书
- 2025年运动场馆灯具项目发展计划
- 2025年有机废水沼气系统合作协议书
- 工程后期维护监理补充合同确保长期使用
- 夫妻忠诚协议及违约责任追究书
- 留学行业合伙人合作协议
- 教育科技企业在线题库授权及市场拓展合同
- 企业员工法律意识培训课件
- 二人相声小品搞笑台词二人最搞笑的相声台词
- 家具维保服务投标方案
- 交通事故自救、互救基本常识(新版)
- 环保管家服务投标方案(技术标)
- 桩顶地系梁专项施工方案
- 电气工程概论-肖登明
- 民间个人借款还清证明范本
- 胶粘剂制造业行业营销方案
- 【江淮汽车公司财务现状及其盈利能力问题分析(10000字论文)】
- Sibelius使用教程教材说明
评论
0/150
提交评论