工具:vs2017
新建c#windows窗體應用,開啟介面設計,布局如下:
其餘函式及控制項功能實現在form1.cs檔案中,源**如下:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using system.threading;
using system.net.sockets;
namespace 埠掃瞄器
//自定義變數
// private int port;
private
string addr;
private
bool
done =
newbool
[65536];
private
int start;
private
int end;
// private thread scanthread;
private
bool ok;
private
void
txtstart_textchanged
(object sender,
system.eventargs e)
private
void
txtend_textchanged
(object sender,
system.eventargs e)
private
void
button1_click
(object sender,
eventargs e)
private
void
portscan()
catch
}//for (int i = start; i <= end; i++)
////未完成時情況
while
(!ok)
} system.threading.thread.
sleep
(1000);
} listbox1.items.
add(
"掃瞄結束!");
}else
}
效果:
工具:vs2017
新建c#windows窗體應用,開啟介面設計,布局如下:
其餘函式及控制項功能實現在form1.cs檔案中,源**如下:
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using system.threading;
using system.net.sockets;
namespace 埠掃瞄器
//自定義變數
private
int port;
private
string addr;
private
bool
done =
newbool
[65536];
private
int start;
private
int end;
private
thread scanthread;
private
bool ok;
private
void
txtstart_textchanged
(object sender,
system.eventargs e)
private
void
txtend_textchanged
(object sender,
system.eventargs e)
private
void
button1_click
(object sender,
eventargs e)
private
void
portscan()
//未完成時情況
while
(!ok)
} system.threading.thread.
sleep
(1000);
} listbox1.items.
add(
"掃瞄結束!");
}else
}private
void
scan()
catch}}
}
程式執行效果
多執行緒建立是通過迴圈建立執行緒來實現的
單執行緒掃瞄器就是龜速,多執行緒快了起碼10倍
多執行緒埠掃瞄程式
實現乙個多執行緒埠掃瞄程式 要求 1 能至少掃瞄5個ip位址 2 針對每個ip位址,開設100個執行緒同時對其進行掃瞄 3 如果埠開啟,使用函式getservbyport獲取其服務名,在螢幕上列印 ip port servername,如果是未知服務,則螢幕顯示 ip port unkonown 注...
埠掃瞄原理
埠掃瞄原理分類 1 全tcp連線 這種掃瞄方法使用三次握手,與目標計算機建立標準的tcp連線。但是這種掃瞄方式很容易被目標主機記錄,不推薦使用。2 半開啟式掃瞄 syn掃瞄 在這種掃瞄技術中,掃瞄主機自動向目標計算機的指定埠傳送syn資料段,表示傳送建立連線請求。a,如果目標計算機的回應tcp報文中...
埠掃瞄詳解
tcpconnect掃瞄 tcp全連線掃瞄。使用系統提供的connect 函式來連線目標埠,如果目標埠正在監聽這個埠,那麼connect 函式將會被成功返回,否則,說明改埠不可訪問。通過完整的tcp三次握手 也即一次tcp連線 來判斷目標埠的狀態 tcpsyn掃瞄 半開啟掃瞄。首先客戶端向要掃瞄的埠...