步骤1:基本端口扫描。
在Kali Linux终端中执行命令nmap 192.168.142.130。该操作会对Ubuntu靶机发起默认的TCP SYN扫描,覆盖Top 1000个常用端口。通过观察输出结果,记录目标主机开放的端口号、对应协议以及Nmap识别出的服务名称,确认网络连通性与基本服务状态。
步骤2:详细输出扫描。
执行命令nmap -vv 192.168.142.130。加入-vv参数用于提高输出信息的详细程度。在扫描过程中,实时查看Nmap的扫描反馈细节,包括正在进行的扫描阶段、端口状态判断的依据等。这有助于深入理解扫描引擎的工作机制及数据包的交互过程。
步骤3:自定义端口范围扫描。
执行命令nmap -p 100-200 192.168.142.130。通过-p参数指定扫描范围为第100至200号端口。这种针对性扫描能避开大量无关端口,显著提升扫描效率,适用于已知服务位于特定端口段的排查场景。
步骤4:指定端口扫描。
执行命令nmap -p 21,22,80,443 192.168.142.130。利用逗号分隔符精确指定FTP、SSH、HTTP及HTTPS四个关键服务端口。该步骤旨在快速验证靶机是否提供这些基础网络服务,是渗透测试中快速摸底的常用手段。
步骤5:Ping扫描(主机发现)。
执行命令nmap -sP 192.168.142.1-255。该命令对整个C段网段进行Ping扫描,仅发送ICMP请求等探测包以发现存活主机,而不进行端口探测。输出结果将列出所有响应主机的IP地址及其MAC地址,便于掌握局域网内设备分布情况。
步骤6:操作系统探测。
执行命令nmap -O 192.168.142.130。使用-O参数启用操作系统检测功能。Nmap通过分析目标主机TCP/IP协议栈的指纹特征,推断其操作系统类型。结果显示目标系统为Linux及具体内核版本,验证了指纹识别技术的准确性。
步骤7:综合扫描(万能开关)。
执行命令nmap -A 192.168.142.130。-A参数是一个聚合开关,它同时启用了服务版本探测、脚本扫描、操作系统识别和路由跟踪功能。该扫描提供了最为详尽的系统信息,模拟了高级攻击者的全面侦察行为。
步骤8:iptables防御验证。
在Ubuntu靶机终端执行sudo iptables -A INPUT -p tcp --dport 80 -j REJECT,添加拒绝TCP 80端口入站连接的规则,并用sudo iptables -L INPUT -n --line-numbers查看规则列表以确认生效。随后回到Kali端,执行nmap -p80 192.168.142.130再次扫描80端口。结果显示端口状态由open变为filtered,证明防火墙成功拦截了扫描请求,防御验证完成。
实验结果:
本次实验通过不同参数的Nmap扫描,成功获取了Ubuntu靶机的详细信息。基本扫描与指定端口扫描确认了常用服务的开放状态,-O参数准确识别出目标为Linux系统,-A综合扫描则输出了包含服务版本、OS及脚本扫描结果的全面报告。在配置iptables规则拦截80端口后,Kali端扫描显示该端口状态变为filtered,有效验证了防火墙对扫描行为的阻断作用。
个人收获: 通过实验,我掌握了Nmap核心参数的使用逻辑,明确了各种扫描技术在信息搜集阶段的应用价值。同时,深刻体会到主动防御的重要性。合理配置防火墙规则能显著增加攻击者的侦察难度。在实际安全防护中,应及时关闭非必要端口并定期进行系统加固,构建纵深防御体系以保障网络安全。
本文作者:Linxiong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!