主機掃描程式實現方法 (轉)

worldblog發表於2007-12-11
主機掃描程式實現方法 (轉)[@more@]

用過主機掃描工具?如〈獵手〉,〈追捕〉〈POSTCAN〉等。只要你瀏覽過主頁就會發現他們都提供此類工具。對於是怎樣發現所提供的服務?對於個人又是怎樣知道你機器有?下面就以俺用C++ BUILDER寫的一個主機掃描工具的核心程式碼為列說一下實現方法。
主機掃描實現方法:

作者:

  用過主機掃描工具?如〈代理獵手〉,〈追捕〉〈POSTCAN〉等。只要你瀏覽過駭客主頁就會發現他們都提供此類工具下載。對於伺服器是怎樣發現所提供的服務?對於個人計算機又是怎樣知道你機器有後門?下面就以俺用C++ BUILDER寫的一個主機掃描工具的核心程式碼為列說一下實現方法。

#include

#defineService 139 //139埠NETBIOS服務

#define WWWService 80 //80埠WWW服務

#define Service 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(Wtartup(MAKE(1,1),&wsaData)!=NULL) //以WINSOCK1.1初始化

{

ShowMessage("初始化WINSOCK錯誤");

WSACleanup();

}

HostMsg=gethostbyname(Edit1->Text.c_str()); //獲取主機資訊

if(!HostMsg)

{

ShowMessage("主機名稱錯誤,請檢查");

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));

}

  

  試一下。怎樣?不錯吧,你也可以寫駭客程式,還不趕緊動手寫一個自己的埠掃描程式?


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991284/,如需轉載,請註明出處,否則將追究法律責任。

相關文章