【网安 | 网络协议】ARP协议(地址解析协议)

简介: 【网安 | 网络协议】ARP协议(地址解析协议)

前言

在使用nmap时可以使用-PR指令,通过发送ARP请求包进行主机存活探测。

那么这一过程的原理是什么呢?

在了解什么是ARP协议后,问题就迎刃而解了。

概念

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

在网络中各个主机相互信任的基础上,局域网络上的主机可以自主发送ARP应答消息。

主机A发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,目标主机将发送返回信息,A收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,当下次A请求该目标主机时,直接查询ARP缓存即可,不再需要广播,这可以节约资源。

然而,正是由于网络中各个主机相互信任,导致攻击者可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

ARP欺骗

ARP欺骗(Address Resolution Protocol spoofing),也被称为ARP中毒,是一种网络攻击方式。攻击者会发送伪造的ARP消息给局域网内的其他设备,以欺骗它们将通信发送到错误的位置,从而实现窃取数据、监视流量或拦截通信等目的。

假设有三台计算机A、B和C,它们都连接到同一个局域网上。攻击者D位于同一局域网中,并想窃取A和B之间的通信。攻击者D可以进行以下步骤来实现ARP欺骗攻击:

1.攻击者D发送一个ARP响应消息给计算机A,声称自己的MAC地址与B的IP地址相关联。

2.计算机A收到了这个伪造的ARP响应并更新了其ARP缓存,将攻击者D的MAC地址与B的IP地址相关联。

3.当计算机A想要向计算机B发送通信时,它会使用之前更新过的ARP缓存,将通信发送到攻击者D的MAC地址。

4.攻击者D可以捕获这些通信并查看其中的敏感信息,如用户名和密码等。

ARP命令

ARP命令用于显示和修改系统的 ARP(地址解析协议)缓存表,该表存储了IP地址与MAC地址之间的映射关系。

1.显示当前系统的ARP表:

arp -a

2.添加静态ARP条目:

arp -s <IP地址> <MAC地址>

3.删除ARP条目:

arp -d <IP地址>

4.清空ARP缓存表:

arp -d -a

优势

通过发送ARP请求包进行主机存活探测的好处是,它可以在局域网中快速发现存活的主机,而无需与每台主机建立TCP或UDP连接。这种方法比较高效,并且不会产生网络流量和日志记录,因为ARP请求和响应都是在数据链路层完成的,不需要上层协议的参与。

需要注意的是,使用ARP进行主机存活探测只适用于局域网环境,因为ARP消息无法跨越路由器。如果需要在广域网或互联网中进行主机存活探测,可以考虑使用其他方法,如ICMP Echo请求(ping)或TCP SYN扫描等。

承接前言

回到开头的问题,我们就可以给出答案了。

当发送ARP请求包进行主机存活探测时,nmap会向目标网络广播一个ARP请求消息,其中包含要探测的IP地址。

目标网络上的所有主机都会收到这个ARP请求消息。根据ARP协议的规定,只有匹配请求中IP地址的主机才会响应,其他主机会忽略该请求。

如果目标网络上的主机存活,则会向nmap发送一个ARP响应消息,其中包含主机的MAC地址。

nmap通过捕获并分析这些ARP响应消息,确定了哪些主机处于存活状态,并获取了相应主机的MAC地址,如文章开头的图片。

目录
相关文章
|
5天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
5天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
6天前
|
存储 网络协议 安全
15.网络协议-Radius协议
15.网络协议-Radius协议
|
6天前
|
存储 网络协议 网络安全
14.网络协议-邮件协议
14.网络协议-邮件协议
|
10天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
24 0
|
11天前
|
存储 安全 测试技术
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
17 0
|
13天前
|
存储 网络协议 Linux
|
13天前
|
安全 SDN 数据中心
|
14天前
|
网络协议 安全 网络性能优化
|
24天前
|
缓存 网络协议 数据库连接
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
22 0

推荐镜像

更多