基於C 實現的多執行緒埠掃瞄器

2021-09-25 23:23:39 字數 765 閱讀 1310

1 概述

1.1 課程設計目的

加深tcp/ip協議的理解,掌握tcp四次握手機制,同時熟悉socket程式設計。

1.2 課程設計內容

實現乙個埠掃瞄器:

支援多程序/執行緒

能對單個指定主機進行掃瞄或掃瞄指定網段內的主機

能掃瞄特定的部分埠或對指定的埠段內的埠進行逐個掃瞄

能夠顯示所開放埠的服務名稱

1.3 執行環境

作業系統:windows 7及以上版本系統

開發環境:microsoft visual studio 2013

2 系統分析與設計

2.1 原理概述

埠掃瞄有好幾種,但其中tcp connect掃瞄是最基本的掃瞄,我們可以利用系統提供的connect()用來與每乙個目標計算機的埠進行連線。如果埠處於偵聽狀態,那connect()就能成功。否則,這個埠即是不可用的,也就是說沒有提供服務。這個技術的乙個最大的優點是,你不需要任何許可權。系統中的任何使用者都有權利使用這個呼叫。另乙個好處就是速度,如果對每個目標埠以線性的方式,使用單獨的connect()呼叫,那麼將花費相當長的時間,使用者可以通過多執行緒同時開啟多個套接字來加速掃瞄。使用非阻塞i/o允許設定乙個低的時間用盡週期,同時觀察多個套接字。但這種方法的缺點是很容易被察覺,並且被防火牆將掃瞄資訊包過濾掉。目標計算機的logs檔案會顯示一連串的連線和連線出錯訊息,並且能很快使它關閉。

python埠掃瞄器(多執行緒)

我們這裡拿某特爾的一款九代i5cpu做例子,這一款是6執行緒的。而這一款,是某特爾的九代i9 各位大佬,可以看出來執行緒的差別有多大了吧,執行緒就是決定了運算速度,所以說啊,有執行緒和沒執行緒的差距有多大哈 廢話說完,讓我們正式進入 coding utf 8 import socket,time,t...

基於C 實現埠掃瞄器 單執行緒和多執行緒

目錄 新建專案 選擇windows窗體專案應用 net framework 設定專案名和路徑 新建專案如下 設定介面 將tbshow設定為唯讀 雙擊按鈕,編寫其點選事件 using system using system.collections.generic using system.compon...

Qt實現埠掃瞄器

首先展示一下效果 介面通過qt設計師做出來的。主要有兩個類。首先主函式 include mainwindow.h include 實現ui迴圈。第乙個類,主窗體類 ifndef mainwindow h define mainwindow h include include include incl...