端口扫描工具 Nmap(一)

article/2025/9/21 20:58:51

端口扫描在百度百科上的定义是:

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献,是你学习网络安全的第一门课程的首选

目前在市面上主要的端口扫描工具是X_Scan、SuperScan、nmap,其中在这里主推的是nmap,因为nmap具有以下的这一些优点:

1、多种多样的参数,丰富的脚本库,满足用户的个人定制需求,其中脚本库还提供了很多强大的功能任你选择

2、强大的可移植性,基本上能在所有的主流系统上运行,而且代码是开源的

3、详细的文档说明,和强大的社区团队进行支持,方面新人上手

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,但是nmap也是有一些缺点的,比如说上手较难,但是难上手是相对的,与其他达到这种功能性的软件产品相比,还是比较容易上手的,但是这也不妨碍nmap成为世界千万安全专家列为必备的工具之一,在其中的一些影视作品中《黑客帝国2》、《特警判官》中都有亮相

废话不多说,开始今天的nmap学习:

nmap的安装:直接从百度上下载,然后安装的步骤跟其他的软件一样,最后确认安装成功只需要在命令行中输入nmap回车,有相关的参数输出即为安装成功,安装的具体步骤可以查看:http://jingyan.baidu.com/article/5bbb5a1b1e0a7713eba179cb.html,在此就不多说了

Nmap包含四项基本功能:

  1. 主机发现(Host Discovery)
  2. 端口扫描(Port Scanning)
  3. 版本侦测(Version Detection)
  4. 操作系统侦测(Operating System Detection)

下面就从主机发现一步一步进行探讨

主机发现顾名思义就是发现所要扫描的主机是否是正在运行的状态,接下来就来一个简单例子

例子要求:获取http://nmap.org 的主机是否开启

输入命令:nmap -F -sT -v nmap.org

-F:扫描100个最有可能开放的端口   -v 获取扫描的信息   -sT:采用的是TCP扫描 不写也是可以的,默认采用的就是TCP扫描

运行如下:

由图中的1,我们可以发现对URL进行解析花了16.5秒,这个地方花费的时间是可以进行优化的,优化的方法会稍后介绍

图中的2,是总共的运行时间

图中的3是说明有96个端口被屏蔽了,也就是说明了网站的防火墙是开启的,因为没有开启防火墙是不会对端口进行屏蔽的,

补充说明:

端口端口一般是有下面这几种状态的

状态详细的参数说明
 Open 端口开启,数据有到达主机,有程序在端口上监控
 Closed 端口关闭,数据有到达主机,没有程序在端口上监控
 Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
 UnFiltered 数据有到达主机,但是不能识别端口的当前状态
 Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中

 Closed|Filtered

 只发生在IP ID idle扫描

 

 

 

 

 

 

 

 

 

 

 

 

图中的4是本次返回的关键信息,其中我们要主要关注的是端口号,端口状态,端口上的服务

那你可能就会要问为什么要关注这些端口呢?那这个问题就要转到探讨为什么要进行扫描?

扫描对于黑客和安全人员来说,主要的流程是这样的

上面的图中的IP写错了,应该改为FTP

从这个图中我们不难发现,我们主要关注的区域就是这些内容

接下来就来讨论下面上面提出来的问题?怎样对URL解析的时间进行优化,在Nmap重提供了不进行解析的参数(-n),这样就不会对域名进行解析了

其中关于域名解析的相关参数还有:

-R 为所有的目标主机进行解析

--system-dns 使用系统域名解析器进行解析,这个解析起来会比较慢

--dns-server 服务器选择DNS解析

说到-R注释的意思你会有所体会,其实nmap的扫描解析不止是对一个目标主机进行解析,还可以对一定范围内的目标主机群进行解析

例如:查找45.33.49.119-120的主机的状态以及端口状态

分析:

1、虽然查找的主机的数量不多,但是这样查找起来也是很浪费时间的, 所有我们可以通过使用快速查找的方法来节约时间

快速查找端口方法的原理如下:

默认的情况下,我们的查找是查找最有可能开放的1000端口,但是使用快速端口查找(参数 -F )会查找最有可能开放的100个端口,这样也就节约了10倍的时间

 2、这里我们需要获取端口的状态,所以就不能使用参数(-sn),这个参数是可以跳过端口扫描,直接进行主机发现的

输入命令:nmap -F -sT -v -n 45.33.49.119-120      45.33.49.119:nmap.org的IP地址

PS:1、-sn参数只能扫描的主机,不能扫描端口,另一个参数也要特别注意的是(-PE)通过ICMP echo判定主机是否存活

运行情况如下:

图片中的1处指的是,采用sT的扫描方法,这种扫描方法准确,速度快,但是这样的扫描容易被防火墙和IDS发现并记录,所以这种方法,实际中并不多用

由图中的3处我们可以知道在不进行解析的情况下扫描用时为26.92秒,比解析的时候用的时间节约了不少

图中的4说明了扫描了2个主机,然后只有一个主机为开启

 提示:

在nmap运行的时候,如果我们可以像其他编程一样打“断点”,直接按键盘的d键就行了,如果想知道运行的进度可以按下X键

好了,示例也讲完了,下面我们就来分析一下扫描的各种方法:

端口扫描

1、TCP扫描(-sT)

这是一种最为普通的扫描方法,这种扫描方法的特点是:扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现

运行的原理:通过建立TCP的三次握手连接来进行信息的传递

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

 2、SYN扫描(-sS)

这是一种秘密的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限)

运行的原理图如下:

3、NULL扫描

NULL扫描是一种反向的扫描方法,通过发送一个没有任何标志位的数据包给服务器,然后等待服务器的返回内容。这种扫描的方法比前面提及的扫描方法要隐蔽很多,但是这种方法的准确度也是较低的, 主要的用途是用来判断操作系统是否为windows,因为windows不遵守RFC 793标准,不论端口是开启还是关闭的都返回RST包

但是虽然NULL具有这样的一些用处,但是本人却认为不宜使用NULL

1、NULL方法的精确度不高,端口的状态返回的不是很准确

2、要获取目标主机的运行系统,可以使用参数(-O),来获取对于一些操作系统无法准确判断的,可以加上参数(-osscan-guess)

3、NULL扫描易被过滤

4、FIN扫描

FIN扫描的原理与NULL扫描的原理基本上是一样的在这里就不重复了

5、ACK扫描

ACK扫描的原理是发送一个ACK包给目标主机,不论目标主机的端口是否开启,都会返回相应的RST包,通过判断RST包中的TTL来判断端口是否开启

运行原理图:

TTL值小于64端口开启,大于64端口关闭

大致上主要的扫描方法就是这些,除了我们可以按照这样些参数去执行扫描外,还可以自己定义一个TCP扫描包

6、自定义TCP扫描包的参数为(--scanflags)

例如:定制一个包含ACK扫描和SYN扫描的安装包

命令:nmap --scanflags ACKSYN nmap.org

 好了,接下来还有各种扫描方法的端口列表参数

-PS 端口列表用,隔开[tcp80 syn 扫描]
-PA 端口列表用,隔开[ack扫描](PS+PA测试状态包过滤防火墙【非状态的PA可以过】)【默认扫描端口1-1024】
-PU 端口列表用,隔开[udp高端口扫描 穿越只过滤tcp的防火墙]

其他的常见命令

输出命令

-oN 文件名 输出普通文件

-oX 文件名 输出xml文件

错误调试:

--log-errors 输出错误日志

--packet-trace 获取从当前主机到目标主机的所有节点

其他的相关参数可以参考:http://www.2cto.com/Article/201203/125686.html 到时候需要再进行查找

相关资料:

http://www.tuicool.com/articles/ZBvmYrN

http://www.2cto.com/Article/201203/125686.html


http://chatgpt.dhexx.cn/article/UQ4FQdSE.shtml

相关文章

高级端口扫描工具

高级端口扫描程序可查看哪些服务在哪个端口上运行、开放端口数量、连接的交换机,并帮助保护网络免受未经授权的访问。作为网络管理员,扫描网络中的开放端口、这些端口已连接到的交换机以及在其上运行的服务,并将已知服务与已识别的服务与高级…

网络端口扫描器.扫描开放端口.TCP/UDP的Socket通信.支持IP地址网段范围的批量扫描.支持多线程操作,提高扫描效率

网络端口扫描器.扫描开放端口 本工具可以扫描一个指定IP的1~65535端口是否开放了TCP/UDP的Socket通信。 特点: 支持TCP/UDP的Socket通信;支持IP地址网段范围的批量扫描;支持多线程操作,提高扫描效率; 下载地址&…

在线端口检测 - 端口扫描 - 端口开放检查

如何扫描服务器开放端口?一刀工具箱提供在线检测、扫描域名或者 ip 的端口是否开放。 代码片段 static function getFromLocalIpPort($domain){$ports [21,22,23,25,53,69,80,110,161,443,1433,1521,1863,3306,3389,5631,5632,5000,7001,8080,1080];$out_da…

在 Linux 环境下,我用了这款端口扫描工具~

点击上方“杰哥的IT之旅”,选择“置顶公众号” 干货、福利第一时间送达! 为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定…

信息收集之 端口扫描

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《网络安全快速入门》 为什么要扫描端口? 知道主机开放了哪些端口,就可以…

端口扫描工具NMAP(个人总结)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、扫描类型主机发现扫描技巧指定端口和扫描顺序服务版本识别脚本扫描OS识别 二、端口状态类型常见类型演示默认方式nmap [靶机]全面扫描:nmap -A …

Mac端口扫描工具

端口扫描工具 Mac内置了一个网络工具 网络使用工具 按住 Command 空格 然后搜索 “网络实用工具” 或 “Network Utility” 即可 域名/ip转换Lookup ping功能 端口扫描 https://zhhll.icu/2022/Mac/端口扫描工具/ 本文由 mdnice 多平台发布

工具开发——端口开放扫描

0x00 前言 使用Python对目标主机开放的TCP端口进行多线程扫描,编程思路: 1、定义portscan函数,创建socke对象,进行TCP端口扫描 2、启动多线程运行PortScan函数 3、记录并输出扫描结果与时间 0x01 运行原理 基于TCP连接建立时的三次握手来判断目标端口是否开启: 0x02 创建…

1.3端口扫描:利用Nmap工具进行端口扫描

1、预备知识:Nmap介绍 nmap的功能:端口扫描、主机发现、服务/版本识别、操作系统识别、网络路由跟踪、Nmap脚本引擎; nmap的扫描方式:Half-open scanning,默认扫描方式;TCP connect;TCP ACK sca…

【端口扫描工具】mascan核心使用

目录 端口扫描masscan: 1.1、基础: 1.2、单端口扫描: 1.3、多端口扫描 1.4、扫描一系列端口 1.5、快速扫描 1.6、排除目标 1.7、保存结果 1.8、其他命令: 端口扫描masscan: 1.1、基础: A类子网掩码…

端口扫描介绍

文章目录 1、端口的基本概念2、端口的常见分类3、端口扫描原理 1、端口的基本概念 “端口” 在计算机网络领域中是个非常重要的概念它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软端口”端口是由计算机的…

御剑高速TCP端口扫描工具

鉴于CSDN平台想恰钱想疯了,连下载个软件也要付费/VIP 那我在这里就无私贡献出珍藏的——御剑高速TCP端口扫描工具 网址:百度网盘 请输入提取码 提取码:7fk6

常用端口扫描及漏洞扫描工具

端口扫描工具NMAP nmap工具开源的网络嗅探安全审核工具,快速扫描大型网络 包含的功能如下: 主机探测端口扫描服务版本扫描主机系统指纹识别密码破解漏洞探测创建扫描脚本 主机探测常用命令 扫描单个主机:nmap 192.168.1.2扫描整个子网,命…

网络端口和端口扫描简介

端口扫描是每个网络管理员日常网络任务列表中不可或缺的一部分。它提供有关您的网络如何连接、访问和使用的见解。它可以帮助您了解您的网络基础设施并增强您的网络安全性。从映射连接的设备到列出在主机中运行的服务,端口扫描器可以帮助您更好地管理您的网络基础设…

Portscan一款局域网端口扫描器

Portscan是一款局域网端口扫描器,可以用于扫描目的主机的开放端口,并猜测目的主机的操作系统,支持Edge、Wi-Fi和3G网络。打开PortScan软件后默认会帮你填好超始IP及端口号,结束IP可以自已根据需求填写好,然后扫描即可。…

端口扫描工具 NMAP

免费福利 前言 为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全; 那么&…

一款强大的端口扫描工具(nmap)

一款强大的端口扫描工具(nmap) 文章目录 一款强大的端口扫描工具(nmap)前言一、Nmap 使用技巧汇总一、主机发现二、端口扫描三、指纹识别与探测四、伺机而动五、防火墙/IDS逃逸六、信息收集七、数据库渗透测试八、渗透测试九、Zen…

端口扫描工具 NMAP使用详解,收藏这一篇就够了

前言 为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全; 那么,今…

常见端口扫描工具

下载地址 链接:https://pan.baidu.com/s/1oh97xmoPGgrgCoyufQDe5Q 提取码:btq0 复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V3的分享 1、Advanced Port Scanner,windows版本 对网络设备进行快速扫…

端口扫描工具终极用法

了解更多:端口扫描工具终极用法 | 至察助安 - 网络安全干货博客 为什么要做c段探测,运营商分配给IDC机房地址时大部分都是连续IP地址,租给客户(渗透目标)时很大概率会分配同C段内IP地址(除非目标就一个IP地…