【网安 | 网络协议】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地址,如文章开头的图片。

目录
相关文章
|
9月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
371 58
|
9月前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
206 0
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
935 3
|
12月前
|
网络协议
为何UDP协议不可靠?DNS为何选择UDP?
总的来说,UDP和TCP各有优势,选择哪种协议取决于应用的具体需求。UDP可能不如TCP可靠,但其简单、快速的特性使其在某些场景下成为更好的选择。而DNS就是这样的一个例子,它利用了UDP的优势,以实现快速、高效的名字解析服务。
618 14
|
存储 缓存 网络协议
DNS协议详解
通过本文,您可以全面了解DNS协议的各个方面,从而更好地理解和应用这一重要的互联网基础服务。
2028 44
|
编解码 监控 网络协议
RTSP协议规范与SmartMediaKit播放器技术解析
RTSP协议是实时流媒体传输的重要规范,大牛直播SDK的rtsp播放器基于此构建,具备跨平台支持、超低延迟(100-300ms)、多实例播放、高效资源利用、音视频同步等优势。它广泛应用于安防监控、远程教学等领域,提供实时录像、快照等功能,优化网络传输与解码效率,并通过事件回调机制保障稳定性。作为高性能解决方案,它推动了实时流媒体技术的发展。
644 5
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
973 3
|
存储 缓存 网络协议
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
757 3

热门文章

最新文章

推荐镜像

更多
  • DNS
  • 下一篇
    开通oss服务