英雄请进!(UP者有分) 我的EMAIL:[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sorry email [email protected] //扫本地端口import java.net;import java.io.*;public class xx{ public static void main(String args[]) { for (int i=1;i<8000;i++) { try { Socket s=new Socket(args[0],i); System.out.println(""+i); s.close(); }catch(IOException e){} } }} 给我一份![email protected] 也给我一份![email protected] 主机扫描程序实现方法下面以C++ BUILDER写的一个主机扫描工具的核心代码为列说一下实现方法。大家可以根据这个思路写一个java的,改起来很容易#include <winsock.h>#define NETBIOSService 139 //139端口NETBIOS服务#define WWWService 80 //80端口WWW服务#define FTPService 21 //21端口FTP服务//以上是针对服务器而言#define BOService 31337 //BO木马的后门端口#define NETSPYService 7306 //NETSPY木马的后门端口#define BHService 7626 //冰河木马的后门端口//以上是针对个人计算机BOOL SERVERConn(hostent *SERHost,SOCKET SERSock,unsigned short nPort)//连接函数,hostent结构见帮助{SOCKADDR_IN Sock_in; //结构见帮助BOOL RetMsg;Sock_in.sin_family=AF_INET; //连接类型Sock_in.sin_port=htons(nPort); //所连接的主机端口 memcpy(&(Sock_in.sin_addr),SERHost->h_addr,sizeof(Sock_in.sin_addr)); //主机地址赋予结构以便下面调用Application->ProcessMessages();if((connect(SERSock,(LPSOCKADDR)&Sock_in,sizeof(Sock_in)))==SOCKET_ERROR) //开始连接并判断是否成功{RetMsg=FALSE; //此端口没有开放closesocket(SERSock);return RetMsg;}RetMsg=TRUE; //开放了shutdown(SERSock,0); //不许端口接收,发送数据但保持连接状态 closesocket(SERSock); //成功后马上关闭,以免return RetMsg;}WSADATA wsaData; //WSADATA结构见帮助SOCKET Sock;hostent *HostMsg;if(WSAStartup(MAKEWORD(1,1),&wsaData)!=NULL) //以WINSOCK1.1协议初始化{ShowMessage("初始化WINSOCK错误");WSACleanup();}HostMsg=gethostbyname(Edit1->Text.c_str()); //获取主机信息if(!HostMsg){ShowMessage("主机名称错误,请检查IP地址");WSACleanup();}else if((Sock=(socket(AF_INET,SOCK_STREAM,0)))==SOCKET_ERROR) //SOCKET函数见帮助{ShowMessage("SOCKET错误");closesocket(Sock);WSACleanup();}if(SERVERConn(HostMsg,Sock,WWWService)) //调用SERVERConn函数连接{Label3->Font->Color=clRed;Label3->Caption="发现服务"; //端口开放以红色显示closesocket(Sock);Sock=(socket(AF_INET,SOCK_STREAM,0));}else{Label3->Font->Color=clBlack;Label3->Caption="没有发现服务"; //没有开放以黑色显示closesocket(Sock);Sock=(socket(AF_INET,SOCK_STREAM,0));} 这是我以前做的import java.net.*;import java.io.*;public class HighPortScanner { public static void main(String args[]) { String host="localhost"; int begin=0; int end=65336; if(args.length>0) { host=args[0]; } if(args.length>1) { begin=Integer.parseInt(args[1]); end=Integer.parseInt(args[2]); } try{ InetAddress theAddress=InetAddress.getByName(host); for(int i=begin;i<end;i++) { BufferedReader networkIn=null; try { Socket theSocket=new Socket(theAddress,i); System.out.println("there is a serve on port"+i+" of "+host); networkIn=new BufferedReader(new InputStreamReader(theSocket.getInputStream())); System.out.println(networkIn.readLine()); } catch (IOException e) { System.out.println("there is no service on port "+i); } }//END FOR }//END TRY catch(UnknownHostException e) { System.err.println(e); } }//END MAIN} C++ BUILDER也来贴???无非也就是Socket编程加I/O! 我想是可以的主要是利用Socket来进行编写的 [email protected]也发给我一份~ 我原来做过,也是别人问的,5分钟搞定上面已经有人写了代码了,catch(时就说明本端口关闭的)不过在扫时应不停的开线程去扫就是说主类: while( ...){ Thread(i)类.start()Thread(i) 类 run(){ Socket(i).....}如果你会那么点点java,应该没问题了 谁给我企业通信软件案例 老师留的一道题,麻烦大家看看. 数据挖掘方面有哪些产品? 求助:有一个程序只有界面,没有功能,是个简单的统计程序,哪位热心高手能帮忙实现,很急,高手可能半个小时不到就可以完成,我会报答你 MySql数据库驱动有疑问! java中移位操作 关于JDBC访问Oracle返回数据集的记录限制的问题 我只想说一句,java在国内占不占优势 可否将网页文件的源代码作为String一次性读入吗? Calendar问题,为什么月份总是少一个月? JAVA的说明文档在哪里下阿?(JAVA.SUN.COM上) 翻译问题?
email [email protected]
import java.net;
import java.io.*;
public class xx
{
public static void main(String args[])
{
for (int i=1;i<8000;i++)
{
try
{
Socket s=new Socket(args[0],i);
System.out.println(""+i);
s.close();
}catch(IOException e){}
}
}}
[email protected]
[email protected]
下面以C++ BUILDER写的一个主机扫描工具的核心代码为列说一下实现方法。
大家可以根据这个思路写一个java的,改起来很容易
#include <winsock.h>#define NETBIOSService 139 //139端口NETBIOS服务#define WWWService 80 //80端口WWW服务#define FTPService 21 //21端口FTP服务//以上是针对服务器而言#define BOService 31337 //BO木马的后门端口#define NETSPYService 7306 //NETSPY木马的后门端口#define BHService 7626 //冰河木马的后门端口//以上是针对个人计算机BOOL SERVERConn(hostent *SERHost,SOCKET SERSock,unsigned short nPort)//连接函数,hostent结构见帮助{SOCKADDR_IN Sock_in; //结构见帮助BOOL RetMsg;Sock_in.sin_family=AF_INET; //连接类型Sock_in.sin_port=htons(nPort); //所连接的主机端口 memcpy(&(Sock_in.sin_addr),SERHost->h_addr,sizeof(Sock_in.sin_addr)); //主机地址赋予结构以便下面调用Application->ProcessMessages();if((connect(SERSock,(LPSOCKADDR)&Sock_in,sizeof(Sock_in)))==SOCKET_ERROR) //开始连接并判断是否成功{RetMsg=FALSE; //此端口没有开放closesocket(SERSock);return RetMsg;}RetMsg=TRUE; //开放了shutdown(SERSock,0); //不许端口接收,发送数据但保持连接状态 closesocket(SERSock); //成功后马上关闭,以免return RetMsg;}WSADATA wsaData; //WSADATA结构见帮助SOCKET Sock;hostent *HostMsg;if(WSAStartup(MAKEWORD(1,1),&wsaData)!=NULL) //以WINSOCK1.1协议初始化{ShowMessage("初始化WINSOCK错误");WSACleanup();}HostMsg=gethostbyname(Edit1->Text.c_str()); //获取主机信息if(!HostMsg){ShowMessage("主机名称错误,请检查IP地址");WSACleanup();}else if((Sock=(socket(AF_INET,SOCK_STREAM,0)))==SOCKET_ERROR) //SOCKET函数见帮助{ShowMessage("SOCKET错误");closesocket(Sock);WSACleanup();}if(SERVERConn(HostMsg,Sock,WWWService)) //调用SERVERConn函数连接{Label3->Font->Color=clRed;Label3->Caption="发现服务"; //端口开放以红色显示closesocket(Sock);Sock=(socket(AF_INET,SOCK_STREAM,0));}else{Label3->Font->Color=clBlack;Label3->Caption="没有发现服务"; //没有开放以黑色显示closesocket(Sock);Sock=(socket(AF_INET,SOCK_STREAM,0));}
import java.net.*;
import java.io.*;public class HighPortScanner {
public static void main(String args[]) { String host="localhost";
int begin=0;
int end=65336;
if(args.length>0) {
host=args[0];
}
if(args.length>1) {
begin=Integer.parseInt(args[1]);
end=Integer.parseInt(args[2]);
} try{
InetAddress theAddress=InetAddress.getByName(host); for(int i=begin;i<end;i++) { BufferedReader networkIn=null; try {
Socket theSocket=new Socket(theAddress,i);
System.out.println("there is a serve on port"+i+" of "+host);
networkIn=new BufferedReader(new InputStreamReader(theSocket.getInputStream()));
System.out.println(networkIn.readLine());
} catch (IOException e) {
System.out.println("there is no service on port "+i);
} }//END FOR
}//END TRY catch(UnknownHostException e) {
System.err.println(e);
}
}//END MAIN}
无非也就是Socket编程加I/O!
主要是利用Socket来进行编写的
也发给我一份~
Thread(i)类.start()
Thread(i) 类
run(){ Socket(i).....}如果你会那么点点java,应该没问题了