kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

时间:2024-04-12 13:29:47

识别活跃的主机

在进行渗透测试之前,必要的就是识别目标网络中的活跃主机。当然最简单的方式就是ping一下主机,这里将使用Nmap工具来识别活跃主机。


网络映射器工具 Nmap

Nmap工具的三个基本功能分别是,一. 探测主机是否在线,二. 扫描主机端口,嗅探网络服务,三. 推断主机所用的操作系统。

Nmap使用TCP/IP协议栈指纹可以准确的判断目标主机的操作系统类型。

运行过程:

1. 端口扫描,找出那些端口正在目标主机上监听。

2. 对目标进行一系列测试,通过测试结果建立相应目标主机的Namp指纹。

3. 与指纹库中的指纹进行查找匹配,的出操作系统类型

官网给出功能列表:

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

 同时官网给出了具体的操作方案。 网址:https://nmap.org/book/man.html

Namp主要扫描类型
                       ping扫描                         端口扫描
                  TCP SYN 扫描                         UDP扫描
                   操作系统识别                          隐蔽扫描

识别活跃主机 

1.查看主机是否在线

实例: nmap -sP 192.168.2.100 (宿主机)(只进行Ping扫描)

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

所有在发现主机时可用的选项:

选项 功能
-sL 只列出制定网络上的每台主机
-sP 仅仅进行Ping扫描,打印出响应的主机(当使用root时会打出MAC地址来)
-p0 跳过发现阶段,只对正在运行的主机进行高强度的其他探测
-PS [port list] 向目标发送一个设置了SYN标志位的空TCP报文,即尝试进行会话,如果恰好端口打开会话连通,就会进行三次握手的第二步,响应SYN数据包,默认端口80, 当然也可以进入nmap.h,将DEFAULT-TCP-PROBE-PORT值改为其他值,或者在portlist中写一个列表,逗号隔开,但第一项与PS之间无空格。(但是这里我尝试使用了portlist但是。。。不知道为什么还是会自动扫全部,也不是默认之扫描80端口,如果各位读者知道的话,希望能给我留言一下)
-PA [port list] 这个和上面-PS差不多,但不再使用SYN标识而使用ACK标识,如果不存在会话链接,那么目标主机会使用RST数据包进行响应,进而暴露他们的存在。使用ACK的TCP数据包来识别的特点是可以最大化的绕过防火墙,因为许多管理员都会配置防火墙来阻止一些简单的SYN数据包,所以-PS很可能会被阻断。(和上面有同样的问题。。。port list不知道为什么没用)
-PU [port list] 使用UDP数据包,默认40125端口,同样可以去nmap.h中的DEFAULT_UDP_PROBE_PORT_SPEC。如果命中目标机器的一个关闭的端口时,会返回i一个ICMP端口不可达的数据包,但是其他错误,比如主机/网络不可达或超出TTL则表示主机关闭了,其优势是绕过了仅筛选TCP的防火墙。为什么会使用40125端口呢?因为这种偏僻的端口通常都不会被用到,也就是通常都是关闭的。。。所以试探它比较明显。(这个一定要在root权限下使用)(不解的是这和之前返回的是一样的,所以我猜测,其实以上这些都只是判断了目标机确实在线,所以会返回”Nmap scan report for 192.168.2.100 Host is up (0.052s latency).“这样一条语句,然后紧接着又主动探测了所有打开的端口)
-PY [port list] 采用包含最小INIT块的SCTP数据包,默认80端口,可以改DEFAULT_PROBE_PORT_SPEC默认值。INIT块是向远程系统建议场合死建立关联。如果目标端口关闭就会返回ABORT块,如果端口打开就会采用SCTP四次握手。但是在Unix机器上,只有特权用户才可以发送和接收SCTP数据包,所以没办法用此选项.
-PE;-PP;-PM 这些是一些ICMP类型的包,但是,很多都会被防火墙拒绝掉。比如PE就是使用ICMP的回声类型
-PO [protocal list]

使用IP数据包来进行,可以设置协议号,比较常用的ICMP(1),IGMP(2),P-in-P(4),TCP(6),UDP(17),SCTP(132)

-PR  使用APR包扫描以太网LAN,ARP扫描速度会比基于IP的扫描更快速,更可靠
--disable-arp-ping 不使用ARP包
--traceroute 跟踪主机的路径
-n 不使用DNS解析
-R 始终进行反向DNS解析
--resolve-all 扫描每个已经解析的地址
--system-dns 使用系统DNS解析器,即正向查找
--dns-server [server1,......] 适用反向DNS查询的服务器

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

 

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

 

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

 

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

这里我也尝试了书中描述的操作:

nping --echo-client "public" echo.nmap.org

kali linux 渗透技术学习笔记 3.信息收集——网络映射器工具Nmap (一) 识别活跃主机

其中包括了所有的链接时数据发送信息,包括数据包类型,源地址目标地址,ICMP类型,等等

nping是Nmap的套件

官网给出的介绍是:

Nping是一个用于网络数据包生成,响应分析和响应时间测量的开源工具。Nping可以为各种协议生成网络数据包,允许用户完全控制协议头。虽然Nping可以用作检测活动主机的简单ping实用程序,但它也可以用作网络堆栈压力测试,ARP中毒,拒绝服务攻击,路由跟踪等原始数据包生成器.Nping的新颖回显模式可以让用户使用了解数据包在源主机和目标主机之间的传输方式如何变化。这是了解防火墙规则,检测数据包损坏等的好方法。

Nping具有非常灵活和强大的命令行界面,可以让用户完全控制生成的数据包。Nping的功能包括:

  • 自定义TCP,UDP,ICMP和ARP数据包生成。
  • 支持多目标主机规范。
  • 支持多目标端口规范。
  • 非root用户的非特权模式。
  • 用于高级故障排除和发现的回声模式
  • 支持以太网帧生成。
  • 支持IPv6(目前是实验性的)。
  • 在Linux,Mac OS和MS Windows上运行。
  • 路线追踪功能。
  • 高度可定制。
  • 免费和开源。

具体的使用功能,我会在后面的博文在介绍


博主还在学习kali的相关内容,如有错误,还请各位指出,谢谢支持。