




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档简单端口扫描器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(S
2、tring 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=n
3、ew Socket(addres+id,8000); / 建立连接 catch (UnknownHostException e ) catch(Exception e)/System.out.println(e.toString();if(e.toString().endsWith(.ConnectException:Connectiontimedout: connect)System.out.println(addres+id+:not exist.);else文案大全实用文档System.out.println(addres+id+:exist.);ListIterator
4、 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.
5、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.o
6、ut.println( 参数不对 );文案大全实用文档String ip = args0; / 获得我们指定的服务器地址int startPort = Integer.parseInt(args1);/获得起始端口号,因为args是 String 类型,所以要强制转换成int 类型int endPort = Integer.parseInt(args2);/获得终止端口号,同上if(startPort65535|endPort65535)/ 检查端口是否在合法范围 1 65535System.out.printf( 端口范围必须在1 65535 以内 !);return;else if(sta
7、rtPortendPort) /比较起始端口和终止端口System.out.println( 端口输入有误! 起始端口必须小于终止端口);return;InetAddress address;tryaddress = InetAddress.getByName(ip);/ 转换类型catch(UnknownHostException e)System.out.println( 无法找到+ ip);return;ArrayList result = new ArrayList();/端口扫描for(int nport=startPort;nport=endPort;nport+)String t
8、ypeport=;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);b
9、reak;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( 端口号: +np
10、ort+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 的 ListIteratorwhile(li.
11、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 .Soc
12、ket;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 s
13、tartPort = Integer.parseInt(args1);/获得起始端口号,因为args是 String 类型,所以要强制转换成int 类型int endPort = Integer.parseInt(args2);/获得终止端口号,同上if(startPort65535|endPort65535)/ 检查端口是否在合法范围 1 65535System.out.printf( 端口范围必须在1 65535 以内 !);return;else if(startPortendPort) /比较起始端口和终止端口文案大全实用文档System.out.println( 端口输入有误! 起始
14、端口必须小于终止端口);return;InetAddress address;tryaddress = 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 表记
15、录就可以 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:typ
16、eport = (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 resul
17、t 里面/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:Connectiontimed out:connect)System.out.println(addres+id+:not exist.);elseSystem.out.println(addres+id+:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025电子商务平台用户增长与活跃度提升合同
- 2025年劳动合同制员工劳动合同解除备案合同
- 2025年大货车货运信息平台会员服务合同
- 2025沉井劳务分包及施工技术监督合同协议书
- 2025年度房地产项目开发合作合同及协议书
- 2025年度抵押借款合同法律效力及履行监督协议
- 2025年度派遣至亚洲地区员工文化交流合同
- 2025版生物科技企业研发人员劳动合同集锦
- 2025年度数据中心施工图设计合同范本
- 说课的基本步骤
- 医疗设备定期检修方案
- 2023中电信数智科技有限公司白皮书
- 办公楼物业管理服务(技术方案)
- 癌因性疲乏治疗指南
- 私募股权投资基金的会计处理全解析
- 高级高炉炼铁操作工技能鉴定考试题及答案
- 前置公司协议书范本
- 房产中介居间服务合同
- 养老院预防老人食品药品误食
- 大学生创业基础2000116-知到答案、智慧树答案
- (正式版)YBT 6328-2024 冶金工业建构筑物安全运维技术规范
评论
0/150
提交评论