nmap的官网下载安装、简单命令的抓包测试

一 nmap官网下载

1.1 nmap简介。

       Nmap (“Network Mapper”) 是用于网络探索和安全审计的开源工具。它被设计用于快速扫描大型网络,尽管它在单个主机上运行良好。Nmap以新颖的方式使用原始IP数据包来确定网络上可用的主机、这些主机提供的服务(应用程序名称和版本)、它们正在运行的操作系统(和操作系统版本)、使用的数据包过滤器/防火墙类型,以及许多其他特性。虽然Nmap通常用于安全审计,但许多系统和网络管理员发现它对于日常任务很有用,如网络资源清册、管理服务升级计划以及监控主机或服务正常运行时间。(1.2的官网复制的)。
       简单来说,就是扫描的比较仔细,但是扫描速度比较慢,建议使用arp发现工具和ping扫描工具提前对网络进行扫描,提前发现资产,然后再使用nmap对一些“信息泄露”的端口进行详细信息的获取。

1.2 nmap官网下载链接。

https://nmap.org/
https://nmap.org/download#windows

1.3 Windows的nmap下载链接。

Windows 11我建议下如下的稳定版本,现在是2023年初,最新版有openssh的不兼容问题。

https://nmap.org/dist/nmap-7.92-setup.exe

二 使用靶机测试nmap命令

2.1 开启三台VMware虚拟机。一台Win7,一台Win10,一台CentOS7。网卡都是仅主机模式,网络干净,不影响别人

在这里插入图片描述

2.2 查看VMware的仅主机模式的网段。

在这里插入图片描述

2.3 物理机打开wireshark。仅主机模式是VMnet1网卡。网络环境内仅有虚拟机发送的dns等少量数据包。

在这里插入图片描述

2.4 以下测试一下命令。物理机win11为攻击机。

2.4.1 命令:nmap x.x.x.x/mask (靶机的IP/网段)

nmap 10.44.1.0/24

通过抓包发现,发送了两遍的arp请求包。
在这里插入图片描述
一共发送了8000左右的tcp的syn请求包。测试不同的端口,非连续端口,看来是常用的端口。我使用tcp.dstport==445测试了高危端口,全都有。
在这里插入图片描述
期间还有一些ping包,期间还有130这台虚拟机ping了我物理机,但是我物理机开启了防火墙,它ping不通。
在这里插入图片描述
现在看扫描结果。
在这里插入图片描述
129主机是win10虚拟机,开启了Windows的系统防火墙,只能扫到mac地址。
130主机是centos7虚拟机,firewall服务也开着,只能扫到ssh远程端口。
131主机是win7虚拟机,开启了Windows的系统防火墙,扫到mac地址和远程桌面服务的3389端口。

2.4.2 主机发现的命令:nmap -sn

nmap -sn 10.44.1.0/24

通过抓包,看到,该命令仅发送了arp包。因此只返回mac地址信息。
在这里插入图片描述
通过nmp帮助手册,可以看到sn参数的作用是取消端口扫描。

C:\Users\zhang>nmap -h | findstr "sn"
  -sn: Ping Scan - disable port scan
  nmap -v -sn 192.168.0.0/16 10.0.0.0/8

2.4.3 全端口扫描的命令nmap -sS -p1-65535。

nmap -sS -p1-65535 10.44.1.129

等效于

nmap -sS -p- 10.44.1.129

这一次就扫描单台win10虚拟机,全端口扫描发送了13万个SYN包。比较耗时间。值得一提的是,火绒和Windows defense都没有告警。
在这里插入图片描述
全端口扫描,发现了我更改过的远程桌面服务的端口23389。还有一个从CSDN的友友的那里查到是微软的补丁更新端口7680。
在这里插入图片描述
端口查询命令(扩展一下)。

C:\Users\zhangcj>netstat -ano | findstr "7680"
  TCP    0.0.0.0:7680           0.0.0.0:0              LISTENING       1048
  TCP    [::]:7680              [::]:0                 LISTENING       1048

C:\Users\zhangcj>tasklist /svc | findstr "1048"
svchost.exe                   1048 DoSvc

以下是nmap的帮助手册。

PORT SPECIFICATION AND SCAN ORDER:端口规格和扫描顺序:
  -p <port ranges>: Only scan specified ports仅扫描指定端口
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
  --exclude-ports <port ranges>: Exclude the specified ports from scanning从扫描中排除指定的端口
  -F: Fast mode - Scan fewer ports than the default scan快速模式-扫描比默认扫描更少的端口
  -r: Scan ports sequentially - don't randomize 按顺序扫描端口-不要随机化
  --top-ports <number>: Scan <number> most common ports扫描<number>最常见的端口
  --port-ratio <ratio>: Scan ports more common than <ratio>扫描端口比<比率>更常见

2.4.4 系统扫描的命令nmap -O。

nmap -O 10.44.1.0/24 

这一次也发送了8k的包,arp和tcp都有。以及一些ping包。此时开着系统防火墙。
在这里插入图片描述通过22和3389的信息泄露,nmap扫描出了一些比较模糊的操作系统的信息。
现在关闭win7虚拟机的系统防火墙,重新通过3389端口扫描系统。
在这里插入图片描述
此次关闭系统防火墙的探测结果为,仅通过传输层的连接探测(TCP、UDP),就大致地猜出了目标靶机的操作系统。
在这里插入图片描述
由此可见,关闭系统防火墙,服务器的信息泄露是很明显的。(按我的理解,现有的安全措施很难防御住这种系统扫描。)
查看nmap -h

OS DETECTION:
  -O: Enable OS detection 开启系统探测
  --osscan-limit: Limit OS detection to promising targets将OS检测限制在有希望的目标上
  --osscan-guess: Guess OS more aggressively猜测操作系统更激进

2.4.5 版本扫描命令nmap -sV 。

nmap -sV 10.44.1.130

这一次探测CentOS虚拟机仅发送2k数据包,扫描端口1千。
这次终于发现了除了ARP、TCP包的其他包,SSH包。追踪TCP流,发现是做了一次完整的TCP握手(三次握手和四次分手),数据流的内容仅有SSH的版本信息。
在这里插入图片描述

在这里插入图片描述
与CentOS虚拟机内部查看命令对应的上。
在这里插入图片描述
查看nmap -h

SERVICE/VERSION DETECTION:服务/版本检测
  -sV: Probe open ports to determine service/version info探测打开的端口以确定服务/版本信息
  --version-intensity <level>: Set from 0 (light轻度) to 9 (try all probes尝试所有探测)版本强度探测
  --version-light: Limit to most likely probes (intensity 2)限制为最可能的探测(强度2)
  --version-all: Try every single probe (intensity 9)所有测试,强度9
  --version-trace: Show detailed version scan activity (for debugging)显示详细的版本扫描活动(用于调试)

这次到此为止,后续会有更多命令测试。

猜你喜欢

转载自blog.csdn.net/shiyi1100/article/details/129335997
今日推荐