namp的使用

本文详细介绍了Nmap工具的端口扫描、主机探测、服务识别、系统识别及漏洞检测功能,涵盖了扫描方法、端口状态解释和安全注意事项。
摘要由CSDN通过智能技术生成

目录

前言:

一、端口扫描

1、扫主机端口

2、扫指定端口

3、指定扫描方式

 tcp全连接扫描

SYN半链接扫描

隐秘扫描(只适用于linux系统)

小结:

二、主机扫描

三、服务识别

四、系统识别

总结:


前言:

namp有五种基本功能:端口扫描,主机探测,服务识别,系统识别,漏洞检测。

一、端口扫描

1、扫主机端口

namp [主机ip]
nmap 192.168.74.1

nmap用4.87秒扫描了1000个端口(默认扫描1000个)其中995个端口关闭只有5个开放。

扩展(了解即可):

TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流传输层通信协议

135端口:用于远程的打开对方的telnet服务 ,用于启动与远程计算机的 RPC 连接,很容易就可以就侵入电脑。

139端口:用于获得获得NetBIOS/SMB服务。

445端口:用于在局域网中轻松访问各种共享文件夹或共享打印机,通过该端口能偷偷共享硬盘,甚至会在悄无声息中将硬盘格式化掉。

902端口:busybox进程的一个功能端口(具体什么功能未知)

912端口:虚拟机的监听端口

2、扫指定端口

nmap [ip] -p [LPORT]

扩展:

端口状态

open(开放的):应用程序正在该端口接收TCP连接或者UDP报文。

closed(关闭的):关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。

filtered(被过滤的):包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤来自于防火墙。

unfiltered(未被过滤的):未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。

open|filtered(开放或者被过滤的):当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。

closed|filtered(关闭或者被过滤的):该状态用于Nmap不能确定端口是关闭的还是被过滤的。

3、指定扫描方式

打开kali内的wireshark抓包分析不同扫描方式的请求信息

抓包eth0输入过滤条件ip.addr == 192.168.74.1 and tcp.port == 80,然后再次执行

nmap 192.168.74.1 -p 80得到请求包

扩展:

eth0:第一个以太网接口,eth0通常是系统默认的以太网接口名称,用于连接主机到局域网或广域网。

  •  tcp全连接扫描
nmap 172.16.17.168 -p 445 -sT
#使用-sT参数进行

使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。

state为open端口开放,否则为close。由于要完成TCP的3次握手,速度较慢,且这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。且容易被防火墙过滤不推荐使用。

  • SYN半链接扫描

只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭

扫描不会被记录到系统日志中,不会再目标主机有扫描痕迹,但要有root权限。还是容易被过滤。

  • 隐秘扫描(只适用于linux系统)

向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)

nmap 127.0.0.1 -p 80 -sF	# Fin扫描
nmap 127.0.0.1 -p 80 -sN	# Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX	# Xmas扫描(flags的FIN、URG、PUSH都为1的包)

小结:

在端口显示被filtered的情况下,要想确定一个端口是否是开放的,通常可结合-sT和-sS、-sF等联合判断。

如:80端口用-sT扫描出来是filtered,但用-sF扫出来是open/filtered

二、主机扫描

扫描网段中有哪些主机在线,不扫描端口,只扫描存活主机,本质上是Ping扫描,能Ping通有回包,则主机在线。

nmap -sP 172.16.17 0/24

nmap -sn 172.16.17 0/24

#172.16.17.0是子网的起始IP地址,/24表示子网掩码是255.255.255.0,即前24位是网络部分,后8位是主机部分。扫描将包括192.168.31.1到192.168.31.254范围内的所有IP地址。

由于我们此时处于NAT模式,会导致nmap误判主机全存活,所以可以指定nmap只使用ICMP echo请求探测(-PE)主机,即添加-PE参数,这样nmap就只发送一个ICMP echo请求。

nmap -sn -PE -n 172.16.17.0/24
#-n不要进行 DNS 解析,nmap 不会尝试将 IP 地址解析为域名,这可以加快扫描速度,并减少不必要的网络流量

或者直接将网络连接模式改为桥接。

注意:未经授权扫描非自己的网络的非法行为

三、服务识别

默认显示端口对应的服务,但不显示服务版本。

可以使用-sV显示服务版本

VERSION字段显示服务的详细版本。

四、系统识别

使用-O

nmap 172.16.17.168 -p 445 -O

当识别不出具体操作系统时会将可能的操作系统列出。

五、漏洞检测

nmap -sV --script=vuln 192.168.222.144
#-sV:用于启用版本检测,以便Nmap尝试识别目标主机上每个开放端口的服务版本。
#--script=vuln:指定Nmap运行与漏洞有关的脚本,这些脚本可以检测常见的漏洞。
#script后跟不同的变量以实现特定的功能。

检测特定漏洞

nmap --script=vuln:CVE-2018-1000000 192.168.222.144
#nmap --script=vuln:[CVE编号] <target-ip>

脚本分类:

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;

六、将扫描结果导出

使用-oN

nmap 172.16.17.168 -p 445 -oN result.txt

也可以导出到xml文件中。

总结:

在使用nmap工具时需要确保以下几点:

1、你有权扫描的目标网络或主机。如果是你自己的网络或设备,通常不会有问题。

2、你没有恶意目的,比如企图非法侵入、破坏系统或窃取数据。

3、你的行为不会对目标网络或主机的正常运行造成影响。

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值