您现在的位置是:烟消火灭网 > 焦点

怎么用nmap

烟消火灭网2026-10-17 07:40:23【焦点】0人已围观

简介 怎么用nmap 凌晨三点,我盯着屏幕上的扫描结果,后背发凉。那台运行着MySQL的服务器,居然还开着22号端口——SSH密码是root/123456。这不是我的机器,是上周刚入职的实习生部署的测试环

怎么用nmap

凌晨三点,我盯着屏幕上的扫描结果,后背发凉。那台运行着MySQL的服务器,居然还开着22号端口——SSH密码是root/123456。这不是我的机器,是上周刚入职的实习生部署的测试环境,他忘了关防火墙。Nmap救了我一命,它把整个内网资产摸了个底朝天。

先别急着敲命令。你得明白nmap是干什么的:它不是黑客工具,是网络测绘仪。就像医生用听诊器,你用nmap听网络的心跳。最基础的用法,nmap 192.168.1.1,扫单个IP。它会告诉你这个IP上开了哪些端口,对应什么服务。但这样太慢了,默认扫描方式会浪费大量时间在TCP三次握手上。

我常用的第一条命令是nmap -sS -T4 -p- 192.168.1.0/24。拆开讲:-sS是SYN半开扫描,只发SYN包不建立完整连接,速度快且不易被日志记录;-T4是激进时间模板,适合内网;-p-扫全部65535个端口,别用默认的1000个——很多后门就藏在高端口。扫完你会看到类似22/tcp open ssh的输出,但光知道端口开了没用,你得知道服务版本。

加个-sV参数,nmap会主动连接服务并提取版本信息。比如它会把22/tcp open ssh细化成OpenSSH 7.4 (protocol 2.0)。这时候你就能判断:哦,CentOS 7的老系统,该提醒运维打补丁了。但版本探测会留下痕迹,如果对面是蜜罐,你已经被记录了。

真正让我觉得nmap强大的是脚本引擎(NSE)。nmap --script=vuln 192.168.1.105,它会自动加载漏洞检测脚本。上周我扫一台内部Wiki服务器,它直接报出CVE-2021-44228(Log4j漏洞)存在。那一刻我理解了为什么安全圈流传一句话:nmap不是扫描器,是漏洞情报终端。

不过别迷信默认脚本。我习惯自己写简单的NSE脚本,比如检测某个自定义端口是否响应特定字符串。写脚本用Lua语言,语法简单,local port = stdnse.get_port_args()这种代码看两遍就会。但多数人不需要走到这一步,内置的--script=http-title就够用了——它批量抓取Web服务的标题,帮你快速识别哪些是管理后台。

还有个容易忽略的细节:-O参数做操作系统指纹识别。但注意,它需要至少一个开放端口,且依赖TCP/IP协议栈特征。我遇到过nmap把Linux识别成Windows的情况,因为那台机器改了TTL值。所以别把-O结果当圣旨,它只是参考。

最后说个坑。很多人扫外网IP直接不加--source-port,结果被防火墙规则拦截。我习惯加-g 53,让源端口固定为53(DNS),很多防火墙会放行DNS流量,这样能绕过部分过滤规则。但别滥用,扫描不属于你的网络是违法的——我吃过大亏,去年因为扫了客户云上未授权的IP段,差点被告。

nmap的用法就这么多,核心是参数组合。扫内网用-sS -T4 -p-,扫Web服务加-sV --script=http-title,应急排查用--script=vuln。剩下的,多扫几次,看输出,你会摸清它的脾气。工具是死的,网络是活的——每次扫描都是一次对话,你问它“你开了什么”,它回答你“我暴露了什么”。

很赞哦!(6245)

上一篇: 免费刷q币

下一篇: navicat打开sql文件