诸神之眼-Nmap 教程 2
Nmap基础学习
语法
nmap + [空格] + <选项|多选项|协议> + [空格]+ <目标>
如
nmap <ip>
可迅速扫出目标端口开放情况

端口状态
Open对外开放状态。
Closed关闭状态(可能一会儿会打开哦)。
Filtered被防火墙或路由访问规则过滤掉了,也有可能是网络堵塞造成的。
Unfiltered未被过滤端口可以访问,但不知道端口开放还是关闭。此时可换一种扫描方式。
Open|Filtered说明探测报文没有得到目标端口的响应。此时可换一种扫描方式。
Closed|Filtered关闭或过滤,只出现在IPID Idle扫描中。
全面扫描
扫描目标的所有端口+目标系统信息
nmap -A <ip>
扫描指定段
在内网中用的较多,可以发现局域网下的所有主机目标
nmap 192.168.1.100-200
扫描结果如下,可以看到有7个主机存活(即在线)。


主机发现
目录
| 选项 | 解释 |
|---|---|
| -sP | Ping扫描 |
| -P0 | 无Ping扫描 |
| -PS | TCP SYN Ping扫描 |
| -PA | TCP ACK Ping扫描 |
| -PU | UDP Ping 扫描 |
| -PE;-PP;-PM | ICMP Ping Types 扫描 |
| -PR | ARP Ping 扫描 |
| -n | 禁止DNS反向解析 |
| -R | 反向解析域名 |
| --system-dns | 使用系统域名解析器 |
| sL | 列表扫描 |
| -6 | 扫描IPv6地址 |
| --traceroute | 路由跟踪 |
| -PY | SCTP INIT Ping |
Ping扫描
nmap -sP <ip>
只进行Ping,然后返回做出响应的主机

你可能会觉得和Ping没什么区别,那你感觉对了,哈哈
如果你想一次性Ping很多主机,参考上面1.扫描指定段
无Ping扫描
nmap -P0 <ip>
当防火墙禁止Ping时可以用这个,可避免被防火墙发现

nmap -P0 【协议1,协议2】<ip>
-P0默认使用协议1,协议2,协议4进行扫描,我们还可以指定协议进行扫描
ICMP:协议编号1
IGMP:协议编号2
TCP:协议编号6
UDP:协议编号17
另:如果你想知道只写协议是如何判断主机状态的可以使用 --packet-trace(即namp -P0 --packe-trace )
如我们指定TCP,UDP,IGMP协议项目标发送包
namp -P06,17,2 www.heihei.work

TCP SYN Ping扫描
nmap -PS -v www.heihei.work
Nmap默认Ping扫描使用TCP ACK 和 ICMP Echo 请求目标,当请求被主机防火墙阻止时,可使用该方式。

TCP协议是一种可靠的传输层协议。
-PS选项发送一个设置SYN标志位的空TCP报文。
默认端口80(可修改,如-PS22,23,25,11,5,3306,3389 被指定的多个端口会被并发地扫描)
TCP ACK Ping扫描
nmap -PA <ip>
它与-PS的唯一区别就是设置TCP标志位时ACK而不是SYN。这样就可应付很多防火墙封锁SYN报文的情况。
另
我们也可以同时向目标发送ACK和SYN的报文
nmap -PA -PS <ip>

额额,发现两次扫描结果不一样就离谱,上图比第一次扫描多扫出来了6个端口!
UDP Ping 扫描
nmap -PU -v <ip>
-PU选项是发送一个空的UDP报文到指定端口。目标主机相应则返回一个ICMP端口不可达错误,否则返回各种ICMP错误。
ICMP Ping Types 扫描
使用-PE;-PP;-PM;选项可进行ICMP(Internet Control Message Protocol)扫描。
nmap -PE -v <ip>


上面是ICMP Echo 扫描方式。
nmap -PM -v <ip>

上面是ICMP 地址掩码Ping扫描。
nmap -PP -v <ip>

上面是ICMP 时间戳Ping扫描。
从上面可以看出不同的扫描方式对不同的防火墙有着不同的效果。
ARP Ping 扫描
nmap -PR <ip>

-PR常用于局域网,ARP(Address Resolution Protocol)地址解析协议。
他的功能是将ARP请求广播到网络上的所有主机,接收返回的信息从而确定目标的IP地址,记录IP地址和硬件地址到ARP缓存中,下次直接使用。
扫描列表
nmap -sL <ip>

他只会列出IP列表,如果IP对应的有他的域名也会被列出(即反向域名解析)。敢觉这个功能挺鸡肋的。
禁止反向域名解析
nmap -n -sL <ip>
-n和上一个的区别就是不列出域名。
反向域名解析
nmap -R -sL <ip>
列出IP对应有域名的目标域名。
使用系统域名解析器
nmap --system-dns <ip1> <ip2>

多个请求并发执行可以提高性能。
扫描一个IPv6地址
nmap -6 <ip>
IPv6(Internet Protocol Version 6),它设计用于替代当前IPv4版本。
路由跟踪
nmap --traceroute -v <ip>


--traceroute 可以查出从本地到目标之间所经过的网络节点,及经过这些节点的时间。
默认使用主机配置的域名服务器域名解析,用该选项后会使用系统自带的解析器。
SCTP INIT Ping 扫描
nmap -PY -v <ip>

通过发送INIT包判断主机是否存活。
SCTP(Stream Control Transmission Protocol)流控制传输协议,SCTP可看做是传输层协议,可看做TCP协议的改进版。
探索网络
目录
| 选项 | 解释 |
|---|---|
| -T | 时序选项 |
| -p | 端口扫描顺序 |
| -sS | TCP SYN 扫描 |
| -sT | TCP连接扫描 |
| -sU | UDP扫描 |
| -sN;-sF;-sX | 隐蔽扫描 |
| -sA | TCP ACK 扫描 |
| -sW | TCP 窗口扫描 |
| -sM | TCP Maimon 扫描 |
| --scanflags | 自定义TCP扫描 |
| -sI | 空闲扫描 |
| -sO | IP协议扫描 |
| -b | FTP Bounce扫描 |
时序选择(扫描速度选择,一般我们使用-T4)
-T0非常慢,可IDS逃避。
-T1缓慢,可IDS逃避。
-T2有点慢,降低速度以减缓宽带的消耗。
-T3默认,根据目标反应自动调整时间
-T4快速,需要良好的网络环境,请求可能淹没目标。
-T5急速,牺牲准确度以提高扫描速度。
IDS:入侵检测系统
0.027s果然很快,哈哈
常用扫描方式
-p指定端口
nmap -p 445 <ip>
-p指定端口范围
nmap -p 445~1000 <ip>
-p指定不同类型端口(以同时扫描TCP,UDP为例)
nmap -p T:111 ,U:445 <ip>


-F快速扫描部分端口
namp -F <ip>

--top-ports开放概率最高的1000个端口
nmap --top-ports <number> <ip>
如我们扫描概率最高的200个端口。

--port-ratio开放概率高于一定数值的端口
nmap --top-ports <0~1> <ip>

TCP SYN 扫描
nmap -sS <ip>

较为隐蔽,不完成三次握手避免被主机发现。
TCP 连接扫描
namp -sT <ip>
用于SYN扫描(-sS)不能使用时。
UDP 扫描
nmap -sU <ip>
一种很慢的扫描方式(所以通常加上-p 80-100来指定端口范围),通常被管理员和安全审核人员忽略。
隐蔽扫描
-sNNULL扫描,发送非常规的TCP包探测。
-sFFIN扫描,发送FIN包比TCP FIN更隐蔽穿透效果更好。
-sXXmas扫描,数据包FIN,PSH,URG标记位打开即标志为1.
如
nmap -sN <ip>

诸神之眼-Nmap 教程 2的更多相关文章
- 诸神之眼 - Nmap 教程
*注: www.heihei.work 为本人测试网站,可由 官方测试网站 scanme.nmap.org代替. NO.11.扫描端口开放的服务nmap -T4 -A -v www.heiehi.wo ...
- nmap教程(下)
九.脚本引擎 脚本文件存放在/usr/share/nmap/scripts目录下 SCRIPT SCAN: -sC: equivalent to --script=default #启用默认类脚本 - ...
- nmap教程(上)
一.nmap的主要功能 1.端口扫描 2.主机探测:查找目标网络的在线主机 3.服务/版本检测:发现开放端口后,进一步检测目标主机的检测服务协议.应用程序名称.版本号等信息 4.操作系统检测 5.网络 ...
- ubuntu下程序员常用命令大全
一.ubuntu下用命令查询系统版本 1.在终端中执行下列指令: cat /etc/issue 该命令可查看当前正在运行的ubuntu的版本号. 效果如图: 2.使用 lsb_release 命令也可 ...
- snmp默认团体名/弱口令漏洞及安全加固
0x00基础知识 简单网络管理协议(SNMP)被广泛用于计算机操作系统设备.网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况.在运行SNMP服务的设备上,若管理员配置不当运行默认团体 ...
- 渗透测试工具Nmap从初级到高级使用教程
本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...
- Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹
Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹 Nmap工具的准备工作 当用户对Nessus工具有清晰的认识后,即可使用该工具实施扫描.但是,在扫描之前需要做一些准备工作,如探测网络中活动的主 ...
- Nmap扫描教程之基础扫描详解
Nmap扫描教程之基础扫描详解 Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在 ...
- Nmap扫描教程之网络基础服务DHCP服务类
Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...
随机推荐
- [Fundamental of Power Electronics]-PART II-8. 变换器传递函数-8.3 阻抗和传递函数图形的构建
8.3 阻抗和传递函数图形的构建 通常,我们可以通过观察来绘制近似的bode图,这样没有大量混乱的代数和不可避免的有关代数错误.使用这种方法可以对电路运行有较好的了解.在各种频率下哪些元件主导电路的响 ...
- django+x-admin管理后台模板开发管理后台案例(设计部分)
使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...
- 善用k8s describe
使用 kubectl describe 来查看某个东西的详细例如 kubectl describe deployment my-nginx kubectl describe svc my-nginx
- 浅谈Asp.net Mvc之Action如何传多个参数的方法
最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表. 为完成此功能,我打算在URL中传入了两个参数,一个记录此日志时间,另外一个记录日志 ...
- 《机器学习Python实现_10_09_集成学习_bagging_stacking原理及实现》
介绍 前面对模型的组合主要用了两种方式: (1)一种是平均/投票: (2)另外一种是加权平均/投票: 所以,我们有时就会陷入纠结,是平均的好,还是加权的好,那如果是加权,权重又该如何分配的好?如果我们 ...
- Django Ajax序列化与反序列化
序列化与反序列是最常用的功能,有时我们需要将一个表单组打包成Json格式等然后再提交给服务端,这样可以提高效率节约带框,如下是Django配合Ajax实现的序列化与反序列化,文件上传等操作. Ajax ...
- hdu4740 不错的简单搜索
题意: 给你一个n*n的图,给你驴和老虎的初始坐标和方向,已知他们的速度相同,他们走动的时候都是走直线,如果不能走,驴往右拐,老虎往左拐,如果拐了一次还走不了就原地不动,问他们的最早相遇位置 ...
- Caddy-基于go的微型serve用来做反向代理和Gateway
1.简单配置 2.go实现,直接一个二进制包,没依赖. 3.默认全站https 常用 反向代理,封装多端口gateway 使用:启动直接执行二进制文件 caddy 就行 根据输出信息 直接https: ...
- [CTF]Brainfuck/Ook!编码
[CTF]Brainfuck/Ook!编码 --------------------- 作者:adversity` 来源:CSDN 原文:https://blog.csdn.net/qq_408 ...
- <JVM上篇:内存与垃圾回收篇>01-JVM与Java体系结构
笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...
