搜索

nmap扫描端口命令

发表于 2026-10-17 06:01:08 来源:烟消火灭网

你打开终端,扫描敲下 nmap 192.168.1.1,端口几秒钟后屏幕上滚出一串端口列表。命令这大概是扫描每个网络工程师都做过的动作。但很多人只用了它最浅的端口一层——扫个开放端口就完事。实际上,命令nmap的扫描端口扫描命令藏着不少门道,用好了能省下大把排查时间。端口

先说最基础的命令。默认扫描方式叫TCP SYN扫描,扫描命令是端口 nmap -sS 目标IP。它发一个SYN包过去,命令如果对方回SYN-ACK,扫描说明端口开着;回RST,端口就是命令关闭的。这种半开扫描的好处是快,而且不容易被目标系统记录完整连接日志。我见过不少新手直接跑 nmap 目标IP,那其实是TCP connect扫描(-sT),会建立完整的三次握手,慢不说,还更容易触发防火墙报警。所以除非你权限不够,否则优先用-sS。

端口范围也得会控制。默认只扫1000个常用端口,但真实服务可能跑在稀奇古怪的端口上。比如某次我排查一个内网应用,默认扫描全绿,业务却连不上。后来用 -p 1-65535 全端口扫了一遍,才发现服务监听在TCP 28017上。那是个MongoDB的默认端口——但不在nmap的常用列表里。所以拿不准的时候,直接 nmap -p- 目标IP,代价是慢一些,但值得。嫌慢可以加 --min-rate 5000 提速,相当于把探测包发得更猛。

扫描速度跟准确性之间有取舍。默认的时序模板是T3,稳妥但慢。内网环境我常用 -T4,快很多,丢包率也能接受。外网就别这么干了,容易把对方防火墙惹毛,直接给你封IP。有个小技巧:扫之前先ping一下目标,如果通了,加 -Pn 跳过主机发现阶段,能省几秒。反过来,如果目标禁ping,不加这个参数会误判主机离线,直接跳过扫描。

版本探测是另一个实用功能。光知道80端口开着没用,你得知道后面是nginx还是Apache。加 -sV 就能拿到服务版本号。有一次我扫一个客户的服务器,发现8080端口开着,版本探测显示是Tomcat 8.5.12。这个版本有个已知的会话固定漏洞,直接就能对症下药。没这步的话,你可能还得手工去连一遍才知道是什么服务。

写脚本扫描也别忽略。nmap自带NSE脚本引擎,用 -sC 跑默认脚本集,能顺带检查弱口令、常见漏洞、SSL配置问题。比如 nmap -sS -sV -sC 目标IP 一条命令,基本能摸清一台机器的底细。但注意,脚本扫描动静大,目标系统日志里会留下明显痕迹。做渗透测试前记得先跟客户签好授权书。

最后提个容易踩的坑。很多人扫完端口就完事,从来不关注端口状态里的filtered。这个状态表示防火墙或ACL拦了探测包,不代表端口一定关着。有一次我扫到一个filtered的22端口,以为是关的,结果换了个源IP再扫,端口直接open。所以遇到filtered,换个扫描方式或换个网络位置再确认一下,别急着下结论。

端口扫描不是按个回车就结束的事。你得清楚每个参数背后的行为逻辑,才能从一堆端口里看出门道来。下次扫之前,先想想你真正想知道什么——是端口通不通,还是后面跑着什么服务,还是想绕过防火墙探测。想清楚了,命令自然就写对了。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by nmap扫描端口命令,烟消火灭网   sitemap

回顶部