Java编写的端口的扫描程序(web端口80和ftp端口21)
来源:互联网 发布:js二级下拉菜单代码 编辑:程序博客网 时间:2024/05/16 04:12
1.数据的连接代码
package spider;import java.sql.*;public class Conn {public static Connection connection(){Connection conn=null;String url="jdbc:mysql://192.168.21.52:3306/spider";String root="zpp";String pwd="111";try{//加载驱动Class.forName("com.mysql.jdbc.Driver");conn=DriverManager.getConnection(url,root,pwd);}catch(Exception e){e.printStackTrace();}return conn;}}
2、开启线程进行验证(原本想使用多线程实现的,但是不行)
package spider;import java.sql.*;import java.net.*;import java.io.*;public class StartIP extends Thread{long starttime=System.currentTimeMillis();private Connection conn=null;private Statement stmt=null;String ip="";String sql="";int [] port={80,21};Socket socket=null;public StartIP(){//this.ip=ip;conn=Conn.connection();}//存储web ippublic void Savewebip(String ip){try{//System.out.println(ip);stmt=conn.createStatement();sql="insert into spider2(ip,port) values('"+ip+"','"+port[0]+"')";stmt.executeUpdate(sql);}catch(SQLException ew){System.out.println(ew.toString());}}//存储ftp ippublic void Saveftpip(String ip){try{//System.out.println(ip);stmt=conn.createStatement();sql="insert into spider1(ip,port) values('"+ip+"','"+port[1]+"')";stmt.executeUpdate(sql);}catch(SQLException ew){System.out.println(ew.toString());}}//验证ip的80端口是否打开public void SouwebIP(String ip){try{InetAddress inet=InetAddress.getByName(ip);InetSocketAddress inetsocket=new InetSocketAddress(ip,port[0]); socket=new Socket(); socket.connect(inetsocket,1000);// System.out.println(ip);socket.close();Savewebip(ip);}catch(IOException e){System.out.println(ip+"...web没有打开。。。");try{socket.close();}catch(IOException r){r.printStackTrace();}e.printStackTrace();}finally{try{if(socket!=null)socket.close();}catch(IOException er){System.out.println("关闭。。。");//er.printStackTrace();}}}//验证ip的21端口是否打开public void SouftpIP(String ip){try{InetAddress inet=InetAddress.getByName(ip);InetSocketAddress inetsocket=new InetSocketAddress(ip,port[1]); socket=new Socket(); socket.connect(inetsocket,1000);// System.out.println(ip);socket.close();Saveftpip(ip);}catch(IOException e){System.out.println(ip+"...ftp没有打开。。。");try{socket.close();}catch(IOException r){r.printStackTrace();}e.printStackTrace();}finally{try{if(socket!=null)socket.close();}catch(IOException er){System.out.println("关闭。。。");//er.printStackTrace();}}}//产生ip地址public void MakeIp(){String ip1="";String ip2="";String ip="";//String sql="";//Socket socket=null;for(int i=0;i<255;i++){ for(int j=0;j<255;j++){ ip1=String.valueOf(i); ip2=String.valueOf(j); ip="192.168."+ip1+"."+ip2; //ip="192.168.21."+ip2; SouwebIP(ip);SouftpIP(ip);//ping(ip);}}//记录扫描的时间long endtime=System.currentTimeMillis();long totaltime=endtime-starttime;System.out.println("total...."+totaltime+"ms");}public synchronized void run(){MakeIp();}}
3.主类
开启线程进行扫描
package spider;import java.net.*;import java.io.*;import java.sql.*;public class IP{public IP(){StartIP startIp1=new StartIP();startIp1.start();}public static void main(String [] args){new IP();}}
这个是个人,参考相关的代码,写的,有什么错误,请指教,大家共同学习啊
- Java编写的端口的扫描程序(web端口80和ftp端口21)
- 扫描服务端口的Java程序
- java编写的基于TCP协议的多线程扫描端口程序
- 扫描开放的端口
- FTP的默认端口
- Gene6 FTP Server的web端口和ip修改
- 80端口和8080端口是两种不同的端口
- 端口和CGI的扫描实现
- 端口和CGI的扫描实现
- web hdfs端口50075和httpfs端口14000的使用
- ftp 21和20端口
- 查询端口占用和清除端口占用的程序
- CentOS查询端口占用和清除端口占用的程序
- Java编写的多线程端口扫描器
- FTP端口20,21的区别
- FTP的20、21端口,工作模式
- ftp改默认的21端口:
- FTP的20、21端口,工作模式
- 规则引擎教程--表达式表格
- mysql 修改root密码
- MySQL执行计划解读 转他人文章
- 我的Adaper规范
- poj4047(线段树+延迟更新)
- Java编写的端口的扫描程序(web端口80和ftp端口21)
- 非小型电子商务系统数据库设计
- shema validation(XSD only)
- GDB 调试子进程 及STL
- Hadoop平台搭建使用系列教程(4)-操作系统安装
- Visual Assist X设置
- 在IE中使用Python作为开发脚本
- 黑马程序员 枚举学习笔记
- spring 注解详细解释