主动扫描

主动扫描软件Nmap。基本用法此处就不再做详细的介绍可以参考https://blog.youkuaiyun.com/qq_53086690/article/details/115664101

使用ARP进行设备发现

ARP解析

  ARP位于TCP/IP模型的网络层,这个协议主要是用来解决逻辑地址(IP)和物理地址(MAC地址)的转换关系。同一网段上的设备使用物理地址,不同网段之间使用逻辑地址。
  在同一网段中,所有的设备都会连接到一个叫做交换机(曾经是集线器,现在已经很少用了)的设备上,交换机上有很多接口,每一个接口与一台设备使用网线连接。交换机中的内容寻址寄存器存储了一张包含每个接口所连接的设备的物理地址表-ARP表。交换机根据这个表对数据包进行处理。
  设备A访问设备B但是不知道设备B的物理地址。访问流程:

设备A发送一个数据包,我的物理地址是11:11:11:11:11:11,逻辑地址是192.168.1.1.逻辑地址为192.168.1.2的设备你在吗?我需要和你通信,请告诉我妮的物
理地址,收到请回答。设备B收到之后就会发送一个回包:嗨,我就是那个逻辑地址为192.168.1.2的设备,我的物理地址为22:22:22:22:22:22.设备A收到之后
就知道了B的物理地址。

如果想知道ip为XXX的设备的物理地址就广播发送一个ARP包。

使用Nmap利用ARP包进行扫描

命令nmap -sn 192.168.157.0/24

使用ICMP进行设备发现

ICMP实现设备发现原理

ICMP的报文可以分为两类:差错和查询。查询使用一对请求和应答定义的。设备A想要获取一些信息,向设备B发送ICMP数据包,设备B接受到后会返回应答包。Nmap中的ICM活跃设备发现是基于查询报文。ICMP中适合使用的查询报文有三类:

  1. 回送请求和应答
    用来测试发送与接受两端链路及目标设备的TCP/IP是否正常,只要收到就是正常。
  2. 时间戳请求和回答
    ICMP时间戳请求允许系统向另一个系统查询当前时间。返回的建议值是自午夜开始计算的毫秒数,即协调世界时。
  3. 地址掩码请求和回答
    源设备发送,ICMP地址掩码请求用于无盘系统在引导程序中获取自己的子网掩码。

Nmap -PE可以实现ICMP的设备发现,实际上和ping的命令一样。
Nmap -PP可以实现ICMP的时间戳设备发现
Nmap -PM可以实现ICMP的子网掩码设备发现

使用TCP进行设备发现

  TCP的主要过程由三次握手构成:主动端先发送同步序列编号(SYN)数据包,被动段回复SYN+确认字符(ACK)数据包,然后主动端再回复ACK数据包。如果Nmap向目标设备发送SYN数据包,如果对方回复SYN+ACK数据包就证明对方在线。

TCP实现设备发现的配置

  TCP是一个位于传输层的协议,它是一种面向连接的,可靠的,基于字节流的传输层通信协议。TCP采用三次握手建立连接,避免错误连接。TCP使用的流量控制协议是可变化大小的活动窗口协议。
  TCP三次握手具体过程如下:

  1. 客户端发送SYN(Seq=x)数据包给服务器,进入SYN_SEND状态
  2. 服务端收到客户端的SYN数据包,回应一个SYN(Seq=y)+ACK(Ack=x+1)数据包,进入SYN_RECV状态
  3. 客户端收到服务器端的SYN数据包,回应一个ACK(Ack=y+1)数据包进入ESTABLISHED状态
    三次握手完成,TCP客户端和服务器成功建立连接,可以开始传输数据了。
    三次握手如果完成就是全开扫描,如果不全完成,称为半开扫描。

TCP SYN扫描Nmap -sn -PS 192.168.1.1
TCP ACK扫描Nmap -sn -PA 192.168.1.1

使用UDP进行设备发现

  用户数据包协议(UDP)也是一个位于传输层的协议,它完成的工作和TCP是相同的。但是UDP不是面向连接的,虽然UDP比TCP简单,但是对UDP的扫描时困难的。
  当端口收到UDP包时,如果关闭则发送一个ICMP不可到达包,如果开方则忽略该包。ICMP生成速度很慢

使用Nmap进行端口扫描

端口

如果我们把每一台网络设备看作一个房子,那么房子应该有出入口。一般房子只有一个出入口,但是网络设备出入口非常多。这就是端口。
端口实现了一机多用,如果没有端口,一个机器只能运行一个服务,有了端口的概念,则一个机器可以运行很多种服务。

端口的分类

  1. 公认端口
    这类端口也称为常用端口,端口号为0-1024.他们紧密绑定一些特定的服务。通常明确规定端口执行的什么服务。
  2. 注册端口
    范围为1025-49151,他们松散的绑定于一些服务,也就是说也有一些服务绑定这些端口,但这些端口没有明确定义服务对象。
  3. 动态/私有端口
    范围49152-65535,理论上不应该把常用服务绑定在这些端口上。但是较为特殊的程序,特别时木马程序非常喜欢这些端口。隐蔽。

Nmap对端口状态的定义

  • open应用程序在该端口接收TCP连接或者UDP报文
  • closed状态表示关闭的端口对于Nmap也是可以访问的,它接受Nmap探测报文并做回应,但是没有应用程序监听
  • filtered表示由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开 放。
  • unfiltered未被过滤状态,端口可访问,但是Nmap无法确定开放还是关闭。只有映射防火墙规则集的ACK扫描才会把端口分类到这个状态。
  • open|filtered无法确定端口是开放还是过滤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值