C 埠掃瞄程式

2021-10-10 15:29:03 字數 3115 閱讀 9684

工具: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掃瞄 半開啟掃瞄。首先客戶端向要掃瞄的埠...