【安全工具】Nmap基本使用方法
Nmap工具介绍
Nmap是一款开放源代码的网络探测和安全审核工具,它被设计用来快速扫描大型网络、包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹、WAF识别及常见安全漏洞。
它的图形化界面是 Zenmap、分布式框架为 Dnmap
Nmap功能
主机探测:探测网络上的主机,如列出TCP/ICMP请求或开放特别端口的主机。
端口扫描:探测目标主机所开放的端口。
版本检测:探测目标主机的网络服务。判断其服务名称以及版本号。
系统监测:探测目标主机的操作系统以及网络设备的硬件特性。
支持探测脚本的编写:使用 Nmap 脚本引擎和 Lua 编程语言
Nmap安装
下载地址:点击前往
Windows版本直接下载对应版本安装,Linux系统则使用rpm命令进行安装
端口状态识别
Nmap使用参数
使用 “Nmap -h” 获取更多使用参数
重要参数
-sP:ping扫描 (不进行端口扫描)
-sT:进行TCP全连接扫描
-sS:进行SYN半连接扫描
-sF:进行FIN扫描
-sN:进行Null扫描
-sX:进行Xmas扫描
-O:进行探测目标主机版本
-sV:可以显示服务的详细版本
-A:全面扫描
-p:指定端口扫描
-oN:会将扫描出来的结果保存成一个 txt 文件
-oX:会将扫描出来的结果保存成一个 xml 文件
[-T1]–[-T5]:提高扫描速度
常用命令
一般当扫描主机防火墙打开时,是无法直接扫描的
扫描单个目标地址
Nmap 192.168.1.1
扫描多个目标地址
Nmap 192.168.1.1 192.168.1.2
扫描范围内的目标地址
Nmap 192.168.1.1-254
扫描目标地址所在的网段
Nmap 192.168.1.1/24
扫描主机列表 1.txt中所有的目标地址
Nmap -iL 1.txt
扫描除某一目标地址之外的所有目标地址
Nmap 192.168.1.1/24 -exclude 192.168.1.100
扫描除某一文件中的目标地址之外的目标地址
Nmap 192.168.1.1/24 -excludefile targets.txt // targets文件中ip不扫描
扫描某一目标地址(自定义的)端口
Nmap 192.168.1.1 -p 135,445,3389
对目标地址进行路由追踪
Nmap --traceroute 192.168.1.1
扫描目标地址所在C段的在线状态
Nmap -sP 192.168.1.1/24 //-sP(Arp ping)是平扫描
对目标地址的操作系统指纹识别
Nmap -O/-A 192.168.1.1
对目标地址提供的服务版本检测
Nmap -sV 192.168.1.1
探测防火墙状态
Nmap -sF -T4 192.168.1.1
TCP SYN Ping扫描
Nmap -sP -PS 192.168.1.1
//-PS 让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。-PS默认在80端口发送TCP SYN数据包;我们还可以指定端口,例如 -PS 135(指定135)端口。当管理员对TCP SYN数据包中的SYN数据包没有过滤时可绕过。
-PA TCP ACK Ping扫描
Nmap -sP -PA 192.168.1.1
//类比TCP SYN Ping扫描
-Pn 非ping扫描
Nmap -Pn 192.168.1.1 //常与其他命令联合使用
//不执行主机发现,可以跳过防火墙 ( 常用)
-vv 对扫描结果详细输出(vv小写)
Nmap -vv 192.168.1.1
//输出结果里包含了开放端口,扫描方法,端口对应服务协议等
鉴权扫描
Nmap --script=auth 192.168.1.1 //--script=auth 该参数可以对目标主机或目标主机所在的网段进行应用弱口令检测
暴力破解攻击
Nmap --script=brute 192.168.1.1
//--script=brute 可对数据库、SMB、Snmp等进行简单密码的暴力破解
扫描常见漏洞
Nmap --script=vuln 192.168.1.1
Nmap具有漏洞扫描的功能,可以检查目标主机或网段是否存在常见的漏洞
应用服务扫描
Nmap --script=realvnc-auth-bypass 192.168.1.1
Nmap具有常见应用服务的扫描脚本,如vnc服务、mysql服务、telnet服务、rsync服务
探测局域网内更多服务开启情况
Nmap -n -p 445 --script=broadcast 192.168.1.1
Whois解析
Nmap -script external xxx.com
列表扫描
Nmap -sL 192.168.1.1/24
//该命令仅仅列出指定网络上的每台主机,不会向目标主机发送任何报文。
//端口扫描,操作系统探测或者ping扫描,在该命令下不会执行。
识别和绕过防火墙与IDS
主机发现和端口扫描参数区分
一、主机发现
-Pn:只有该命令将指定的主机视作开启,跳过主机发现的过程用作穿透防火墙
-PA/-PS/-PU/-PY:使用TCP ACK/SYN/或SCTP INIT/ECHO方式来发现主机二、端口扫描
-sS/-sA/-sF:使用TCP SYN/ACK/FIN扫描,比较隐蔽
-sU:使用UDP扫描方式确定目标主机UDP端口情况
-sP:ping扫描,易被发现,可能会漏掉很多实际存活的主机
nmap的脚本
常用的脚本设置:–script=类别 进行扫描
常见的类别如下:
auth:绕过鉴权扫描
例:nmap --script=auth 192.168.11.1
broadcast:在局域网内探查更多服务开启的情况
brute:对常见的HTTP/SMTP等应用协议提供暴力破解
dos:用于拒绝服务攻击
vuln:用于检查目标机是否有常见漏洞
version:负责增强服务与版本扫描的功能的脚本
malware:探测目标机是否感染了病毒,开启后门等信息
fuzzer:模糊测试脚本,发送异常的包到目标机,探测出潜在漏洞
–script-updatedb:脚本更新
【安全工具】Nmap基本使用方法相关推荐
- Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap
Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具--Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...
- kali linux nmap使用教程,kali linux下nmap的使用方法介绍
知道kali 是什么吗,那么linux下nmap的使用方法是怎么回事呢,下面是学习啦小编跟大家分享的是kali linux下nmap的使用方法介绍,欢迎大家来阅读学习. kali linux下nmap ...
- 网络扫描工具Nmap常用命令
网络扫描工具Nmap常用命令 Nmap是一款知名的网络安全审计工具.它免费.开源,可以快速完成各种网络审计功能.它提供了多种探测方式,基于各种网络协议规范,可以发现网络设备并探测设备的各种常见端口.利 ...
- Linux性能分析工具与图形化方法
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:赵坤|腾讯魔王工作室后台开发工程师 在项目开发中,经常会遇到程序启动时间过长.CPU使用率过高等问题,这个时候需要依靠性能分析工具来 ...
- 第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法
学习笔记,仅供参考,有错必纠 Arrays工具类的asList方法 方法概述 public static <T> List<T> asList(T... a) 返回一个受指定数 ...
- python 子线程coredump_python多线程备份mysql数据工具:mysqlpdump使用方法
mysql的备份工具有很多,但是很多都备份比较慢,那有没办法多线程进行备份呢?分享一个python多线程备份mysql数据工具:mysqlpdump使用方法: mysqlpdump自己的介绍: MyS ...
- word没有显示endnote_Word2007或2010未显示EndNote工具条的解决方法 | 科研动力
Word 2007或2010未显示EndNote工具条的解決方法:1.修复安装:2.修改加载项:3.管理加载中心. 有时在Word 2007/ 2010可能会不显示EndNote工具条,造成这种情况最 ...
- java.util.zip 用法,Java压缩文件工具类ZipUtil使用方法代码示例
本文实例通过Java的Zip输入输出流实现压缩和解压文件,前一部分代码实现获取文件路径,压缩文件名的更改等,具体如下: package com.utility.zip; import java.io. ...
- YAHOO工具库提供的方法
From : http://zuozheng456.blog.163.com/blog/static/23690056200921044354522/ 1.1 YAHOO工具库提供的方法 2009-0 ...
- 分页封装实用工具类及其使用方法
分页封装实用工具类及其使用方法 作者: javaboy2012 Email:yanek@163.com qq: 1046011462 package com.yanek.util; import ...
最新文章
- wxWidgets搜索事件处理函数顺序
- dockerfile各种命令解析
- 可以在没有main()的情况下编写C程序吗?
- Andriod中的两种自定义颜色选择器
- Java多线程系列(四):4种常用Java线程锁的特点,性能比较、使用场景
- java+set+split_阿里资深工程师教你如何优化 Java 代码!
- Java 基础 之 赋值运算符
- 友商惭愧不?2000+的手机红米直接干到千元
- json ajax查询,jQuery AJAX和JSON性能查询
- 考研 数学一 公式笔记
- 【科研】如何查看自己期刊是不是SCI/EI(含期刊各种信息查询)
- 保护你的端口(转自赛迪网)
- SringBoot实现PDF签字盖章
- 深度融合钉钉PaaS,授客学堂助力企业实现培训数字化
- Kafka 中的这些设计思想值得一学!
- 11省市联动 828 B2B企业节启动仪式(伟仕佳杰站)顺利举办
- 今天试着用原生axios以及jquery下的axios请求数据
- 电气功能图绘制你都会了么 ?不会的看过来
- CSS 伪类选择器详解:为网页添加交互与美感
- 动手学数据分析 第一章之探索性数据分析
热门文章
- 高德地图路径轨迹起点标点不变_前有百度高德,后有华为滴滴,腾讯地图该如何上演王者归来的戏码?...
- 什么是航位推算(Dead Reckoning )
- 中北大学工程硕士计算机技术,中北大学光学工程专业介绍
- linux 下orical !)G 的安装
- 用python做我的世界代码_从零开始用Python做一个Minecraft成就(进度)生成器
- oom killer日志分析
- 中国猪饲料行业经营模式与十四五前景形势分析报告2022版
- TypeError: super(type, obj): obj must be an instance or subtype of type 该错误的一次处理
- 工业控制系统的安全研究与实践引言
- 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理