极客之眼 Nmap:窥探世界的第一步

news2024/11/25 16:49:42

文章目录

  • 参考
  • 描述
  • Nmap
      • 极客之眼
      • Nmap 与黑客的缠绵往事
      • CIDR
      • Nmap 的获取
          • 检测 Nmap 是否已经安装
          • 下载并安装 Nmap
            • Linux
            • MacOS 与 WIndows
  • 区域扫描
      • 基本扫描
          • 扫描结果解析
          • 域名解析服务
      • 区域扫描
          • CIDR
          • 列表扫描
            • 正向 DNS 查询与反向 DNS 查询
            • 列表扫描
            • 拒绝反向 DNS 查询
          • 主机名与 CIDR
          • IP 地址段
            • 笛卡尔积
            • 大满贯
  • 目标来源
      • 文件
      • 随机
  • 筛选
      • --exclude
      • 文件
  • 跟踪
      • 路由跟踪
      • 数据包跟踪

参考

项目描述
搜索引擎Google 、Bing
Nmap 官方Nmap Reference Guide
从实践中学习 Nmap 渗透测试大学霸 IT 达人

描述

项目描述
Linux 操作系统Kali-Linux(x86-64)
Nmap7.93

Nmap

极客之眼

Nmap(Network Mapper)一个免费的开源网络扫描工具,它可以用来探测主机和端口,以及执行漏洞扫描和安全审计。Nmap可以扫描单个主机或整个网络段,识别目标主机的操作系统、应用程序和服务,确定网络拓扑,并生成可视化的拓扑图和报告。Nmap 可在所有主要计算机操作系统上运行,并且提供控制台和图形版本。

Nmap 具有许多高级功能,包括对不同类型的扫描技术和扫描策略的支持,以及对大规模网络和高速网络的扫描性能的优化。Nmap 还支持自定义脚本,可以扩展其功能以满足不同的需求。

Nmap 在安全审计、渗透测试、网络管理和漏洞研究等领域广泛应用。由于其广泛的功能和开放源代码的特点,Nmap 已经成为网络安全领域中最受欢迎和使用的工具之一

Nmap 与黑客的缠绵往事

Nmap 常常出现在一些与计算机黑客相关的电影和电视剧中,包括但不限于:

  1. 电影《银翼杀手2049》(Blade Runner 2049,2017),其中一个角色使用 Nmap 进行网络扫描。

  2. 《黑客帝国》(The Matrix,1999年):Nmap在该电影中被用于侦察目标网络。

  3. 《黑客帝国2:重装上阵》(The Matrix Reloaded,2003年):Nmap 在该电影中被用于扫描一个虚拟网络。

  4. 《黑客帝国3:矩阵革命》(The Matrix Revolutions,2003年):Nmap 在该电影中再次出现,被用于侦察和攻击目标网络。

这些作品中出现 Nmap 的场景都与黑客或计算机安全相关,显示了 Nmap 在网络安全领域中的重要性和广泛应用。

CIDR

CIDR(Classless Inter-Domain Routing,无类别域间路由) 是一种用于分配 IP 地址的标准方法,与传统的 IP 地址分配方式相比,它 可以更有效地利用IP地址空间
在传统的IP地址分配方式中,IP 地址被分为 A、B、C、D、E 五类。每个类别的地址有不同的前缀位数,用于标识网络地址和主机地址。但是这种分配方式存在一些缺陷,如在分配 IP 地址时浪费了许多地址空间,并且不灵活,无法适应网络地址的快速增长。
为了克服这些缺陷,CIDR 被引入。CIDR 不再按照传统的IP地址分类,而是采用更加灵活的前缀长度来标识网络地址和主机地址。 CIDR通过允许网络管理员将不同的IP地址合并为一个更大的地址块,从而更有效地利用IP地址空间。CIDR还允许网络管理员按需分配地址,而无需受到传统IP地址分配方式的限制。
CIDR的出现解决了传统IP地址分配方式的许多问题,成为现代网络中IP地址分配的主流方式。

CIDR 的灵活高效

假设 有一个组织需要为其内部网络分配 IP 地址,其网络规模为 1000 个主机。在传统的 IP 地址分配方式中,该组织可以选择使用一个 B 类地址,其中网络地址占 16 位,主机地址占 16 位,总共有 65536 个地址,因此浪费了大量的地址空间。
而使用 CIDR,则可以选择一个 /22 前缀长度的地址块,其中网络地址占 22 位,主机地址占 10 位,总共有 1024个 地址。这样就不仅可以满足该组织的需要,而且可以更有效地利用IP地址空间,减少浪费。
另外,如果该组织的网络规模在未来增长到 2000个 主机,可以轻松地使用一个 /21 前缀长度的地址块来扩展网络,而无需更改现有的网络拓扑结构。
因此,CIDR 相比传统 IP 地址分配方式的优点在于更加灵活和高效,可以更好地适应网络规模和需求的变化。

Nmap 的获取

检测 Nmap 是否已经安装

获取 Nmap 的第一步是检查您是否已经拥有它。许多免费操作系统发行版(包括大多数 Linux 和 BSD 系统)都带有 Nmap 包,尽管它们可能没有默认安装。在 Unix 系统上,打开一个终端窗口并尝试执行如下命令:

nmap --version

如果 Nmap 存在并且在你的 PATH(环境变量), 您应该会看到类似于如下内容的输出。

Nmap version 7.93 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.6 openssl-3.0.8 libssh2-1.10.0 libz-1.2.13 libpcre-8.39 nmap-libpcap-1.7.3 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select
下载并安装 Nmap
Linux

如果你使用的是 Linux 系统,那么你可能可以通过软件包工具直接对 Nmap 进行下载安装。例如,在 Kali Linux 中,你可以使用如下命令来对 Nmap 进行下载安装:

apt install nmap

如果软件包工具找不到 Nmap 也不要灰心,你可以前往 Nmap 官网 进行下载。

注:

在 Nmap 官网进行软件包下载是,你可能看到的都是 rpm 格式 的软件包,这些软件包无法在基于 Debian 的 Linux 系统中直接安装。但你可以通过在控制台中执行如下命令将 rpm 格式 的软件包转化为 deb 格式的软件包。

sudo alien <Nmap 的 rpm 格式的软件包>
MacOS 与 WIndows

前往 Nmap 官网 进行 Nmap 软件包的下载并将其存放路径放置于环境变量中即可。

Nmap 官网中提供了更多的安装方法,如果上述内容无法满足您的需求,请前往 Nmap 官网中查询,此处就不再赘述了。

区域扫描

Nmap 是一个流行的网络扫描器,可以用来探测目标网络中的开放端口、操作系统类型、服务信息等。Nmap具有强大的功能和灵活性,可以通过各种选项和参数来配置扫描。

扫描目标通常是指在网络上寻找目标主机的 IP 地址和端口号,以了解网络的安全状态和漏洞。扫描目标可以是单个 IP 地址、IP 地址范围、CIDR 地址块、主机名或 URL 等。在扫描之前,需要先确定目标的范围和扫描的目的,以避免对网络造成不必要的干扰或风险。

需要注意的是,未经授权的扫描可能会触犯法律或违反道德规范,因此在进行扫描时应当获得合法授权,并遵守相关的法律法规和道德准则。同时,也应当尽可能保护自己的安全和隐私,避免将扫描结果泄露给未授权的人员或组织。

基本扫描

在终端中输入 nmap [目标IP地址] 来进行基本的主机扫描。例如,扫描192.168.1.1 主机,可以输入命令 nmap 192.168.1.1。如果想要扫描整个局域网内的主机,可以使用 nmap 192.168.1.0/24 命令,其中 /24 表示子网掩码。

举个栗子

执行如下命令以扫描 IP 地址为 172.17.48.10 的主机。

nmap 172.17.48.10

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 09:57 CST
Nmap scan report for localhost (172.17.48.10)
Host is up (0.0000060s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
扫描结果解析

CST

CST(中国标准时间)是 China Standard Time 的缩写,指的是 UTC+8 时区,也就是 北京时间。它包括中国大陆、台湾、香港、澳门等地区的时间。

Nmap scan report for localhost (172.17.48.10)

指明扫描结果的来源,localhost 为目标计算机的名称,而 localhost 通常指本机的名称。172.17.48.10 为目标计算机的 IP 地址。

Host is up (0.0000060s latency).

Host is up 表示扫描的目标主机处于活动状态,即可访问和响应。而0.0000060s latency 则是指从扫描主机(即运行 Nmap 的计算机)到目标主机的 往返时延,也称为“延迟”或“延迟时间”。

Not shown: 998 closed tcp ports (reset)

  1. reset
    TCP Reset 是 TCP 协议中的一种标准控制消息,用于中止 TCP 连接或通知对方主机某些异常情况。 在扫描期间,Nmap通常会发送三种不同类型的TCP包来识别目标主机上的端口状态:SYN(同步)包、ACK(确认)包和 RST(重置)包。其中,SYN 包用于发起 TCP连接,ACK 包用于确认 TCP 连接,而 RST 包则用于重置TCP连接或表示某个端口不可用。在这个例子中,由于目标主机关闭了 998 个TCP端口,因此 Nmap 在扫描期间会收到 998 个 RST 包作为响应。

  2. Not shown
    其中的“Not shown”表示Nmap没有显示所有的端口扫描结果。在这个例子中,“Not shown: 998 closed tcp ports (reset)”表示在扫描期间发现了998个关闭的TCP端口,但这些端口并没有在扫描结果中显示。

PORT STATE SERVICE

其中的 PORT 列显示扫描到的端口号,而 STATE 列则显示相应端口的状态。在这个例子中,22/tcp80/tcp 分别是两个开放的端口,其状态为 open。而 open 表示该端口处于开放状态,即目标主机正在运行该端口对应的服务或应用程序,并能够响应连接请求。

SERVICE 列则显示与相应端口关联的服务或应用程序的名称,这有助于识别目标主机上正在运行的服务和应用程序。在这个例子中,22/tcp 对应的服务是 SSH(Secure Shell),而 80/tcp 对应的服务是 HTTP(Hypertext Transfer Protocol)

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

这是 Nmap 扫描的最后一行输出结果,它表示扫描已经完成,并提供了以下信息:

  • 扫描了 1 个IP地址,即目标主机的 IP 地址。
  • 扫描期间检测到 1 个主机处于活动状态,即 目标主机是活跃的,能够响应 Nmap 的请求。
  • 整个扫描过程 耗时 0.23 秒,即 Nmap 在 0.23 秒内完成了对目标主机的扫描。
域名解析服务

Nmap 的目标除了可以使用 IP 地址来进行标识,还可以通过使用目标主机的域名来进行指定。Nmap 将使用 DNS(域名解析服务)服务解析域名以获取目标主机所处的 IP 地址,并对该 IP 地址所对应的主机进行扫描。对此,请参考如下示例:

nmap www.baidu.com

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 11:53 CST
Nmap scan report for www.baidu.com (112.80.248.76)
Host is up (0.038s latency).
Other addresses for www.baidu.com (not scanned): 112.80.248.75
Not shown: 998 filtered tcp ports (no-response)
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 5.51 seconds

区域扫描

在使用 Nmap 对目标进行扫描时,可以一次性指定多个目标来进行扫描,要求是这些目标需要以空格隔开。对此,请参考如下示例:

nmap 192.168.0.1 192.168.43.1 172.17.48.22

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 18:37 CST
Nmap scan report for 192.168.43.1
Host is up (0.0099s latency).
Not shown: 999 closed tcp ports (reset)
PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 3 IP addresses (1 host up) scanned in 3.11 seconds

指定多个目标来进行扫描,仅仅在目标较少的情况是可行的。但不必担心,因为 Nmap 早已经为你担心过了。
Nmap 可以进行区域扫描,也就是指定一个或多个 IP 地址范围来进行扫描。

CIDR

你可以通过向 Nmap 提供一个使用 CIDR 来表示的 IP 地址范围来实现区域扫描。对此,请参考如下示例:

扫描 IP 地址范围 192.168.43.0 ~ 192.168.43.255 中的主机

nmap 192.168.43.0/24

执行结果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 12:02 CST
Nmap scan report for 192.168.43.1
Host is up (0.0054s latency).
Not shown: 999 closed tcp ports (reset)
PORT   STATE SERVICE
53/tcp open  domain

Nmap scan report for TwoMoons (192.168.43.12)
Host is up (0.0015s latency).
Not shown: 994 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1688/tcp open  nsjtp-data
2179/tcp open  vmrdp

Nmap done: 256 IP addresses (2 hosts up) scanned in 6.56 seconds

扫描结果表明该次扫描总共花费时间 6.56 秒,扫描了 256 个 IP 地址,其中有 2 个主机处于活动状态。
第一个 IP 地址为 192.168.43.1,扫描结果显示该主机仅开放了用于提供 DNS 服务的 53 号端口。 第二个 IP 地址是 192.168.43.12,扫描结果显示它开放了提供 SSH、MSRPC、NetBIOS-SSN、Microsoft-DS、NSJTP-Data、VMRDP 等服务的多个端口。

列表扫描
正向 DNS 查询与反向 DNS 查询

DNS(Domain Name System) 是互联网上用于解析域名和 IP 地址 之间关系的协议。正向 DNS 查询是将域名解析为 IP 地址,而反向 DNS 查询则是将 IP 地址解析为域名。

正向 DNS 查询是常见的 DNS 查询类型。它将域名作为输入,然后查询 DNS 服务器以获取该域名对应的 IP 地址。例如,当用户在 Web 浏览器中输入网站的域名时,Web 浏览器将首先发出 DNS 查询以获取该域名的IP地址,然后将 IP 地址用于与 Web 服务器建立连接。

反向 DNS 查询是一种相对不常见的 DNS 查询类型。它将 IP 地址作为输入,然后查询 DNS 服务器以获取该IP地址对应的域名。反向 DNS 查询通常用于安全和网络管理目的。例如,当管理员需要确定哪个主机使用了特定的 IP 地址时,可以进行反向 DNS 查询以获取该 IP 地址的主机名。

列表扫描

列表扫描(List Scan) 是主机发现的一种退化形式,它只是简单地枚举指定网络(IP 地址范围)中每个主机的 IP 地址,并不发送任何数据包来探测主机的存活状态。 在默认情况下,Nmap仍会进行 反向 DNS 解析 来获取主机的名称,这有助于更好地了解网络拓扑和标识主机的身份。

举个栗子

nmap -sL 127.0.0.0/28

执行效果

执行该命令后,Nmap 将列出指定网络中的所有的 IP 地址并对这些 IP 地址进行反向 DNS 查询。

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 17:28 CST
Nmap scan report for 127.0.0.0
Nmap scan report for localhost (127.0.0.1)
Nmap scan report for 127.0.0.2
Nmap scan report for 127.0.0.3
Nmap scan report for 127.0.0.4
Nmap scan report for 127.0.0.5
Nmap scan report for 127.0.0.6
Nmap scan report for 127.0.0.7
Nmap scan report for 127.0.0.8
Nmap scan report for 127.0.0.9
Nmap scan report for 127.0.0.10
Nmap scan report for 127.0.0.11
Nmap scan report for 127.0.0.12
Nmap scan report for 127.0.0.13
Nmap scan report for 127.0.0.14
Nmap scan report for 127.0.0.15
Nmap done: 16 IP addresses (0 hosts up) scanned in 2.57 seconds

除了可以确保目标具有正确的 IP 地址外,列表扫描还可以用作健全性检查的一种方式,以确保目标网络中没有未知的主机。如果发现不认识的主机名或 IP 地址,可能需要进一步调查以避免扫描错误的公司网络。

拒绝反向 DNS 查询

反向 DNS 查询需要耗费时间,在指定网络中存在大量主机时,耗费的时间会变得十分明显。
在某些情况下,我们仅需要列出指定网络中所有的 IP 地址而不必对这些 IP 地址进行反向 DNS 查询。在这类情况下,我们可以使用 -n 选项来拒绝列表扫描这一默认行为(反向 DNS 查询)。对此,请参考如下示例:

nmap -sL -n 127.0.0.0/28

执行效果

由于没有对指定网络中的每一个 IP 地址进行反向 DNS 查询,执行上述命令后便立刻得到了输出。

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 17:27 CST
Nmap scan report for 127.0.0.0
Nmap scan report for 127.0.0.1
Nmap scan report for 127.0.0.2
Nmap scan report for 127.0.0.3
Nmap scan report for 127.0.0.4
Nmap scan report for 127.0.0.5
Nmap scan report for 127.0.0.6
Nmap scan report for 127.0.0.7
Nmap scan report for 127.0.0.8
Nmap scan report for 127.0.0.9
Nmap scan report for 127.0.0.10
Nmap scan report for 127.0.0.11
Nmap scan report for 127.0.0.12
Nmap scan report for 127.0.0.13
Nmap scan report for 127.0.0.14
Nmap scan report for 127.0.0.15
Nmap done: 16 IP addresses (0 hosts up) scanned in 0.00 seconds
主机名与 CIDR

Nmap 还支持使用 主机名CIDR 搭配一同描述需要被扫描的目标主机。对此,请参考如下示例:

nmap -sL -n www.baidu.com/30

扫描结果

由 CIDR 指定的网络位为 30 bit,故主机位有 2 bit(IPv4 使用 32 bit 来表示 IP 地址),可以表示该网络中的四台(由 2 2 2^2 22 的计算结果得出)不同的主机 IP。因此本次扫描的目标为包含 www.baidu.com (112.80.248.76) 在内的四台主机。

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 16:38 CST
Nmap scan report for www.baidu.com (112.80.248.76)
Other addresses for www.baidu.com (not scanned): 112.80.248.75
Nmap scan report for 112.80.248.77
Nmap scan report for 112.80.248.78
Nmap scan report for 112.80.248.79
Nmap done: 4 IP addresses (0 hosts up) scanned in 0.07 seconds
IP 地址段

在使用 Nmap 的过程中,你还可以通过 IP 地址段的方式向 Nmap 指定需要被扫描的 IP 范围。通过 IP 地址段,你将能够以相比 CIDR 更灵活精确的方式指定目标主机。你可以通过如下示例理解 IP 地址段(在 IP 地址段中,使用符号 - 来规定范围)。

nmap -sL 192.168.43.150-155

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 17:32 CST
Nmap scan report for 192.168.43.150
Nmap scan report for 192.168.43.151
Nmap scan report for 192.168.43.152
Nmap scan report for 192.168.43.153
Nmap scan report for 192.168.43.154
Nmap scan report for 192.168.43.155
Nmap done: 6 IP addresses (0 hosts up) scanned in 0.07 seconds
笛卡尔积

不单单能够对 IP 地址中的单个字节使用 - 符号来确定其范围,你还可以在多个字节中使用该符号。扫描的目标对象将以多个小范围之间的笛卡尔积的形式存在。对此,请参考如下示例:

nmap -sL 192-193.168.43.150-155

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 17:33 CST
Nmap scan report for 192.168.43.150
Nmap scan report for 192.168.43.151
Nmap scan report for 192.168.43.152
Nmap scan report for 192.168.43.153
Nmap scan report for 192.168.43.154
Nmap scan report for 192.168.43.155
Nmap scan report for 193.168.43.150
Nmap scan report for 193.168.43.151
Nmap scan report for 193.168.43.152
Nmap scan report for 193.168.43.153
Nmap scan report for 193.168.43.154
Nmap scan report for 193.168.43.155
Nmap done: 12 IP addresses (0 hosts up) scanned in 0.08 seconds
大满贯

在使用 - 指定主机范围的过程中,你可以在 IP 地址中的单个字节部分直接使用 - 来表示 0~255 的范围。使用

nmap -sL -n 0-255.-.-.-

你将得到 IP 协议所支持的所有有效的 IP 地址。你可能会好奇,为什么不是使用 nmap -sL -n 0-255.-.-.- 而不是 nmap -sL -n -.-.-.-。这是由于 Linux 将 - 开头的字符视为命令的选项,使用 nmap -sL -n -.-.-.- 会导致 -.-.-.- 被认为是选项而不是值而导致错误。

注:

nmap -sL -n 0-255.-.-.-

还可以被替换为

nmap -sL -n *

nmap -sL -n *.*.*.*

它们都可以正常的工作并得到你希望的结果。事实上,在 Nmap 指定目标的过程中,如果需要指定单个或多个的小范围(IPv4 中的单个字节)为 0~255,那么符号 * 与 符号 - 两者在大多数情况下是可替换的

目标来源

文件

目标主机的可以来自于命令中,也可以来自于文件中。您可以使用 Nmap 的 -iL 选项 从文件中读取主机列表。主机列表文件可以包含您想要扫描的任何主机,可以用来标识主机的格式包括 IP 地址、主机名、CIDR、或 IP 地址段每个主机必须由一个或多个空格、制表符或换行符分隔。

输入文件可以包含以 # 开头的注释,这些注释将被忽略,不会影响到 Nmap 的正常工作。

举个栗子

存放主机列表的文件 target.txt 中的内容

# TwoMoons
172.17.48.1   www.baidu.com
# RedHeart
192.168.43.9-13
# Binary Moon
www.bing.com/30
# Hello  World

执行命令

nmap -n -sL -iL ./target.txt

扫描结果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 19:05 CST
Nmap scan report for 172.17.48.1
Nmap scan report for www.baidu.com (112.80.248.75)
Other addresses for www.baidu.com (not scanned): 112.80.248.76
Nmap scan report for 192.168.43.9
Nmap scan report for 192.168.43.10
Nmap scan report for 192.168.43.11
Nmap scan report for 192.168.43.12
Nmap scan report for 192.168.43.13
Nmap scan report for www.bing.com (204.79.197.200)
Other addresses for www.bing.com (not scanned): 13.107.21.200
Nmap scan report for 204.79.197.201
Nmap scan report for 204.79.197.202
Nmap scan report for 204.79.197.203
Nmap done: 11 IP addresses (0 hosts up) scanned in 0.21 seconds

随机

当您需要进行互联网范围内的研究时,可以使用 Nmap 中的 -iR 选项来生成随机目标列表。您可以 指定要生成的 IP 数量在生成列表时,Nmap会自动跳过私有、多播或未分配地址范围内的IP。 但请注意,进行未经授权的扫描是非法的,并且可能会引起网络管理员的不满和投诉。因此,使用此选项需要谨慎并自行承担风险。

举个栗子

随机产生 15 个 IP 地址。

nmap -n -sL -iR 15

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 19:08 CST
Nmap scan report for 204.69.196.187
Nmap scan report for 154.244.62.174
Nmap scan report for 56.119.186.67
Nmap scan report for 34.101.71.137
Nmap scan report for 75.84.202.233
Nmap scan report for 50.214.223.218
Nmap scan report for 28.189.185.104
Nmap scan report for 70.24.99.36
Nmap scan report for 77.27.14.163
Nmap scan report for 204.154.26.215
Nmap scan report for 9.112.223.139
Nmap scan report for 48.151.70.189
Nmap scan report for 199.29.136.71
Nmap scan report for 160.145.157.48
Nmap scan report for 58.156.220.12
Nmap done: 15 IP addresses (0 hosts up) scanned in 0.00 seconds

筛选

在使用 Nmap 进行扫描时,可能会遇到需要从目标主机列表中排除某些特定主机的情况。

–exclude

–exclude 参数可用于排除单个主机或主机范围。对此,请参考如下示例:

 nmap -n -sL 192.168.43.10-100 --exclude 192.168.43.20-100,192.168.43.12

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 19:44 CST
Nmap scan report for 192.168.43.10
Nmap scan report for 192.168.43.11
Nmap scan report for 192.168.43.13
Nmap scan report for 192.168.43.14
Nmap scan report for 192.168.43.15
Nmap scan report for 192.168.43.16
Nmap scan report for 192.168.43.17
Nmap scan report for 192.168.43.18
Nmap scan report for 192.168.43.19
Nmap done: 9 IP addresses (0 hosts up) scanned in 0.00 seconds

注:

被排除的主机之间使用逗号而不是空格进行分隔。

文件

我们可以将需要排除的主机记录在一个文本文件中,然后使用 –excludefile 选项指定该文件以便从主机列表中排除不需要的主机。
存放被排除主机的文件中可以包含以 # 开头的注释,这些注释将被忽略,不会影响到 Nmap 的正常工作。

举个栗子

存放被排除主机的文件 exclude.txt 的内容

# Hello China
192.168.43.20-50 192.168.43.50-100
# Binary Moon
192.168.43.12
# Red Heart

在终端中执行如下命令

nmap -n -sL 192.168.43.10-100 --excludefile exclude.txt

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 19:55 CST
Nmap scan report for 192.168.43.10
Nmap scan report for 192.168.43.11
Nmap scan report for 192.168.43.13
Nmap scan report for 192.168.43.14
Nmap scan report for 192.168.43.15
Nmap scan report for 192.168.43.16
Nmap scan report for 192.168.43.17
Nmap scan report for 192.168.43.18
Nmap scan report for 192.168.43.19
Nmap done: 9 IP addresses (0 hosts up) scanned in 0.01 seconds

跟踪

路由跟踪

在使用 Nmap 进行扫描工作时,通过使用 –traceroute 选项,你将能够在扫描过程中执行类似于 traceroute 命令的跟踪路由操作,以识别到达目标主机的路由路径。

在扫描过程中,Nmap 将向目标主机发送一系列的 ICMP 数据包,并对每个数据包的 TTL 值逐渐递增。当数据包到达下一个路由器时,它将被路由器丢弃,并返回 ICMP “time exceeded”(时间超过) 错误消息,这将提供有关到达该路由器的信息。通过分析这些错误消息,Nmap 可以确定到达目标主机的完整路由路径。

–traceroute 选项可用于帮助识别网络故障、发现网络中的瓶颈,以及更好地了解网络拓扑结构。然而,需要注意的是,这个选项可能会被一些网络管理员视为对网络的侵入,并导致被禁止或追究责任。因此,在使用这个选项时,需要确保已获得适当的授权,并遵守所有相关法律法规。

举个栗子

 nmap --traceroute www.baidu.com

执行效果

Starting Nmap scan report for www.baidu.com (112.80.248.75)
Host is up (0.039s latency).
Other addresses for www.baidu.com (not scanned): 112.80.248.76
Not shown: 998 filtered tcp ports (no-response)
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

TRACEROUTE (using port 443/tcp)
HOP RTT      ADDRESS
1   1.84 ms  172.17.48.1
2   8.57 ms  192.168.43.1
3   ... 13
14  40.78 ms 112.80.248.75

Nmap done: 1 IP address (1 host up) scanned in 11.58 seconds

其中:

  • TRACEROUTE (using port 443/tcp)
    表示这是一个使用 TCP 端口 443 进行 traceroute 的扫描。

  • HOP
    路由器的跳数,指从扫描主机到目标主机的中间路由器的数量。

  • RTT
    往返时间(Round-Trip Time),即从扫描主机发送请求到中间路由器再返回扫描主机的总时间。

  • ADDRESS
    每个中间路由器的IP地址。

从输出结果可以看出,该扫描跨越了 14 个路由器,并在 11.58 秒内完成,最终达到了目标主机 112.80.248.75

数据包跟踪

Nmap 的 –packet-trace 选项会输出每个发送和接收的网络数据包的详细信息,包括数据包的大小、时间戳、源 IP 和端口、目标 IP 和端口以及用于发送和接收数据包的协议。此选项可以用于调试网络问题或查看扫描器如何与目标进行通信。

举个栗子

-sn 用于指定 Nmap 仅对目标主机进行主机存活性探测,即检测主机是否正在运行。使用该选项是为了避免 Nmap 默认执行的端口扫描导致数据包信息过多,增大了对数据包收发信息进行分析的难度。

nmap --packet-trace -sn www.baidu.com

执行效果

Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 20:31 CST
SENT (0.1113s) ICMP [172.17.48.10 > 112.80.248.75 Echo request (type=8/code=0) id=4663 seq=0] IP [ttl=56 id=47695 iplen=28 ]
SENT (0.1115s) TCP 172.17.48.10:53372 > 112.80.248.75:443 S ttl=48 id=58953 iplen=44  seq=3307973816 win=1024 <mss 1460>
SENT (0.1115s) TCP 172.17.48.10:53372 > 112.80.248.75:80 A ttl=56 id=61205 iplen=40  seq=0 win=1024
SENT (0.1116s) ICMP [172.17.48.10 > 112.80.248.75 Timestamp request (type=13/code=0) id=32242 seq=0 orig=0 recv=0 trans=0] IP [ttl=55 id=24205 iplen=40 ]
RCVD (0.1697s) ICMP [112.80.248.75 > 172.17.48.10 Echo reply (type=0/code=0) id=4663 seq=0] IP [ttl=53 id=47695 iplen=28 ]
NSOCK INFO [0.1950s] nsock_iod_new2(): nsock_iod_new (IOD #1)
NSOCK INFO [0.1950s] nsock_connect_udp(): UDP connection requested to 114.114.114.114:53 (IOD #1) EID 8
NSOCK INFO [0.1950s] nsock_read(): Read request from IOD #1 [114.114.114.114:53] (timeout: -1ms) EID 18
NSOCK INFO [0.1950s] nsock_iod_new2(): nsock_iod_new (IOD #2)
NSOCK INFO [0.1950s] nsock_connect_udp(): UDP connection requested to 8.8.8.8:53 (IOD #2) EID 24
NSOCK INFO [0.1950s] nsock_read(): Read request from IOD #2 [8.8.8.8:53] (timeout: -1ms) EID 34
NSOCK INFO [0.1950s] nsock_write(): Write request for 44 bytes to IOD #1 EID 43 [114.114.114.114:53]
NSOCK INFO [0.1950s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [114.114.114.114:53]
NSOCK INFO [0.1950s] nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 43 [114.114.114.114:53]
NSOCK INFO [0.1950s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 24 [8.8.8.8:53]
NSOCK INFO [0.2440s] nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 18 [114.114.114.114:53] (98 bytes)
NSOCK INFO [0.2440s] nsock_read(): Read request from IOD #1 [114.114.114.114:53] (timeout: -1ms) EID 50
NSOCK INFO [0.2440s] nsock_iod_delete(): nsock_iod_delete (IOD #1)
NSOCK INFO [0.2440s] nevent_delete(): nevent_delete on event #50 (type READ)
NSOCK INFO [0.2440s] nsock_iod_delete(): nsock_iod_delete (IOD #2)
NSOCK INFO [0.2440s] nevent_delete(): nevent_delete on event #34 (type READ)
Nmap scan report for www.baidu.com (112.80.248.75)
Host is up (0.058s latency).
Other addresses for www.baidu.com (not scanned): 112.80.248.76
Nmap done: 1 IP address (1 host up) scanned in 0.25 seconds

分析

这是一次对 www.baidu.com 进行的快速主机发现扫描,使用了 -sn(只进行主机发现,不进行端口扫描) 选项。

在扫描过程中,Nmap 使用了 ICMP Echo requestTCP SYN 包作为探测方式,通过发送这些包并等待目标主机的响应来判断目标主机是否存活。同时,该扫描还查询了 DNS 服务器来解析 www.baidu.comIP 地址。输出结果显示目标主机 www.baidu.com 位于 IP 地址 112.80.248.75,主机存活并且响应速度为 0.058 秒。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/476002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vs2019+vtk开发环境搭建

1.安装vs2019 Enterprise&#xff0c;visual assist x&#xff0c;cmake Microsoft Visual Studio Enterprise 2019 sn: BF8Y8-GN2QH-T84XB-QVY3B-RC4DF 2.下载vtkhttps://www.vtk.org/files/release/9.2/VTK-9.2.6.tar.gz 3.cmake编译配置选中Example&#xff0c;可编译官方…

【Java】『蓝桥杯』10道编程题及答案(五)

系列文章 【Java】『蓝桥杯』10道编程题及答案&#xff08;一&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/130223115 【Java】『蓝桥杯』10道编程题及答案&#xff08;二&#xff09; 本文链接&#xff1a;https://blog.csdn.net/y…

深度学习之神经网络量化理解

深度学习系列文章目录 文章目录 深度学习系列文章目录前言一、什么是量化量化现状GoogleTensorRTTVM量化基本知识基于线性量化的对称量化和非对称量化 总结 前言 刚开始接触神经网络&#xff0c;对量化是2年前那会&#xff0c;用NCNN和TVM在树莓派上部署一个简单的SSD网络。那…

知识点滴 - 世界化工企业百强

2022年7月25日&#xff0c;美国《化学与工程新闻》&#xff08;C&EN&#xff09;发布2022年全球化工企业50强名单。 2022-09-21日附近&#xff0c;国际石化市场信息服务商安迅思ICIS发布了最新世界化工企业100强排行榜&#xff08;Top 100 Chemical Companies&#xff09;&…

基于微信小程序的垃圾分类系统的研究与实现(附源码和教程)

1. 简介 本文介绍的事基于微信小程序的垃圾分类系统&#xff0c;主要实现的功能有登录、注册、垃圾分类查询、垃圾预约回收、垃圾分类功能。 2.系统设计与实现 本章节是论文的重点&#xff0c;基于上一章介绍的总体设计框架的搭建&#xff0c;详细对小程序的页面布局、流程设…

Mask2Former来了!用于通用图像分割的 Masked-attention Mask Transformer

原理https://blog.csdn.net/bikahuli/article/details/121991697 源码解析 论文地址&#xff1a;http://arxiv.org/abs/2112.01527 项目地址&#xff1a;https://bowenc0221.github.io/mask2former Mask2Former的整体架构由三个组件组成&#xff1a; 主干特征提取器&#xff…

GPT在医疗健康领域:应用、价值与展望

目录 发展背景 应用场景 价值分析 未来发展趋势 发展痛点 市场规模预测 结论 全文精要提炼&#xff1a; 作者&#xff1a;ChatgptMidjourneyFOTORXmind 随着科技的不断发展&#xff0c;人工智能&#xff08;AI&#xff09;在各行各业的应用越来越广泛&#xff0c;尤其…

unity NGUI使用方法

基本用法 很多基本模块比如按钮、slider等都能从Prefab中直接拖拽到场景中实现&#xff0c;但都需要有一个Collider&#xff08;Prefab已经自带&#xff09; 因为不仅是UI&#xff0c;所有带有Collider的游戏物体都能接收到OnClick&#xff0c; OnPress这样的事件——前提是需…

sed编辑器基础命令

shell脚本编程系列 学习sed编辑器 sed编辑器被称作流编辑器&#xff08;stream editor&#xff09;,与普通的交互式文本编辑器不同&#xff0c;在交互式文本编辑器可以用键盘命令交互式插入、删除或替换文本数据。流编辑器则是根据事先设计好的一组规则编辑数据流。 sed编辑器…

人脸检测--传统方法

人脸检测与识别综述 人脸检测与识别是计算机视觉和生物识别领域中最受关注的研究内容。 如何从包含人脸内容的图像、视频等多媒体数据中&#xff0c;找到人脸&#xff0c;并对其身份进行判定&#xff0c;是人脸检测与识别中的主要问题。 应用场景 - 安全监控 - 访问控制 …

【Java校招面试】基础知识(一)——Java常用类库

目录 前言一、编程时常用的Java类库1. 异常捕获模块(try-catch-finally, Error, Exception)2. boolean / short / int / long / float / double / char / byte及其对应的引用类型 二、面试时常考的Java类库1. 一切类型的父类Object及其equals / hashCode / toString方法2. 常用…

anaconda安装pytorch的流程

1.查看本机支持的CUDA版本 cmd:nvidia-smi 2.安装本机支持的CUDA版本 CUDA安装教程 GPU, CUDA,cuDNN三者的关系总结 3.使用anaconda创建虚拟环境 3.在anaconda对应的虚拟环境中安装CUDA对应的pytorch版本 anaconda安装pytorch&#xff08;anaconda3&#xff0c;Windows10&am…

idea使用 ( 二 ) 创建java项目

3.创建java项目 3.1.创建普通java项目 3.1.1.打开创建向导 接 2.3.1.创建新的项目 也可以 从菜单选择建立项目 会打开下面的选择界面 3.1.2.不使用模板 3.1.3.设置项目名 Project name : 项目名 Project location : 项目存放的位置 确认创建 3.1.4.关闭tips 将 Dont s…

二叉搜索树【Java】

文章目录 二叉搜索树的性质二叉搜索树的操作遍历查找插入删除 二叉搜索树又称为二叉排序树&#xff0c;是一种具有一定性质的特殊的二叉树&#xff1b; 二叉搜索树的性质 若它的左子树不为空&#xff0c;则左子树上结点的值均小于根节点的值&#xff1b; 若它的右子树不为空&a…

08 Kubernetes应用配置管理

课件 在 Kubernetes 中&#xff0c;secret 是一种用于存储敏感信息的对象。Kubernetes 支持以下三种类型的 secret&#xff1a; Opaque&#xff1a;这是默认的 secret 类型&#xff0c;可以用于存储任何类型的数据&#xff0c;包括字符串、二进制数据等。 Service Account&…

【P2】Jmeter 线程组的并行与串行

一、串行与并行规则 &#xff08;1&#xff09;、测试计划中的执行顺序遵循&#xff1a;setUp 线程组 -> 线程组 -> tearDown 线程组 &#xff08;2&#xff09;、如果将测试计划中的独立运行每个线程组勾选上&#xff0c;则多个线程组串行执行&#xff0c;否则并发执行…

吴恩达 Chatgpt prompt 工程--5.Transforming

探索如何将大型语言模型用于文本转换任务&#xff0c;如语言翻译、拼写和语法检查、音调调整和格式转换。 Setup import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv()) # read local .env fileopenai.api_key os.getenv(OPE…

2.6 浮点运算方法和浮点运算器

学习目标&#xff1a; 以下是一些具体的学习目标&#xff1a; 理解浮点数的基本概念和表示方法&#xff0c;包括符号位、指数和尾数。学习浮点数的运算规则和舍入规则&#xff0c;包括加、减、乘、除、开方等。了解浮点数的常见问题和误差&#xff0c;例如舍入误差、溢出、下…

Unity一般打包流程

Unity一般打包流程 通常打包流程主要是通过 Building setting来选择需要打包的场景后出包到指定文件夹位置&#xff0c;也可以采用 [MenuItem("MyMenu/Do Something")]中使用static函数来选择打包路径和打包方式——需要将该脚本放置在 Editor文件夹下 [MenuItem(&…

Vue3源码 第六篇-JavaScript AST transform函数

系列文章目录 Vue3源码 第一篇-总览 Vue3源码 第二篇-Reactive API Vue3源码 第三篇-Vue3是如何实现响应性 Vue3源码 第四篇-Vue3 setup Vue3源码 第五篇-Vue3 模版compile AST生成篇 文章目录 系列文章目录前言一、transform 转换二、traverseNode 遍历节点&#xff0c;trave…