目录

  • 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…