nmap学习和使用,2024最新网络安全大厂面试题来袭

在这里插入图片描述

  • 指定dns服务器解析域名

使用Google的公共DNS服务器(8.8.8.8)解析目标域名(scanme.nmap.org),然后对解析出的IP地址执行Nmap扫描。这是为了公司的dns服务器解析不出来域名

nmap --dns-servers 8.8.8.8 scanme.nmap.org

  • 对于禁Ping主机使用
    使用 -Pn 选项会让 Nmap 忽略对目标主机的 ping 检测,直接对所有目标主机执行端口扫描。这在目标主机阻止 ICMP ping 请求或者管理员想要绕过 ping 检测时非常有用。

nmap -Pn xxx.xxx.xxx.xxx

如政务云相关服务器是禁止ping的,不加 -Pn就扫描不到远程机器开放端口

在这里插入图片描述
加了 -Pn成功扫描到了远程机器开放端口
在这里插入图片描述

  • 扫描指定端口范围

nmap -p 1-65535 xxx.xxx.xxx.xxx

-p 1-65535:这是一个选项,用于指定要扫描的端口范围。在这种情况下,范围是从端口 1 到端口 65535,表示将扫描目标主机上所有可能的 TCP 和 UDP 端口

标识端口号的变量是16位的,2的16次方那么就是65536个,去掉0这个特殊端口,剩下65535个

  • 扫描一个或某几个端口

nmap -p 80,81 xxx.xxx.xxx.xxx

  • 全端口扫描

nmap -p- xxx.xxx.xxx.xxx

  • 指定协议扫描

nmap -p T:43,U:53 xxx.xxx.xxx.xxx

-T: tcp端口
-U:udp端口

nmap -p ssh xxx.xxx.xxx.xxx

探测某个协议的端口

  • 端口状态解释
    在这里插入图片描述

在Nmap扫描过程中,您可能会遇到不同的端口状态。下面是一些常见的端口状态及其含义:
open:端口是打开的,表示目标主机上运行着一个服务,并且可以接受连接。
closed:端口是关闭的,表示目标主机上未运行该端口的服务,并且主机拒绝连接。
filtered:端口被过滤了,表示Nmap无法确定端口的状态,因为防火墙、网络过滤器或其他设备阻止了Nmap的扫描请求到达目标主机。
unfiltered:端口未被过滤,表示Nmap能够确定端口是开放或关闭的,但无法确定具体是哪一种状态。
open|filtered:端口可能是开放的,也可能是被过滤的,Nmap无法确定端口的确切状态。
closed|filtered:端口可能是关闭的,也可能是被过滤的,Nmap无法确定端口的确切状态。

注意事项

  • Nmap扫描到的“closed”端口并不意味着它们是完全隐藏的或者不可见的。相反,它们是在目标主机上存在的,但是没有运行与之相关联的服务。因此,尽管这些端口处于关闭状态,但它们仍然可以被扫描到,并且扫描程序能够从目标主机获得拒绝连接的响应。
  • open的端口可能是攻击者入侵的目标,因此需要特别关注,而filtered状态的端口可能需要进一步的调查,以确定防火墙或过滤器的配置情况。
2.2 识别目标机器服务指纹
  • 识别服务指纹

nmap -sV xxx.xxx.xxx.xxx

s服务 V版本

使用 Nmap 对指定的目标 IP 地址进行服务版本检测扫描,以获取目标主机上运行的服务的版本信息。
可以与nmap -sV -p 1-65535 ip 联合使用查看所有端口。

在这里插入图片描述

nmap -T4 -A -v xxx.xxx.xxx.xxx

使用Nmap对指定的目标IP地址进行扫描,设置扫描速度为正常模式,并启用全面扫描(会启用NSE所有脚本进行破解)功能,同时打印出更详细的扫描信息如版本号,加密算法方式等。

-T4:这是一个选项,用于设置扫描的速度和对目标系统的影响。-T4表示设置扫描速度为正常(Normal)模式,即快速扫描。k可以设置为1-5
-A:这是一个选项,用于执行“全面扫描”。-A选项将启用操作系统检测、服务版本检测、脚本扫描和traceroute等功能,以提供更详细的关于目标主机的信息。
-v:这是一个选项,用于设置扫描的详细程度。-v表示启用详细模式,即更多的信息将被打印出来

在这里插入图片描述

2.3 nse

nmap --script auth

将运行所有属于auth类别的脚本来对目标进行扫描

nmap --script

运行特定的脚本,可以指定脚本的名称

auth:
负责处理鉴权证书(绕开鉴权)的脚本
broadcast:
在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务
brute:
提供暴力破解方式,针对常见的应用如http/snmp等
default:
使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
discovery:
对网络进行更多的信息,如SMB枚举、SNMP查询等
dos: 用于进行拒绝服务攻击
exploit: 利用已知的漏洞入侵系统
external: 利用第三方的数据库或资源,例如进行whois解析
fuzzer:
模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
malware: 探测目标机是否感染了病毒、开启了后门等信息 safe: 此类与intrusive相反,属于安全性脚本
version: 负责增强服务与版本扫描(Version Detection)功能的脚本
vuln:
负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

  • 列举所有mysql用户
    nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root xxx.xxx.xxx.xxx
  • 扫描mysql相关的脚本
    nmap --script=mysql* xxx.xxx.xxx.xxx
2.4 调式模式

-d参数即可打开调试模式
nmap -d xxx.xxx.xxx.xxx

-d参数用于增加调试输出。当使用-d参数时,nmap将输出更多的调试信息,以帮助用户了解扫描过程中发生的情况

总结

nmap -p 1-65535 -T4 -A -v xxx.xxx.xxx.xxx
使用Nmap对指定的目标IP地址的所有端口进行扫描,设置扫描速度为正常模式,并启用全面扫描(会启用NSE所有脚本进行破解)功能,同时打印出更详细的扫描信息如版本号,加密算法方式等
nmap -A命令将启用一些Nmap的主要脚本,并进行更全面的扫描,但不会启用所有NSE脚本。具体来说,-A选项会启用以下操作:

主机发现(Ping扫描):检测目标主机是否在线。
操作系统检测:尝试识别目标主机运行的操作系统。
版本检测:尝试确定目标主机上运行的服务的版本信息。
脚本扫描:执行一些常见的Nmap脚本,如漏洞检测、服务发现等。
虽然-A选项会启用一些NSE脚本,但不会启用所有的脚本。要启用所有的NSE脚本,您需要使用–script=all选项。
-A选项是-T4、-O、-Pn、-sC和–script=default选项的组合。

因此我会使用 nmap -p 1-65535 -T4 -A -v --script=all xxx.xxx.xxx.xxx进行扫描

3 结果分析

扫描完成后,有大量的日志输出需要去分析日志

  • 开放端口是否存在问题 重点分析 open状态的端口
    是不是有的端口可以直接访问到文件
    是不是有的端口可以没有鉴权直接返回了一些数据
    是不是有点端口直接就下载了文件等
  • 是否存在漏洞
    查看nse是否发现漏洞
  • 将xml 转化为 如下的html 报告(好向领导汇报需要替换文档的样式)
    在这里插入图片描述

from lxml import etree

读取生成报告的XML文件

tree = etree.parse(r’D:\nmap\zt.xml’)

读取XSL样式表文件

xslt = etree.parse(r’D:\nmap\new_template2.xsl’)

创建转换器并应用样式表

transform = etree.XSLT(xslt)
result = transform(tree)

将转换结果写入HTML文件

with open(‘output2.html’, ‘wb’) as f:
f.write(result)

  • D:\nmap\new_template2.xsl 样式代码如下
<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version=“1.0” xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=“html” encoding=“utf-8” indent=“yes” doctype-system=“about:legacy-compat”/>
<xsl:template match=“/”>

Nmap Scanner 扫描报告

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

d629f1415a9e35662316578e07.png#pic_center)

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值