【滲透測試】NmapScanHelper 掃描輔助工具

目錄

  • NmapScanHelper 掃描輔助工具
    • 一、功能特性
    • 二、文件說明
    • 三、使用方法
      • 1. 安裝依賴
        • macOS
        • Ubuntu/Debian
        • CentOS/RHEL
      • 2. 配置網段
      • 3. 運行掃描
        • 基本用法
        • 常用端口掃描示例
        • 掃描模式
        • 特殊環境模式
        • 選擇性掃描
        • 自定義文件
      • 4. 查看結果
    • 四、掃描模式說明
      • 標準模式
      • 特殊環境模式
    • 五、支持的 Nmap 參數
    • 六、常用端口參考
    • 七、注意事項
    • 八、命令行參數說明
    • 示例輸出
      • 掃描 HTTP 端口(80)的結果示例:
      • 掃描 DNS 端口(53)的結果示例:

NmapScanHelper 掃描輔助工具

這是一個使用 Python3 編寫的 Nmap 端口掃描腳本,用于掃描指定網段的任意 TCP 和 UDP 端口。支持靈活的端口配置,可以掃描 DNS、HTTP、SSH、HTTPS 等各種服務端口。

倉庫鏈接: GITHUB LINK

(注:本工具集僅供學習參考,請勿用于非法用途)

一、功能特性

  • networks.txt 文件讀取網段信息
  • 支持掃描任意指定端口(TCP 和 UDP 協議)
  • 同時掃描 TCP 和 UDP 端口(支持 -sT-sU 參數)
  • 主機發現掃描(-sn 參數)
  • 檢測開放的服務端口
  • 將掃描結果保存為 CSV 格式
  • 動態生成輸出文件名(根據端口號)
  • 支持多個網段批量掃描
  • 多種掃描模式(隱蔽、快速、綜合等)
  • 特殊環境適配(防火墻繞過、靜默掃描等)
  • 靈活的命令行參數配置

二、文件說明

  • nmapScanHelper.py - 主掃描腳本(使用 python-nmap 庫)
  • config.py - 掃描配置文件
  • networks.txt - 網段配置文件(每行一個網段)
  • result_port_{port}.csv - 掃描結果輸出文件(根據端口號動態命名)
  • requirements.txt - Python 依賴包列表

三、使用方法

1. 安裝依賴

首先確保系統已安裝 Nmap:

macOS
brew install nmap
Ubuntu/Debian
sudo apt-get install nmap
CentOS/RHEL
sudo yum install nmap

然后安裝 Python 依賴包:

pip3 install -r requirements.txt
# 或者直接安裝
pip3 install python-nmap

2. 配置網段

編輯 networks.txt 文件,每行添加一個要掃描的網段:

192.168.1.0/24
10.0.0.0/24
172.16.0.0/24

3. 運行掃描

基本用法
# 默認掃描DNS端口(53)
python3 nmap_dns_scanner.py# 掃描指定端口
python3 nmap_dns_scanner.py --port 80# 查看幫助
python3 nmap_dns_scanner.py --help
常用端口掃描示例
# 掃描DNS端口
python3 nmap_dns_scanner.py --port 53# 掃描HTTP端口
python3 nmap_dns_scanner.py --port 80# 掃描HTTPS端口
python3 nmap_dns_scanner.py --port 443# 掃描SSH端口
python3 nmap_dns_scanner.py --port 22# 掃描FTP端口
python3 nmap_dns_scanner.py --port 21
掃描模式
# 隱蔽掃描模式(慢速,不易被發現)
python3 nmap_dns_scanner.py --port 80 --mode stealth# 快速掃描模式
python3 nmap_dns_scanner.py --port 443 --mode aggressive# 綜合掃描模式
python3 nmap_dns_scanner.py --port 22 --mode comprehensive
特殊環境模式
# 防火墻繞過模式
python3 nmap_dns_scanner.py --port 80 --special-env firewall_bypass# 快速掃描模式
python3 nmap_dns_scanner.py --port 443 --special-env fast_scan# 靜默掃描模式
python3 nmap_dns_scanner.py --port 22 --special-env quiet_scan
選擇性掃描
# 僅TCP掃描
python3 nmap_dns_scanner.py --port 80 --tcp-only# 僅UDP掃描
python3 nmap_dns_scanner.py --port 53 --udp-only# 跳過主機發現
python3 nmap_dns_scanner.py --port 443 --no-discovery
自定義文件
# 指定網段文件和輸出文件
python3 nmap_dns_scanner.py --port 8080 -f custom_networks.txt -o custom_results.csv# 使用默認輸出文件名(自動根據端口號命名)
python3 nmap_dns_scanner.py --port 3306  # 輸出到 result_port_3306.csv

4. 查看結果

掃描完成后,結果將保存在 result_port_{port}.csv 文件中,包含以下字段:

  • scan_time - 掃描時間
  • network - 掃描的網段
  • ip - 主機IP地址
  • port - 端口號(根據 --port 參數)
  • protocol - 協議類型(tcp/udp)
  • state - 端口狀態(open)
  • service - 服務名稱

四、掃描模式說明

標準模式

  • normal: 標準掃描模式(默認)
  • stealth: 隱蔽掃描模式,使用慢速時序(-T2
  • aggressive: 快速掃描模式,使用 TCP Connect 掃描(-sT
  • comprehensive: 綜合掃描模式,結合多種掃描技術

特殊環境模式

  • firewall_bypass: 防火墻繞過模式,使用 -Pn 參數
  • fast_scan: 快速掃描模式,使用高速率掃描
  • quiet_scan: 靜默掃描模式,使用分片和慢速掃描

五、支持的 Nmap 參數

  • -sT: TCP Connect 掃描
  • -sU: UDP 掃描
  • -sn: 主機發現掃描(Ping 掃描)
  • -sS: TCP SYN 掃描(默認)
  • -Pn: 跳過主機發現
  • -T0-T5: 時序模板
  • --open: 僅顯示開放端口

六、常用端口參考

端口服務協議說明
21FTPTCP文件傳輸協議
22SSHTCP安全外殼協議
23TelnetTCP遠程登錄協議
25SMTPTCP簡單郵件傳輸協議
53DNSTCP/UDP域名系統
80HTTPTCP超文本傳輸協議
110POP3TCP郵局協議版本3
143IMAPTCP互聯網消息訪問協議
443HTTPSTCP安全超文本傳輸協議
993IMAPSTCP安全 IMAP
995POP3STCP安全 POP3
3306MySQLTCPMySQL 數據庫
3389RDPTCP遠程桌面協議
5432PostgreSQLTCPPostgreSQL 數據庫
6379RedisTCPRedis 數據庫
8080HTTPTCP備用 HTTP 端口

七、注意事項

  • 運行此腳本需要適當的網絡權限
  • UDP 掃描可能需要較長時間
  • 某些防火墻可能會阻止掃描
  • 請確保在授權的網絡環境中使用此工具
  • 特殊環境模式適用于受限網絡環境
  • 建議先使用 stealth 模式進行測試
  • 端口掃描應僅在授權的網絡環境中進行
  • 不同端口的掃描時間可能差異很大

八、命令行參數說明

參數說明
-p, --port PORT要掃描的端口號(默認:53)
-m, --mode MODE掃描模式(normal/stealth/aggressive/comprehensive)
--special-env ENV特殊環境模式(firewall_bypass/fast_scan/quiet_scan)
--no-discovery跳過主機發現掃描
--no-tcp跳過 TCP 掃描
--no-udp跳過 UDP 掃描
--tcp-only僅進行 TCP 掃描
--udp-only僅進行 UDP 掃描
-f, --file FILE網段文件路徑(默認:networks.txt)
-o, --output FILE輸出文件路徑(默認:result_port_{port}.csv)
-v, --verbose詳細輸出

示例輸出

掃描 HTTP 端口(80)的結果示例:

scan_time,network,ip,port,protocol,state,service
2024-01-01 12:00:00,192.168.1.0/24,192.168.1.1,80,tcp,open,http
2024-01-01 12:00:00,192.168.1.0/24,192.168.1.10,80,tcp,open,http

掃描 DNS 端口(53)的結果示例:

scan_time,network,ip,port,protocol,state,service
2024-01-01 12:00:00,192.168.1.0/24,192.168.1.1,53,tcp,open,domain
2024-01-01 12:00:00,192.168.1.0/24,192.168.1.1,53,udp,open,domain

by 久違

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

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

相關文章

Python爬蟲入門到實戰(1)-requests庫

一.網絡爬蟲庫網絡爬蟲通俗來講就是使用代碼將HTML網頁的內容下載到本地的過程。爬取網頁主要是為了獲取網之間需要中的關鍵信息,例如網頁中的數據、圖片、視頻等。urllib庫:是Python自帶的標準庫,無須下載、安裝即可直接使用。urllib庫中包含大量的爬蟲…

深入理解設計模式之代理模式:原理、實現與應用

在軟件開發中,我們經常需要控制對某些對象的訪問——可能是為了延遲加載、添加額外功能或保護敏感資源。這正是代理模式大顯身手的地方。作為結構型設計模式的重要成員,代理模式在眾多知名框架和系統中扮演著關鍵角色。本文將全面剖析代理模式的方方面面…

VSCode - VSCode 快速跳轉標簽頁

VSCode 快速跳轉標簽頁 1、標簽頁列表快速跳轉 通過快捷鍵 Ctrl Tab 即可快速跳轉標簽頁 # 操作方式先按住 Ctrl 鍵,再按 Tab 鍵,此時,即可打開標簽頁列表(保持 Ctrl 鍵一直按住)然后,再按 Tab 鍵&#xf…

深入理解設計模式:享元模式(Flyweight Pattern)

在軟件開發中,我們經常會遇到需要創建大量相似對象的情況。如果每個對象都獨立存儲所有數據,將會消耗大量內存資源,導致系統性能下降。享元模式(Flyweight Pattern)正是為解決這一問題而生的經典設計模式。本文將深入探…

網絡大提速,RDMA,IB,iWrap

本章第一節介紹的存儲設備方面的創新解決了CPU訪問存儲設備的性能問題。但在實際的業務當中,數據的傳輸除了在節點內部的CPU與存儲設備間外,節點之間也存在數據傳輸的需求。本節我們就介紹在網絡傳輸方面是如何提速的。 在介紹新的網絡技術之前,我們看看傳統網絡是如何傳輸…

【C++】紅黑樹,“紅“與“黑”的較量

各位大佬好,我是落羽!一個堅持不斷學習進步的大學生。 如果您覺得我的文章有所幫助,歡迎多多互三分享交流,一起學習進步! 也歡迎關注我的blog主頁: 落羽的落羽 一、紅黑樹的概念與規則 紅黑樹是一種更加特殊的平衡二…

【愚公系列】《MIoT.VC》001-認識、安裝 MIoT.VC 軟件

??【行業認證權威頭銜】 ? 華為云天團核心成員:特約編輯/云享專家/開發者專家/產品云測專家 ? 開發者社區全滿貫:CSDN博客&商業化雙料專家/阿里云簽約作者/騰訊云內容共創官/掘金&亞馬遜&51CTO頂級博主 ? 技術生態共建先鋒:橫跨鴻蒙、云計算、AI等前沿領域…

git:tag標簽遠程管理

git tag v1:在當前所在分支創建標簽v1git tag -a v2 -m release version:創建一個帶有附注的標簽git tag -d v2:刪除本地標簽git tag:查看標簽git push origin 標簽1 標簽2……:把多個標簽推送到遠程git push origin -…

力扣 hot100 Day49

105. 從前序與中序遍歷序列構造二叉樹 給定兩個整數數組 preorder 和 inorder &#xff0c;其中 preorder 是二叉樹的先序遍歷&#xff0c; inorder 是同一棵樹的中序遍歷&#xff0c;請構造二叉樹并返回其根節點。 //抄的 class Solution { private:unordered_map<int, i…

jvm-sandbox-repeater 錄制和回放

https://github.com/alibaba/jvm-sandbox-repeater/blob/master/docs/user-guide-cn.md 快速錄制自己應用 step0 安裝sandbox和插件到應用服務器 curl -s https://github.com/alibaba/jvm-sandbox-repeater/releases/download/v1.0.0/install-repeater.sh | sh step1 修改repe…

【C++底層剖析】++a vs a++:到底誰是左值,誰是右值?

在 C 編程中&#xff0c;我們經常使用 a 和 a 來實現自增操作。乍一看它們只是“先加還是后加”的語法糖&#xff0c;但你真的理解它們的底層機制、返回值類型和左值右值屬性嗎&#xff1f;1. a 和 a 的基礎區別表達式名稱語義返回值類型左值 / 右值a前置自增先將 a 加 1&#…

【世紀龍科技】汽車故障診斷與排除仿真教學軟件讓課堂更高效安全

隨著汽車產業向智能化、電動化快速轉型&#xff0c;職業院校汽修專業的教學模式正面臨全新挑戰。傳統實車實訓存在成本高、風險大、場景單一等問題&#xff0c;而行業對人才的要求卻越來越高——既需要扎實的理論基礎&#xff0c;又必須具備熟練的故障診斷能力。如何在保證安全…

網絡基礎9:按流負載均衡實驗(等價路由)

實驗eNS拓撲圖&#xff1a;1. 網絡拓撲與 IP 配置AR5&#xff1a;GE0/0/0: 192.168.1.1/24&#xff08;連接 AR6&#xff09;GE0/0/1: 192.168.3.1/24&#xff08;連接 AR8&#xff09;Loopback0: 1.1.1.1/32&#xff08;源地址&#xff09;AR6&#xff1a;GE0/0/0: 192.168.1.…

4G模塊 A7680發送中文短信到手機

命令說明 基礎AT指令 ATi顯示產品的標志信息 ATCIMI查詢IMSI ATCICCID從SIM卡讀取ICCID ATCGSN查詢產品序列號 ATCPIN查詢卡狀態 ATCSQ查詢信號強度 ATCGATT查詢當前PS域狀態 ATCREG查詢GPRS注冊狀態 ATCEREG查詢4G注冊狀態 ATCGPADDR查詢PDP地址 ATCMGF選擇短信格式 ATCMGS發…

深度學習-線性神經網絡

文章目錄線性回歸基本概念隨機梯度下降矢量化加速正態分布和平方損失極大似然估計線性回歸實現從0開始**torch.no_grad()的兩種用途****為什么需要 l.sum().backward()&#xff1f;**調用現成庫softmax回歸圖像數據集從0開始實現softmax利用框架API實現課程學習自李牧老師B站的…

【王樹森推薦系統】推薦系統漲指標的方法04:多樣性

漲指標的方法有哪些&#xff1f; 改進召回模型&#xff0c;添加新的召回模型改進粗排和精排模型提升召回&#xff0c;粗排&#xff0c;精排的多樣性特殊對待新用戶嗎&#xff0c;低活用戶等特殊人群利用關注&#xff0c;轉發&#xff0c;評論這三種交互行為 排序的多樣性 精排多…

1. Spring AI概述

一、前言 Spring AI 是由 Spring 團隊推出的開源項目&#xff0c;旨在為 Java 開發者提供簡潔、一致的 Spring 風格開發體驗&#xff0c;用于構建基于生成式人工智能&#xff08;GenAI&#xff09;和大型語言模型&#xff08;LLM&#xff09;的應用程序。它通過標準化抽象層簡…

[每日隨題10] DP - 重鏈剖分 - 狀壓DP

整體概述 難度&#xff1a;1600 →\rightarrow→ 2200 →\rightarrow→ 2600 P6005 [USACO20JAN] Time is Mooney G 標簽&#xff1a;DP 前置知識&#xff1a;鏈式前向星 難度&#xff1a;綠 1600 題目描述&#xff1a; 輸入格式&#xff1a; 輸出格式&#xff1a; 樣例輸…

【Ubuntu22.04】repo安裝方法

背景 repo是Google開發的用于基于git管理Android版本庫的一個工具&#xff0c;管理多個Git倉庫的工具&#xff0c;它可以幫助您在一個代碼庫中管理多個Git倉庫的代碼。其在鴻蒙操作系統中大量使用。下面我們就介紹repo在wsl中的安裝部署。 安裝方法 使用中國科技大學資源 腳本i…

Vue3的definePros和defineEmits

在 Vue 3 中&#xff0c;defineProps 和 defineEmits 是組合式 API 中用于定義組件的 props 和 事件 的方法&#xff0c;提供了一種更簡潔和明確的方式來管理組件的輸入和輸出。它們屬于 Composition API 的一部分&#xff0c;在 Vue 2 中通常使用 props 和 $emit 來實現。1. d…