【安全掃描器原理】網絡掃描算法

【安全掃描器原理】網絡掃描算法

  • 1.非順序掃描
  • 2.高速掃描 & 分布式掃描
  • 3.服務掃描 & 指紋掃描

1.非順序掃描

參考已有的掃描器,會發現幾乎所有的掃描器都無一例外地使用增序掃描,即對所掃描的端口自小到大依次掃描,殊不知,這一效果可以被對方的防火墻或IDS作為判斷正被掃描的特征。雖然通過多線程會使這一特征發生少量的變化,但從整體效果上看,仍然顯示增序現象

改變增序特征并不難,一般有如下幾種非順序掃描算法:

1?? 逆序掃描算法,在掃描的時候,采用從大到小的逆序掃描方式

2?? 隨機重排掃描算法,在新排的順序中,為了避免漏掉或重復使用某一端口,可以采用互換位置的方式進行

3?? 線程前加延時掃描算法

在 Windows 系統中,多個線程是并發執行的,調度是基于搶占式的。也就是說,線程之間會競爭 CPU 時間片。但線程的啟動順序往往是按照創建線程的順序來的,尤其在短時間內創建多個線程時,它們的啟動時間差可能非常小。如果不作處理,線程 1 總是比線程 2 先執行,那么它掃描的端口或地址也往往先于線程 2,可能導致掃描行為過于集中和有規律,易被防護系統識別

為了讓多個線程的掃描順序更加隨機化、分散,防止被探測機制或防火墻認為是異常行為,可以采用如下策略:

Sleep(rand() % 5000); // 每個線程延遲 0~4999 毫秒

這樣,每個線程在啟動執行掃描邏輯之前,會暫停一段隨機時間,避免線程之間形成固定順序和節奏


2.高速掃描 & 分布式掃描

1、高速掃描

常見的高速掃描算法有多線程并行掃描技術、基于KB(Knowledge Base,知識庫)技術、將掃描和判斷分離的技術

KB技術是指把掃描過的主機信息存儲起來,當下次掃描的時候,首先以上次的掃描結果作為參考,先對用戶最關心的方面進行重新掃描,然后對其余部分進行掃描,這樣既能提高掃描速度,又能有效降低占用的帶寬。例如,某次掃描中,用戶只關心原有“開”的端口是否仍處于開的狀態,則只需要掃描上次記錄中“開”狀態的端口即可

2、分布式掃描

高速掃描主要依靠多線程實現,而分布式掃描則主要使用多臺主機同時對目標主機進行掃描,參與的主機可以事先約定后主動加入,也可以被入侵后植入掃描程序。在實施掃描的時候,由主控主機向各參與的主機發送要掃描的主機IP地址和端口范圍,然后所有主機同時向被測主機進行掃描


3.服務掃描 & 指紋掃描

1、服務掃描

端口掃描器只能掃描出端口的狀態是否開放,而不會判斷端口所對應的服務是否為該端口所具有的默認服務。服務掃描則是直接對服務進行掃描,并通過服務的存在與否,間接地判斷端口是否處于“開”狀態

2、指紋掃描

所謂指紋識別技術就是與目標主機建立連接,并發送某種請求,由于不同操作系統以及相同操作系統不同版本所返回的數據或格式不同,這樣,根據返回的數據就可以判定目標主機的操作系統類型及版本

通常的指紋識別算法有幾大類:

一類是通過操作系統提供的服務進行判斷,各主流操作系統都內嵌一些服務器軟件,常見的如FTP、Telnet、HTTP和DNS服務器,這些軟件都會在歡迎信息、版權聲明、命令回復中或多或少地透露自身的版本號,這也可以間接地反映出操作系統的類型和版本號。但這種方式也有不足之處,就是這些信息有些不準,甚至是錯誤的

另一類就是根據一些協議實現上各操作系統的細微差別進行判斷,如通過TTL值進行操作系統識別?、TCP FIN掃描等方法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78170.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78170.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78170.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

理解歐拉公式

1. 歐拉公式中的符號 歐拉公式 e i x cos ? x i sin ? x e^{ix}\cos xi\sin x eixcosxisinx當 x π x \pi xπ時 e i π 1 0 / / 歐拉恒等式 e^{i\:\pi}10 //歐拉恒等式 eiπ10//歐拉恒等式 e e e:自然對數的底 i i i:虛數, i 2 ? 1 i^2 -1 i2?1 cos…

HTML郵件背景圖兼容 Outlook

在 HTML 郵件中設置背景圖片時,Outlook(尤其是桌面版的 Outlook for Windows)經常不會正確顯示背景圖,這是因為outlook 是使用 Word 作為郵件渲染引擎,而不是標準的 HTML/CSS 渲染方式。 推薦的解決方案:使…

杰理ac792開發板按鍵不起效果

按鍵想要起效果需要把UI給注釋掉,排查了半天

Kubernetes 常用運維命令整理

目錄 Kubernetes 常用運維命令整理一、集群管理二、Pod 和容器管理三、Deployment 和應用管理四、Service 和網絡管理五、存儲管理六、ConfigMap 和 Secret 管理七、資源使用與監控八、調度和容錯九、Role 和權限管理十、清理資源 總結 Kubernetes 常用運維命令整理 Kubernete…

在 Debian 12 中恢復被刪除的 smb.conf 配置文件

https://forum.ubuntu.com.cn/viewtopic.php?t494763 本文結合ai輸出,內容中有些錯誤,但確實解決了我的問題,我采取保留完整輸出的方式摘錄。 在 Debian 12 中恢復被刪除的 smb.conf 配置文件,需結合 dpkg 和 ucf(Upd…

GB2312/GBK是字符集嗎

GB2312/GBK 是字符集嗎? 是的,GB2312 和 GBBK 既是字符集(Character Set),也是編碼方式(Encoding)。它們不僅定義了可表示的字符范圍,還規定了這些字符在計算機中的二進制存儲格式。…

BOM與DOM(解疑document window關系)

BOM(瀏覽器對象模型) 定義與作用 BOM(Browser Object Model)提供與瀏覽器窗口交互的接口,用于控制導航、窗口尺寸、歷史記錄等瀏覽器行為 window:瀏覽器窗口的頂層對象,包含全局屬性和方法&am…

水域陸地兩相宜,便攜漏電探測儀

在自然災害如洪水、地震、臺風及火災中,建筑物和電力設施易因結構破壞、線路老化或設備浸水導致絕緣失效,引發漏電事故。漏電不僅直接威脅人員生命安全,還可能引發二次火災或爆炸,尤其在潮濕環境下導電性增強,觸電風險…

c加加學習之day06->STL標準庫->day01

1.介紹:C 標準模板庫(Standard Template Library,簡稱 STL)是一組泛型編程的模板類和函數,旨在提供常用的數據結構、算法和函數對象。STL 是 C 標準庫的一部分,極大地提高了編程效率和代碼的可重用性。STL …

onnx注冊cpu版flashattention

摘要 本教程展示了如何在 ONNX Runtime 中注冊一個 CPU 可執行的 FlashAttention 算子。首先,可以直接升級到 ONNX Runtime v1.16 及以上,以獲得內置的 FlashAttention CPU 實現citeturn0search2;其次,演示了如何通過 ONNX Runtime 的 Custom Op 接口自定義實現并注…

3D高斯個人筆記

入門blog,參考視頻1和參考視頻2 球諧函數 通俗介紹或通俗介紹,3D高斯就是利用球諧函數(SH函數)作為基函數,去求取三維空間中不同點的顏色。 SH函數作為基函數通常是表示不同角度下的距離,即三維球面點半徑&#xff…

電子處方模塊開發避坑指南:從互聯網醫院系統源碼實踐出發

今天,筆者將結合互聯網醫院系統源碼實踐,從技術架構、合規策略、業務流程到性能優化,為大家梳理一份電子處方模塊開發避坑指南,助力各類醫療平臺高效落地電子處方功能。 一、為何電子處方模塊是互聯網醫院的“重災區”&#xff1…

【RabbitMQ | 第2篇】RabbitMQ 控制臺實現消息路由 + 數據隔離

文章目錄 同步調用和異步調用MQRabbitMQ1. RabbitMQ控制臺實現交換機路由到隊列1.1 創建隊列1.2 將消息發送給交換機,是否會到達隊列 2. RabbitMQ控制臺實現數據隔離2.1 添加一個用戶2.2 創建新的虛擬主機 同步調用和異步調用 同步調用是指完成一個功能&#xff0c…

kubernetes》》k8s》》Heml

Heml 下載地址 安裝 curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash# helm 添加 倉庫 # helm repo add 倉庫名稱 倉庫地址 helm repo add stable http://mirror.azure.cn/kubernetes/charts/# 查看helm 倉庫列表 helm repo list # 結…

【專題刷題】二分查找(一):深度解刨二分思想和二分模板

📝前言說明: 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄,按專題劃分每題主要記錄:(1)本人解法 本人屎山代碼;(2)優質解法 優質代碼;&#xff…

鄉村治理數字化平臺:信息技術賦能鄉村振興的深度探索

在信息化技術飛速發展的背景下,數字化轉型已成為推動社會進步和治理現代化的關鍵力量。鄉村治理數字化平臺,作為信息技術在鄉村治理領域的深度應用,正逐步成為提升鄉村治理效能、推動鄉村振興的重要工具。本文將深入探討鄉村治理數字化平臺的…

PyQt6基礎_QTabWidget

目錄 代碼 運行 官方文檔 PySide6.QtWidgets.QTabWidget - Qt for Python 代碼 class TempWidget(QWidget):def __init__(self):super().__init__()self.tabs QTabWidget()self.tabs.tabBarClicked.connect(self.tabs_tabBarClicked)widget_tab1 QWidget()widget_tab2…

springboot在eclipse里面運行 run as 是Java Application還是 Maven

在 Eclipse 里運行 Spring Boot 項目時,既可以選擇以“Java Application”方式運行,也可以通過 Maven 命令來運行,下面為你詳細介紹這兩種方式及適用場景。 以“Java Application”方式運行 操作步驟 在項目中找到帶有 SpringBootApplicat…

怎樣記憶Precision、Recall?

首先,明確符號: TP(True Posive):標簽為正,預測為正 TN(True Negative):標簽為負,預測為負 FP(False Positive):標簽為負,預測為正 FN(False Negative):標簽為正&#xf…

【C語言】C語言動態內存管理

前言 在C語言編程中,內存管理一直是程序員需要重點關注的領域。動態內存管理更是如此,它不僅涉及到內存的靈活分配和釋放,還隱藏著許多潛在的陷阱。本文將從動態內存分配的基礎講起,逐步深入到常見的錯誤、經典筆試題分析&#x…