Nmap端口扫描

Nmap端口扫描

通过对目标主机发送数据包(ICMP Echo Request)来探测主机存活性,如果目标主机接收数据包后会返回数据包,Nmap就解析返回来的数据包得到远程机器的信息,其中就包括端口信息。

目标域名:scanme.nmap.org

默认扫描

Nmap scanme.nmap.org
image.png

用8.8.8.8 的dns对域名进行解析后扫描

Nmap --dns-servers 8.8.8.8 scanme.nmap.org
image.png

用于取消ICMP 从而不触发目标机器防火墙

Nmap -Pn scanme.nmap.org

识别目标机器的服务信息

Nmap -sV scanme.nmap.org

查看服务信息

服务指纹信息:包含服务端口、服务名、版本等

Nmap -A -v -T4 scanme.nmap.org --带有侵略性的扫描服务信息(-A 侵略性 -v 过程详细信息 -T4 0-5 设置扫描速度)

Nmap -sC -sV -o scanme.nmap.org --作用同上条 (-sC 表示使用nmap脚本探测 -sV探测服务信息 -o 探测操作系统信息)

查看ip网段中存活主机

Nmap -sP 10.173.20.1/21 (后面跟CIDR形式)

Nmap -sn 10.173.20.1/21(后面跟CIDR形式)

将扫描结果打印

Nmap -sn 10.173.20.1/21 -oX test.xml(后面跟DIOR形式)

特定端口扫描

Nmap -p 80 192.168.192.163 (扫描80端口)

也可以 -p 80,135 扫多个端口;也可以 -p1-100 扫描1-100的端口号 ;-p- 扫描所有端口

指定协议探测端口

Nmap -Pn -p T:25,U:53 10.173.20.153 探测TCP 25号端口 UDP53号端口

探测指定协议

Nmap -p ssh 10.173.20.153 探测ssh协议

模糊探测协议

Nmap -p s* 10.173.20.153 探测s开头的协议

使用nmap脚本进行探测

wins下nmap的脚本在nmap/scripts下

linux下nmap脚本在/usr/share/nmap/script/下

用法:Nmap --script 脚本名 192.168.198.136

如: Nmap --script http-headers 192.168.198.136 (使用http-headers脚本)

Nmap -sV --script vuln 192.168.198.136(使用vuln脚本)

http-enum.nse(敏感文件扫描)

更新脚本库

nmap --script-updatedb

端口状态

Open:应用程序正在该端口接收 TCP 连接或者 UDP 报文

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

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

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

open/filtered:当无法确定端口是开放还是被过滤的,Nmap 就把该端口划分成 这种状态。开放的端口不响应就是一个例子

closed/filtered:该状态用于 Nmap 不能确定端口是关闭的还是被过滤的。 它只可能出现在 IPID Idle 扫描中

扫描方式

ping扫描(-sP)

通过向指定的IP地址发送ICMP echo请求数据包,收到一个RST包,就表示主机正在运行。

如:nmap IP 或者 nmap -sP IP

TCP SYN Ping扫描(-PS)

使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)

如:nmap -sP -PS IP

TCP ACK Ping扫描(-PA)

半开扫描(-sS)

用户可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接。扫描记录不容易被记录到日志中,具有隐蔽性。

posted @ 2020-11-09 15:48  cjz12138  阅读(339)  评论(0)    收藏  举报