|
[md]## 基于 UDP 的扫描
### UDP 简介
`UDP`(User Datagram Protocol)用户数据包协议,是 `OSI` 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。`UDP` 有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
### UDP 特点:
- `无连接`:UDP 客户端和服务端之间不必存在长期的关系。大多数的 UDP 实现中都选择忽略源站抑制差错,在网络拥塞时,目的端无法接收到大量的 UDP 数据报;
- `缺乏可靠性`:UDP 本身不提供确认,超时重传等机制。UDP 数据报可能在网络中被复制,被重新排序,也不保证每个数据报只到达一次;
- `UDP数据包是有长度的`:每个 UDP 数据报都有长度,如果一个数据报正确地到达目的地,那么该数据报的长度将随数据一起传递给接收方。而 TCP 是一个字节流协议,没有任何(协议上的)记录边界;
### 常见基于 UDP 的扫描
**Nmap 扫描**
```java
nmap -sU -A 192.168.50.1
```
![](https://blog.bbskali.cn/usr/uploads/2022/07/1503647674.png)
需要注意的是 UDP 扫描比较慢。
**MSF 扫描**
```java
msf > use auxiliary/scanner/discovery/udp_probe
#或者
msf > use auxiliary/scanner/discovery/udp_sweep
```
**unicornscan 扫描**
```
unicornscan -mU 192.168.50.1
```
## 基于 ARP 的探测
### ARP 简介
`ARP`(Address Resolution Protocol)地址解析协议,是根据 IP 地址获取物理地址的一个 `TCP/IP` 协议。
主机发送信息时将包含目标 `IP` 地址的 `ARP` 请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该 IP 地址和物理地址存入本机 ARP 缓存中并保留一定时间,下次请求时直接查询 ARP 缓存以节约资源。
`ARP` 命令可用于查询本机 `ARP` 缓存中 `IP` 地址和 `MAC` 地址的对应关系、添加或删除静态对应关系等。
### 常见的基于 ARP 扫描
**Nmap 扫描**
```java
nmap -sn -PR 192.168.50.1/24
```
![](https://blog.bbskali.cn/usr/uploads/2022/07/575846775.png)
**MSF 扫描**
**netdiscover 扫描**
```java
netdiscover -r 192.168.1.0/24 -i wlan0
```
## 基于 SNMP 的探测
### SNMP 简介
`SNMP` 是一种简单网络管理协议,它属于 `TCP/IP` 五层协议中的应用层协议,用于网络管理的协议。`SNMP` 主要用于网络设备的管理。`SNMP` 协议主要由两大部分构成:`SNMP` 管理站和 `SNMP` 代理。SNMP 管理站是一个中心节点,负责收集维护各个 SNMP 元素的信息,并对这些信息进行处理,最后反馈给网络管理员;而 SNMP 代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与 SNMP 管理站交互,接收并执行管理站的命令,上传各种本地的网络信息。
### 基于 SNMP 的扫描
**Nmap 扫描**
```java
nmap -sU -T4 --script snmp-brute 192.168.50.1/24
```
![](https://blog.bbskali.cn/usr/uploads/2022/07/1181378335.png)
**MSF 扫描**
```
msf > use auxiliary/scanner/snmp/snmp_enum
```
## 基于 ICMP 的探测
### ICMP 简介
`ICMP`(Internet Control Message Protocol)Internet 控制报文协议。它是 TCP/IP 协议簇的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
### 常见的 ICMP 扫描
**Nmap 扫描**
```java
nmap ﹕P ㏕4 ㏄I 192.168.1.0/24
nmap ﹕n ㏄E ㏕4 192.168.1.0/24
```
![](https://blog.bbskali.cn/usr/uploads/2022/07/446270916.png)
## 基于 SMB 探测
### SMB 简介
`SMB`(全称是 Server Message Block)是一个协议名,它能被用于 Web 连接和客户端与服务器之间的信息沟通。
**Nmap script 扫描**
```java
nmap -sU -sS --script smb-enum-shares.nse -p 445 192.168.50.1
```
![](https://blog.bbskali.cn/usr/uploads/2022/07/3195216151.png)
[/md] |
|