[推荐] 网络侦查工具 NMAP 简单入门
[推荐] 网络侦查工具 NMAP 简单入门
# 前言
作为一只运维开发,总是避不开要和网络打交道的。尤其是当自身能力到达瓶颈,开始从事云计算以求突破。会有搭建多台虚拟机的需要,这时候如果在手工的查询 IP 实在有些麻烦。当然我还是可以给你们举更多例子,上篇文我们写到 无人值守安装Linux操作系统 这是在大型项目中最经常遇到的技术之一。在文章中我说可以通过生成的 ks.cfg
文件进行批量处理,这样我们就可以设置相同的密码,网络使用静态或动态。这样我们就有了很多服务器,或者说你是一名黑客需要爆破服务器密码。可是,连 TCP/IP
的网络层,IP地址都拿不到又如何能登录操作系统呢?
# nmap
Nmap(网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字 Nmap 是 Network Mapper 的简称。
通常情况下,Nmap 用于:
- 列举网络主机清单
- 管理服务升级调度
- 监控主机
- 服务运行状况
Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
它是网络管理员必用的软件之一,用以评估网络系统安全。
Nmap 是不少黑客及脚本小孩爱用的工具 。
系统管理员可以利用 Nmap 来探测工作环境中未经批准使用的服务器,黑客通常会利用 Nmap 来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 通常用在信息搜集阶段,用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描、漏洞利用和权限提升阶段的输入。例如,业界流行的漏洞扫描工具Nessus与漏洞利用工具 Metasploit 都支持导入 Nmap 的 XML 格式结果,而 Metasploit 框架内也集成了 Nmap 工具(支持 Metasploit 直接扫描)。
Nmap 不仅可以用于扫描单个主机,也可以适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。
# 正文开始
介绍完 NMAP 有哪些用处以及简介,正好作者博客园没有 NMAP 文章。本文会结合作者学习工作中的需要写一些常用操作
零、工具与过程
I、工具:
NMAP 共有 GUI 与 CLI 俩种模式对应俩款工具:Zenmap 与 nmap
II、过程:
因为该工具特别有名,故所有操作系统都是支持的。我们的环境在 CentOS 6.5 的公网下进行扫描测试。
- 安装程序
- 简单扫描
- 完整扫描
- 网段扫描(三种表达方法)
- IP 端
- 子网
- 通配符
- 扫描方式
- NOT PING
- TCP SYN
- UDP
- 版本扫描
- 操作系统
- 软件版本
- 端口扫描
- 多端口
- 端口段
因为不能教大家做坏事,所有还是以系统管理员常用的为主。(重点已加粗)
一、安装程序
I、系统信息
II、安装命令
# yum install nmap -y
注意:我的操作系统该工具包是由atomic
仓库提供,如果您不可以安装。请完成以下操作。
# curl -o /etc/yum.repos.d/atomic.repo https://raw.githubusercontent.com/erlinux/LinuxDotFiles/master/yum.repos.d/atomic.repo # yum clean all # yum makecache # yum install nmap -y
二、简单扫描
# nmap 1.2.3.4 # nmap localhost # nmap 192.168.1.1
您大致可得到如下结果:
其实您会发现缺少很多信息,比如:版本号、系统信息等。
三、完整扫描
# namp -v -A example.com
参数:
-v:显示版本信息
-A:近可能可能完整信息
输出结果:
因过输出过于冗长,并非本次重点。
结果放置GITHUB,有兴趣可点击浏览:https://gist.github.com/2cdae9102f7f4be81a5ed3c2ed70019c
四:网段扫描
I、快速列表
# nmap -sL 1.1.1.0/24
参数:
-sL:简单的列表扫描
II、IP 段
# nmap -sL 1.2.4.2-12
III、子网
上述已经有展示了,不多演示。
V、通配符
经过测试在 Nmap6.47 中没有成功。但这个方法是我当时参加信息安全比赛时在训练机上展示的。
大家可以留个心眼,欢迎交流。
五、扫描方式
扫描方式有很多种,但这需要对TCP/IP非常的了解。作者懂得也不是很多,不在此误导大家。介绍常用的三种~
I、TCP SYN
该扫描在三次握手为完成的情况下进行探测,好处是不会被对方日志系统记录(因为为完成三次握手)
# nmap -sS example.com
通过TCP SYN的方式,我们已经了准确的探测(代价也很大)。端口将在后续探讨~
II、UDP
# nmap -sU example.com
UDP的方式较快。有些时候扫描不出结果可尝试该权限,或许有所收获。
III、NOT PING
# nmap -nP example.com
与之相反的是nmap -sP
告诉 Nmap 仅仅进行 ping 扫描。
嗯,大家可以看到。内网使用-sL
ARP方式、外网使用-sP
、特殊情况特殊对待。希望了解更多信息最好带-sS
TCP隐蔽扫描与-v
参数得到版本信息
六、版本扫描
I、探测系统
nmap -O example.com
II、探测网络
nmap -vv -sS example.com
七、端口探测
I、探测协议
# nmap -sO example.com
II、端口探测
1、指定端口
# nmap -p 80,25,443,110 127.0.0.1
nmap已经非常成熟了,很多方式都是支持的。比如端口、IP之间逗号和空格就是可以识别的。
2、端口范围
# nmap -p 1024-2048 127.0.0.1
III、解决问题
还记得文章开始提出的问题吗?我们如何对正在开机的服务器探测呢?
# nmap -sP <server_ip_range> -p 22 --open
Perfect~ 写了一个下午...
# 整理归纳
本来想写一篇美文的,写完了发现有些偶联。
一方面是NMAP太过于庞大,我的逻辑上没有归纳的很好。另外一方面,其实NMAP本身定位就是网络发现和服务探测,所以模块间有必然的联系。
# 彩蛋(完整的一次扫描)
TCP/IP:
数据链路层:ARP,RARP
网络层: IP,ICMP,IGMP
传输层:TCP ,UDP,UGP
应用层:Telnet,FTP,SMTP,SNMP.
OSI:
物理层:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS
数据链路层:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2
网络层:IP,IPX,AppleTalk DDP
传输层:TCP,UDP,SPX
会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP
表示层:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML
应用层:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP
物理层
电源插了么
数据链路层
网卡工作吗
网络层
arping / nmap -PR / -sP
传输层
nmap -sO / -sS / -sU / -vv
会话层
nbtstat -> NetBIOS
nslookup -> Names
表示层
hydra -> encryption/decode
HTML
应用层
tcping / nmap -O / nmap --script=all
这么展示出来,其实nmap主要还是工作在网络层到应用层。很强大~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 短信接口被刷爆:我用Nginx临时止血
· .NET 平台上的开源模型训练与推理进展
· Google发布A2A开源协议:“MCP+A2A”成未来标配?
· C# 多项目打包时如何将项目引用转为包依赖
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!