jsp上面能实现端口扫描
发布时间:2023-05-31 13:39:58 所属栏目:教程 来源:
导读:星期5晚上写了的jsp实现扫描对方的端口...一开始测试比较麻烦~~因为要使用多线程就需要extends thread或者implemets runnable 也就是说需要一个类~~ 在jsp 里面写一个类,不就是成员内部类咯!哎郁闷啊!之后写完再测
星期5晚上写了的jsp实现扫描对方的端口...一开始测试比较麻烦~~因为要使用多线程就需要extends thread或者implemets runnable 也就是说需要一个类~~ 在jsp 里面写一个类,不就是成员内部类咯!哎郁闷啊!之后写完再测试~~ 又发现问题了!要是当前jsp的线程执行完了就会自动闭合out对象 然而我其他线程的out内容就会没法输入~~郁闷ing... 后来想了一个 没办法中的办法!就是在当前线程睡觉一会thread.sleep() 废话少说了~~下面给出代码! //扫描port函数 void scanport(javax.servlet.jsp.jspwriter out,string straddress,int startport,int endport)throws exception{ if(endport<startport||startport<=0||startport>65535||endport>65535||endport<=0){ out.print("port setup error"); return; } inetaddress ia=inetaddress.getbyname(straddress); for(int p=startport;p<=endport;p+=15){ (new scanport(ia,p,p+14,out)).start(); } thread.sleep((int)(endport/startport)*5000); }//扫描类 class scanport extends thread{ int startport; int endport; inetaddress address; javax.servlet.jsp.jspwriter out; public scanport(inetaddress address,int startport,int endport,javax.servlet.jsp.jspwriter out){ this.address=address; this.startport=startport; this.endport=endport; this.out=out; } public void run(){ socket s=null; for(int port=startport;port<=endport;port++){ try{ s=new socket(address,port); out.println("port "+port+" is open<br>"); } catch(ioexception e){ }finally{ try{s.close();}catch(exception e){} } } } } (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐