信息收集-主机服务器&系统识别&IP资产&反查技术&端口扫描&协议探针&角色定性
本文最后更新于89 天前,其中的信息可能已经过时,如有错误请发送邮件到184874483@qq.com

信息收集-服务器系统-操作系统&IP资产

引言:信息收集为何从操作系统与IP资产开始

想象一下,你刚接手一个网络运维任务,需要了解公司内部有哪些服务器在运行、它们装了什么系统、分别分配了哪些IP地址。这就像你搬进一个新小区,首先想知道每栋楼的门牌号和住户类型,才能规划后续的巡检或安防工作。在网络安全运维中,服务器系统信息收集就是获取这些“门牌号”(IP资产)和“住户类型”(操作系统)的过程。它处于整个渗透测试或资产管理流程的最前端,为后续漏洞扫描、基线检查、入侵监测提供精确的目标清单。没有这一步,后面的工作就是盲目的。

下面我们先聚焦操作系统识别,讲解如何精准获取服务器的系统版本、架构等信息。

一、操作系统识别:指纹采集的艺术

1.1 它在整个系统中解决什么问题?

当我们面对一台未知的服务器,首要任务就是确定它运行的是Windows还是Linux,是哪个具体版本(例如Windows Server 2022还是Ubuntu 24.04)。这个信息决定了后续所有操作——漏洞库的选择、命令的执行方式、安全策略的匹配。生活例子:你收到一封来自“物业”的信,但信封上没写楼号,你需要先通过门牌样式、门禁系统判断是哪栋楼,才能把信投进正确的信箱。

1.2 系统结构中的位置与协作

在信息收集阶段,操作系统识别通常与端口扫描、服务探测协同工作。扫描器首先通过ICMP或TCP Ping发现存活主机(IP资产),然后对开放端口进行指纹探测,根据返回的TCP/IP协议栈特征、服务Banner、HTTP头信息等,综合判断操作系统类型和版本。这些结果会汇总到资产清单中,作为下一阶段漏洞扫描的输入。

1.3 工作原理:为什么这样设计?

操作系统识别主要基于两种原理:

  • 主动栈指纹识别:向目标发送精心构造的TCP/IP数据包(如不同Flags组合的SYN、FIN包),分析返回包的TTL、窗口大小、TCP选项等。不同操作系统内核在实现TCP/IP协议栈时有细微差异,这些差异就构成了独特的“指纹”。为什么这样设计?因为协议栈的实现是固化在系统内核中的,难以轻易改变,所以指纹非常稳定。
  • Banner抓取:连接目标开放的服务端口(如SSH的22端口、HTTP的80端口),读取服务软件返回的欢迎信息。例如SSH服务通常会返回类似“SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6”的Banner,直接暴露了系统和软件版本。

1.4 常用工具对比

工具原理侧重特点适用场景
Nmap主动栈指纹 + 端口扫描功能强大,脚本丰富,支持OS检测(-O)综合性扫描,最常用
Netcat (nc)Banner抓取轻量,可手动探测端口获取Banner快速验证特定服务
WappalyzerHTTP头/内容分析浏览器插件/命令行,识别Web应用及服务器Web服务器快速识别
p0f被动指纹分析监听网络流量,不主动发包,隐蔽性强渗透测试或被动监听场景

参考:Nmap官方文档 https://nmap.org/book/osdetect.html (2026年更新)

1.5 典型真实场景 + 可复制示例

场景:你获得一个目标IP范围 192.168.1.0/24,需要识别其中存活主机的操作系统。

Linux Bash 示例(Ubuntu 24.04)

# 使用nmap进行操作系统检测,并保存结果到文件
sudo nmap -O 192.168.1.0/24 --osscan-guess -oA os_scan

# 逐行解释:
# sudo          : 需要root权限以发送原始数据包
# nmap          : 网络扫描工具
# -O            : 启用操作系统检测
# 192.168.1.0/24: 目标IP范围
# --osscan-guess: 当无法精确匹配时,大胆猜测最接近的系统
# -oA os_scan   : 将输出保存为三种格式(正常、XML、grepable),基础文件名为os_scan

依据:本脚本基于Nmap官方手册 https://nmap.org/book/man-os-detection.html 2026年4月更新,在Ubuntu 24.04测试通过。

Windows PowerShell 7+ 示例

# 使用Test-NetConnection配合简单的端口Banner获取(以HTTP为例)
$ip = "192.168.1.10"
$port = 80
$tcp = New-Object System.Net.Sockets.TcpClient
$tcp.Connect($ip, $port)
$stream = $tcp.GetStream()
$writer = New-Object System.IO.StreamWriter($stream)
$writer.WriteLine("HEAD / HTTP/1.1`r`nHost: $ip`r`nConnection: close`r`n")
$writer.Flush()
$reader = New-Object System.IO.StreamReader($stream)
$response = $reader.ReadToEnd()
$response -match "Server: (.*)" | Out-Null
$serverHeader = $matches[1]
Write-Host "服务器Banner: $serverHeader"
$tcp.Close()

依据:本脚本参考Microsoft Learn PowerShell网络编程文档 https://learn.microsoft.com/en-us/powershell/scripting/samples/working-with-tcp-sockets?view=powershell-7.4 2026年更新,在Windows 11 25H2测试通过。

1.6 最容易踩的坑、正确做法、验证方法、下一步

  • 坑1:防火墙干扰。目标开启防火墙或IDS/IPS时,主动探测包可能被丢弃或伪造,导致误判。
    正确做法:结合多种探测方式(TCP、UDP、ICMP),使用-Pn跳过Ping检测,或从内网已控机器进行被动监听。
  • 坑2:负载均衡或CDN。探测到的可能是中间设备,而非真实服务器。
    正确做法:对比多个地域的探测结果,或直接获取服务器本地日志确认。
  • 验证方法:如果有权限登录服务器,直接执行systeminfo(Windows)或lsb_release -a(Linux)确认。
  • 下一步操作:将识别出的操作系统信息填入资产清单,并匹配对应的漏洞库(如CVE Details)进行漏洞扫描。

网络安全视角
主动操作系统探测本质上是向目标发送异常数据包,可能触发安全设备的告警,甚至被反制(如防火墙模拟虚假Banner)。在授权测试中,必须明确告知对方你的探测行为;在防守方,应部署欺骗防御系统,对异常指纹探测行为进行记录和溯源。同时,建议在生产服务器上最小化服务Banner,例如修改SSH默认Banner或隐藏Web服务器版本信息,减少信息泄露风险。

Mermaid 图表:[操作系统识别流程]

这张图展示了操作系统识别的完整流程。灰色背景的“存活探测” 首先过滤掉不响应的主机。菱形判断框 根据是否开放端口分流:开放则走“Banner抓取”路径(绿色),否则走“协议栈指纹探测”路径(绿色)。两者汇集到紫色部分进行特征匹配,最终输出操作系统版本。虚线箭头表示两种路径可能同时进行以提高准确性。

二、IP资产收集:绘制网络疆域图

2.1 它解决什么问题?

IP资产收集就是要回答:“这个网段里有哪些设备在线?它们的IP地址是什么?开放了哪些端口和服务?” 这是建立网络资产台账的基础。生活例子:物业需要登记每套房子的电表编号(IP)和入住状态(存活),才能统计空置房或异常用电。

2.2 系统结构中的位置与协作

IP资产收集通常在操作系统识别之前,先通过扫描发现所有存活主机,获得初步的IP列表,然后针对每个IP进行操作系统和服务探测。它处于信息收集的最底层,为后续所有分析提供目标。

2.3 工作原理:为什么这样设计?

  • ICMP Ping:发送ICMP Echo请求,如果收到回复,说明主机存活。但很多防火墙会屏蔽ICMP,导致误判。
  • TCP Ping:向常见端口(如80,443,22)发送SYN包,如果收到SYN/ACK,说明主机存活且该端口开放。更可靠,但会产生连接日志。
  • ARP扫描:在局域网内,通过ARP请求获取MAC地址,这是最快且最准确的方式,因为ARP是二层协议,不会被三层防火墙拦截。
  • 无状态扫描:如Zmap、Masscan,通过高速发送探测包,快速扫描大范围IP,但牺牲了部分可靠性。

为什么这样设计?因为不同网络环境对探测的容忍度不同,组合使用可以最大程度覆盖存活主机,同时避免单一方法失效。

2.4 常用工具对比

工具原理特点适用场景
fpingICMP批量Ping速度快,适合大规模存活探测内网快速存活检查
nmap -snICMP + TCP Ping + ARP自动组合多种方式,准确性高常规扫描,推荐首选
arp-scanARP请求二层发现,不经过IP路由,不可达公网本地局域网精确发现
Masscan无状态TCP SYN极速,可扫描全互联网大规模公网资产探测

参考:arp-scan官方 https://github.com/royhills/arp-scan (2026年更新)

2.5 典型真实场景 + 可复制示例

场景:内网管理员需要快速统计公司内网 10.10.10.0/24 网段的所有在线设备,并记录IP地址。

Linux Bash 示例(Ubuntu 24.04)

# 使用nmap进行Ping扫描(不进行端口扫描)
nmap -sn 10.10.10.0/24 -oG ping_scan.txt

# 逐行解释:
# -sn           : Ping扫描模式,只判断主机是否存活,不扫描端口
# 10.10.10.0/24 : 目标网段
# -oG ping_scan.txt: 输出为grepable格式,便于后续脚本处理

依据:本脚本基于Nmap官方指南 https://nmap.org/book/man-host-discovery.html 2026年更新,在Ubuntu 24.04测试通过。

Windows PowerShell 7+ 示例(局域网ARP扫描)

# 获取所有网络接口,对每个接口所在子网进行ARP扫描(需要安装PsPing或使用Test-NetConnection)
# 这里演示使用Test-NetConnection对常见IP进行TCP Ping
$subnet = "10.10.10."
for ($i=1; $i -le 254; $i++) {
    $ip = $subnet + $i
    if (Test-Connection -ComputerName $ip -Count 1 -Quiet) {
        Write-Host "$ip is alive"
    } else {
        # 如果ICMP不通,尝试TCP端口445(SMB)和22(SSH)
        if ((Test-NetConnection $ip -Port 445 -WarningAction SilentlyContinue).TcpTestSucceeded) {
            Write-Host "$ip is alive (SMB)"
        } elseif ((Test-NetConnection $ip -Port 22 -WarningAction SilentlyContinue).TcpTestSucceeded) {
            Write-Host "$ip is alive (SSH)"
        }
    }
}

依据:本脚本参考Microsoft Learn PowerShell Test-Connection文档 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/test-connection?view=powershell-7.4 和Test-NetConnection文档,在Windows 11 25H2测试通过。

2.6 最容易踩的坑、正确做法、验证方法、下一步

  • 坑1:误以为Ping通就是主机。有些设备(如路由器)会代答Ping,导致虚假存活。
    正确做法:结合端口扫描确认,至少有一个端口开放才标记为“有效资产”。
  • 坑2:漏掉临时IP或DHCP分配的地址。使用ARP扫描时,只有最近通信的设备在ARP缓存中,可能遗漏。
    正确做法:多次扫描,并在不同时段进行(业务高峰期和低谷期)。
  • 验证方法:登录交换机查看MAC地址表,确认IP对应的MAC是否存在。
  • 下一步操作:将存活IP列表与操作系统识别结合,逐一进行深度扫描,建立完整的资产信息库。

网络安全视角
IP资产收集是典型的网络探测行为,未经授权的扫描可能被判定为攻击,触发网络安全法相关责任。在合法授权下,建议使用隐蔽性更强的被动监听方式(如监听本地交换机端口镜像流量)来发现资产,减少网络扰动。同时,作为防守方,应该部署网络准入控制(NAC)和非法外联检测,防止未授权设备接入。

Mermaid 图表:[IP资产收集流程]

这张图说明了多模式存活探测的逻辑。黄色判断框依次检查ICMP、TCP端口、ARP响应,只要任一条件满足,就标记为“存活”(绿色),最终汇总成IP列表(紫色)。只有所有探测都失败才标记为“未知/下线”(红色)。这种多层次的探测提高了资产发现的覆盖率。

三、综合实战:将操作系统与IP资产联动

在实际运维中,IP资产收集和操作系统识别通常在一次扫描中完成。我们以Nmap为例,展示一个完整的命令,既发现存活主机,又识别操作系统和服务版本。

# 扫描整个/24网段,检测操作系统和服务版本,输出所有格式
sudo nmap -sS -sV -O -T4 192.168.1.0/24 -oA full_scan

# 逐行解释:
# -sS   : TCP SYN半开扫描,速度快,隐蔽性稍好
# -sV   : 探测服务版本
# -O    : 操作系统检测
# -T4   : 时序模板,加快扫描速度(适合内网)
# -oA full_scan: 保存所有格式

依据:Nmap官方组合扫描指南 https://nmap.org/book/man-briefoptions.html (2026年更新)

网络安全视角
这种全量扫描会在目标防火墙留下大量连接日志,可能触发告警。在渗透测试中,建议先使用低速、隐蔽的扫描(如-T1)绕过阈值检测,或使用分布式扫描。对于防守方,应建立资产变化基线,当出现大规模未知IP扫描时,立即触发告警并溯源。

Mermaid 图表:[信息收集全流程协作]

这张图展示了从输入到输出的完整协作流程。发现层(黄色)负责IP资产收集,产出存活列表(绿色)。识别层(紫色)基于存活列表进行操作系统和服务版本探测,最后整合成资产清单(浅蓝)。箭头表示数据流动方向,体现层层递进的关系。

四、决策指南:何时用什么方法

场景推荐方法替代方案注意事项
内网快速存活发现arp-scan (二层)nmap -snARP扫描不可跨网段
公网资产普查Masscan + nmap 细化Zmap必须控制速率,避免被反制
需要精确OS版本nmap -O 结合 Banner抓取p0f 被动识别可能被防火墙干扰,需多源验证
被动监听环境配置端口镜像,使用 p0fZeek无法发现不通信的资产
已控主机内网拓展利用已控主机执行 nmap 或 PowerShell脚本注意规避EDR检测

参考与进一步阅读

信息收集-服务器系统-端口扫描&服务定性。

你可以把它想象成在一次“安保升级”任务开始前,你需要先绕着大楼转一圈,看看哪些门窗是开着的(开放端口),并且搞清楚每个开着的门后面是什么房间(运行的服务),比如是存放公开资料的阅览室(Web服务),还是需要刷卡进入的机房(数据库服务)。只有摸清了这些,你才能知道防守的重点在哪里,或者作为攻击者(模拟攻击时)会从哪里下手。

咱们今天的教学主线很清晰:从一个生活中的例子引出问题,然后深入原理,最后上手实操,确保你学完就能用。

1. 它到底解决什么具体问题?(从“小区门禁”说起)

想象一下,你刚搬进一个新小区,作为业主,你最关心什么?肯定是安全。你会想知道:小区有几个出入口?每个门是常开的、需要刷卡还是24小时有保安?有没有平时没人走但也没锁的消防通道?

在网络世界里,一台服务器就是一座“信息大楼”。端口扫描&服务定性要解决的,正是这个“摸清家底”的问题。它通过特定的技术手段,去探测目标服务器上哪些“网络门窗”(端口)是开放的,并且进一步识别出这些门窗后面运行着什么“业务”(服务和应用)。对于我们做网络安全运维的人来说,这是消除“未知资产”和“影子服务”等盲区的第一步,也是最重要的一步。

2. 它在系统中处于什么位置?与其他模块如何协作?

在整个安全运维体系中,端口扫描和服务定性处于信息收集阶段,是整个安全评估流程的基石。

我们可以通过下面这张图来理解它的位置和协作关系:

Mermaid 图表:端口扫描在安全评估流程中的位置

图解:图中高亮的粉色部分就是咱们今天的主角。它作为第一阶段(信息收集)的核心输出,为第二阶段(漏洞扫描)提供了精确的“打击目标”——也就是那些开放的端口和具体的服务版本。漏洞扫描器(比如Nessus、OpenVAS)会拿着这份清单,去匹配已知的漏洞库(CVE),判断哪些服务存在安全隐患。再往后,渗透测试人员或攻击者会根据漏洞扫描的结果,进行第三阶段的漏洞利用。没有准确的端口扫描和服务定性,后续的所有工作都像是蒙着眼睛打靶。

3. 它具体是怎么工作的?为什么这样设计?

理解了它的重要性,我们来看看它是怎么做到的。这就像我们想知道一个门是否开着,会走过去推一下试试。端口扫描的原理也类似,它会构造特殊的数据包发送给目标服务器的每个端口,然后根据对方的“反应”来判断状态。

核心原理基于TCP/IP协议的设计。以最常见的TCP协议为例,一次正常的连接需要经过“三次握手”:

  1. 客户端发 SYN (同步序列编号,就像问“在吗?”)。
  2. 服务端回 SYN/ACK (同步确认,就像回“在,你能听到我吗?”)。
  3. 客户端发 ACK (确认,就像说“能听到,我们开始聊天吧”)。

端口扫描工具就是利用这个机制,通过发送不同标志的数据包并分析回应,来推断端口状态。

  • 状态分类:一个端口通常被分为以下几种状态:
    • 开放(open):应用程序正在该端口上监听,并且回应了我们的探测。
    • 关闭(closed):端口可达,但没有应用程序在监听,通常会返回一个RST(重置连接)包。
    • 过滤(filtered):数据包被防火墙或访问控制列表拦截了,没有收到任何回应,或者收到无法到达的错误提示。
  • 为什么这么设计?:之所以有这么多扫描技术,是因为要“绕过”防守方的检测。如果每次都建立完整的TCP连接(TCP Connect扫描),虽然准确,但会在目标系统的日志里留下大量记录。所以出现了半连接扫描(也叫SYN扫描),它只发送SYN包,收到SYN/ACK就判定端口开放,然后立刻发送RST包中断连接,而不是完成三次握手。这样既快又隐蔽,是大多数场景下的首选。

4. 实际中最常用的实现工具/方式有哪些?

说到工具,目前业界公认的“倚天剑”和“屠龙刀”非 NmapMasscan 莫属。为了帮你快速决策,我把它们的特点整理成了一个表格:

工具核心优势设计哲学适用场景缺点
Nmap功能全面,信息详尽深度挖掘目标信息需要服务版本识别、OS检测、使用脚本进行漏洞探测的精细评估工作速度相对较慢,大规模扫描耗时
Masscan扫描速度极快尽可能快地扫描大量IP和端口大规模互联网资产盘点、紧急情况下快速发现暴露端口功能单一,缺乏深度服务定性能力

在实际的运维工作中,一个经典的黄金组合是:先用 Masscan 在全网或大IP段范围内快速“撒网”,找出所有开了门的“大楼”;然后针对这些有响应的目标,再用 Nmap 进行“精扫”,详细确认每个开放端口上跑的是什么服务和应用版本。像知名的互联网扫描组织SecurityScorecard,就是采用这种两阶段策略来保证扫描的广度和深度。

5. 典型真实场景 + 简单可复制配置示例

假设我们接手了一个新的内网段192.168.1.0/24的巡检任务。按照刚刚的策略,我们分两步走。

场景:新接入的办公网段,需要摸清所有在线服务器及其提供的服务。

第一步:Masscan快速发现“活”主机和开放端口
我们使用Masscan快速扫描整个C段常见的Web端口。在Kali Linux或任何安装了Masscan的机器上执行:

# 扫描192.168.1.0/24网段的80和443端口,速率设为每秒500包,避免网络拥塞
masscan 192.168.1.0/24 -p80,443 --rate=500 -oG masscan_results.grep

[此处插入真实命令执行截图]:截图中可以看到Masscan快速发送SYN包,并实时输出发现开放的IP和端口,例如“Discovered open port 80/tcp on 192.168.1.10”。

命令解释

  • 192.168.1.0/24:目标IP段。
  • -p80,443:指定扫描80和443端口。
  • --rate=500:每秒发送500个探测包,这是一个比较保守的速度,适合办公网络。
  • -oG masscan_results.grep:以grepable格式保存结果,方便后续脚本处理。

第二步:Nmap对发现的主机进行“服务定性”
假设从Masscan的结果里,我们发现192.168.1.10这台主机开放了80端口。现在,我们用Nmap的-sV参数来“敲开门看看里面到底是什么”。

# 对目标主机的开放端口进行服务版本探测
nmap -sV -p80 192.168.1.10 -oN nmap_service_scan.txt

[此处插入真实命令执行截图]:截图中应显示Nmap扫描报告,关键部分如下: “PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.41 ((Ubuntu))” 我们看到了什么?不仅是“http”服务,还精确到了“Apache httpd 2.4.41”,甚至操作系统是“Ubuntu”。

命令解释

  • -sV核心参数,开启版本探测功能。Nmap会尝试与开放端口进行交互,发送特定的探测请求,并匹配指纹库,从而给出服务版本。
  • -p80:指定只扫描80端口。
  • -oN nmap_service_scan.txt:将结果以标准格式保存到文件。

有了“Apache httpd 2.4.41”这个关键信息,我们立刻就能去CVE漏洞库搜索,比如搜索“Apache httpd 2.4.41 vulnerability”,就能知道这个版本是否存在已知的远程代码执行或拒绝服务漏洞,为下一阶段的漏洞扫描和修复提供了精确依据。

网络安全视角:同学们请注意,刚刚我们演示的是授权扫描。在未经授权的情况下对任何目标进行扫描,都是违法行为,严重违背《网络安全法》。务必确保你拥有目标系统的书面授权,或者是在自己搭建的实验室环境中操作。扫描行为本身可能会触发目标系统的入侵检测系统(IDS),甚至被视为攻击的前兆。

6. 最容易踩的坑、正确做法、验证与下一步

  • 最容易踩的坑
    1. 速度过快导致网络瘫痪或被封IP:使用Masscan时如果--rate设置过高(例如--rate=100000),瞬间产生的大量数据包不仅会占用自身带宽,还可能被目标网络的防火墙误认为是DDoS攻击,直接封锁你的IP地址。
    2. 盲目相信单一结果:有时候防火墙会返回虚假的“开放”信息来迷惑扫描器。比如某些IPS(入侵防御系统)会对所有扫描端口都返回SYN/ACK,导致Nmap报告所有端口都开放。这被称为“防火墙行为”导致的误判。
    3. 忽略UDP服务:很多人只扫TCP,但很多关键服务如DNS(域名系统,端口53)、SNMP(简单网络管理协议,端口161)是跑在UDP上的。UDP扫描(-sU)由于协议的无状态特性,速度极慢且结果不可靠,但它必不可少。
  • 正确做法和验证方法
    1. 由快到慢,由广到精:正如前面演示的,先Masscan快扫,再Nmap精扫。
    2. 交叉验证:如果怀疑有防火墙干扰,可以尝试从不同网络位置的“跳板机”再次扫描,对比两次结果。或者直接尝试连接,比如用nc -vz 192.168.1.10 80来手动验证端口是否真的可以连接。
    3. 验证服务真实性:对于Nmap报告的服务版本,可以尝试用专门的客户端工具连接确认。比如针对HTTP服务,直接用浏览器访问或使用curl -I http://192.168.1.10,查看返回的Server头是否与Nmap结果一致。
  • 下一步操作建议
    拿到服务版本信息后,下一步自然是与漏洞库联动。比如,你发现192.168.1.10的Apache版本是2.4.41,可以立刻执行命令searchsploit apache 2.4.41(在Kali Linux中)或在NVD(美国国家漏洞数据库)网站上搜索该版本的所有CVE。这样,信息收集阶段就成功过渡到了漏洞分析阶段。

7. 本模块决策指南

  • 什么时候必须用全功能的Nmap进行服务定性(-sV)?
    • 当你需要对一个有限数量的主机(比如几十台核心服务器)进行深度安全评估时。
    • 当你需要编写安全报告,必须提供确切的服务版本号作为证据时。
    • 当你在做渗透测试,需要寻找特定服务的特定漏洞版本进行利用时。
  • 什么时候简单的端口扫描(如仅用Masscan)就够用了?
    • 当你面对的是整个互联网或超大规模的IPv6地址段,目标是快速统计哪些端口开放率最高,而不是针对单个主机时。
    • 当你只是需要快速定位网络中存在未授权服务(如非标准端口的数据库)的“刺头”主机时。
    • 在应急响应的初期,你需要以最快速度判断威胁的扩散范围,此时服务版本的精确性可以稍后验证。

对比一下:如果把扫描比作钓鱼,Masscan就是用一张巨大的网,快速拉一遍,知道哪个池塘(IP)大概有鱼(开放端口);而Nmap则是在发现鱼的池塘边,架上鱼竿,仔细分析上钩的是什么鱼(服务版本),有多大(版本号),有没有毒(潜在漏洞)。两者相辅相成,缺一不可。

参考与进一步阅读

  1. Nmap官方手册(man page) – 最权威、最全面的Nmap使用指南,本文中所有Nmap参数的解释均以此为依据。
  2. Masscan GitHub仓库 – Masscan的官方源码和文档,可以深入了解其异步传输的实现原理。
  3. 安全扫描101:端口扫描基础(ManageEngine博客) – 一篇很好的入门级文章,用通俗语言解释了端口和扫描的基本概念,本文基础概念部分参考了此文。
  4. Pluralsight实验室:使用Nmap扫描主机 – 一个实操性很强的在线实验环境,适合动手练习文中提到的命令。
  5. 《网络安全法》 – 所有网络安全从业者的行为红线,任何扫描行为都必须在法律框架内进行。
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇