nmap基础
目录
皆是Linux命令
nmap端口状态解析
open: 应用程序在该端口接收 TCP 连接或者 UDP 报文。
closed :关闭的端口对于nmap也是可访问的,它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则或者主机上的软件防火墙。
unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open|filtered :无法确定端口是开放还是被过滤,开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的
端口扫描
主机A: ip地址 10.0.1.111
主机B: ip地址 10.0.1.112
A机器上查看本地ipv4的监听端口
netstat参数解释:
-l(listen)仅列出Listen(监听)的服务
-t(tcp)仅显示tcp相关内容
-n(numeric)直接显示ip地址以及端口,不解析为服务名或主机名
-p(pid)显示出socket所属的进程PID以及进程名字
--inet显示ipv4相关协议的监听
查看IPV4端口上的tcp的监听
netstat -Intp --inet
过滤掉监控在127.0.0.1的端口
netstat -Intp --inet|grep -v 127.0.0.1
扫描tcp端口
扫描A机器的1到65535所有在监听的tcp端口
nmap 10.0.1.111 -p 1-65535
指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services(包含大约2200个数据库)列出的端口,报出的端口不一定准确。
-- 注意:nmap有自己的库,存放一些已知的服务和对应端口号,有些服务不在nmap-services里,nmap就不会去扫描,这也是有的端口处于监听状态,nmap默认没扫描出来的原因.这就需要加 -p参数扫描所有端口.(不加-p,显示的是已知协议的端口,未知协议不显示)
扫描一个IP的多个端口
连续的端口可以使用横线连起来,端口之间可以使用逗号隔开
启动tcp监听,分别占用7777和8888端口,用于测试,加如&符号可以放入后台。
nc -1 7777&
nc -1 8888&
nmap 10.0.1.111 -p20-200,7777,8888
扫描udp端口
查看ipv4监听,使用grep -v排除回环接口上的监听
netstat -Inup --inet|grep -v 127.0.0.1
-sU:表示udp scan, udp端口扫描
-Pn: 不对目标进行ping探测(不判断主机是否在线,直接扫描端口)
nmap -sU 10.0.1.111 -Pn
扫描多个IP用法
空格空开
nmap 10.0.1.111 10.0.1.112
逗号隔开
nmap 10.0.1.111,112
扫描连续的ip地址
nmap 10.0.1.111-112
扫描一个子网网段所有IP
namp 10.0.3.0/24
扫描文件里的IP
当有一个ip地址列表,将其保存为txt文件,和nmap在同一目录下,扫描ip.txt文件内的所有主机,用法如下:
cat ip.txt 打开文本
nmap -iL ip.txt
扫描地址段是排除某个IP地址
nmap 10.0.1.111-112 --exclude 10.0.1.112
扫描时排除多个IP地址
排除连续的,可以使用横线连接起来
nmap 10.0.1.111-113 --exclude 10.0.1.112-113
排除分散的,使用逗号隔开
nmap 10.0.1.111-113 --exclude 10.0.1.111,10.0.1.113
扫描多个地址时排除文件里的IP地址
当地址存到文件里,扫描具体范围的地址时,文件里的地址不会扫描
cat ip.txt 打开文本(10.0.1.111,10.0.1.113)
nmap 10.0.1.111-113 --excludefile ip.txt
这时只能扫描到10.0.1.112这个ip

浙公网安备 33010602011771号