主機掃描程式實現方法 (轉)
用過主機掃描工具?如〈獵手〉,〈追捕〉〈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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 主機安全掃描工具-- vuls
- 如何高效實現掃描區域網IP、主機名、MAC和埠Mac
- Go 實現埠掃描器Go
- Linux系統中掃描、列印的實現(轉)Linux
- NetBIOS主機名掃描工具nbtscaniOS
- GO語言 實現埠掃描Go
- Python 實現埠掃描器Python
- Win10系統下掃描器程式無法掃描的解決方法Win10
- 安全科普:Waf實現掃描器識別 徹底抵擋駭客掃描
- Android實現掃描二維碼Android
- SCAN掃描演算法 java實現演算法Java
- PostgreSQL掃描方法綜述SQL
- nc掃描機器埠
- React Native 實現二維碼掃描React Native
- 80埠入侵 CGI掃描器的原理和實現過程(轉)
- 京東掃描平臺EOS—JS掃描落地與實踐JS
- 電腦掃描檔案怎麼掃描 win10電腦掃描檔案方法介紹Win10
- 在DOS下使用登錄檔掃描程式 (轉)
- (轉)索引掃描還是全表掃描(Index Scan Or Full Table Scan)索引Index
- 轉)索引掃描還是全表掃描(Index Scan Or Full Table Scan)索引Index
- 掃描技術和掃描工具
- 用Python實現圖片的清晰掃描Python
- Java 實現OCR掃描/識別圖片文字Java
- Pythonpyclamad病毒掃描與目錄病毒掃描指令碼(轉載)Python指令碼
- 理解資料庫掃描方法-利用掃描方法對資料儲存進行優化資料庫優化
- 超簡單的,掃描PDF轉換成Word的方法
- 新型的按鍵掃描程式
- 用 ABAP 呼叫 OCR 介面實現計程車發票掃描
- 如此簡單遠端漏洞掃描實現雲安全
- 手機怎麼掃描檔案?
- 全面剖析Windows磁碟掃描功能(轉)Windows
- 微信小程式掃描普通二維碼開啟小程式的方法微信小程式
- 微軟自帶病毒怎麼掃描_win10掃描自帶病毒的方法微軟Win10
- oracle實驗記錄 (全表掃描COST計算方法)Oracle
- AWVS掃描器掃描web漏洞操作Web
- win10印表機怎麼掃描 win10印表機掃描檔案到電腦Win10
- 掃描整個網段的多執行緒程式(轉)執行緒
- TWAIN掃描識別控制元件:Web應用程式的掃描器SDKAI控制元件Web