计算机安全学习笔记(V):UDP和网络扫描

User Datagram Protocol (UDP)

UDP是最简单的传输协议。多个程序(服务)可以在主机上侦听,因此操作系统需要知道将流量发送到哪个程序。 在传输协议中,每个程序都与源和目标处的端口相关联,该端口显示为程序的套接字。UDP 在 IP 内携带有效负载数据,附加功能最少。UDP的特点包括消息不被确认,接收也不保证,使其成为理想的选择,尤其是在丢失一些数据包比重新传输它们更可取的应用中(例如视频和音频)。

基于 UDP 的协议示例包括:DNS(域名系统,使用UDP实现简单和快速的实现),DHCP(动态主机配置协议,同样基于UDP的简单和快速特性),HTTP/3(使用基于UDP的QUIC协议),以及µTP(比特洪流使用的协议,同样基于UDP)。这些例子说明了UDP的广泛应用和在特定场景下的优势。

  • 域名系统(DNS,端口 53)使用 UDP 来实现简单快速的实现,但当 DNS 请求不适合 UDP 数据报时,也会使用 TCP。
  • 动态主机配置协议(DHCP、端口 67、68)也设计得简单而快速,因此使用 UDP。
  • 超文本传输协议 HTTP/3(端口 443)使用 QUIC 进行传输,该协议在 UDP 上运行。 QUIC 有自己的可靠性和拥塞管理,因此使用 UDP 来避免与 TCP 解决问题。
  • µTP(BitTorrent,多个端口)使用 UDP 及其自己的基于延迟的拥塞管理,以免中断 TCP 流量。

UDP 欺骗与 IP 欺骗一样简单,例如以下两种类型的攻击:

  • 在本地网络上:UDP 欺骗/劫持
  • 在远程目标上:盲目 UDP 欺骗

攻击者可以嗅探网络上的流量以查看请求。攻击者与服务器"竞赛",在服务器之前向受害者发送 UDP 回复。任何后续数据报都需要发生同样的情况。或者,攻击者可以强制服务器离线(通过 DoS 攻击)。

端口扫描的概念

枚举监听服务的过程称为端口扫描。这是一种确定哪些应用程序处于活动状态的过程。对于UDP端口扫描,扫描者发送一个空的UDP数据报到每个可能的端口。如果端口没有服务监听,服务器会发送一个ICMP端口不可达错误消息。

UDP 端口扫描执行如下:

  • 扫描者向每个可能的端口发送一个空(无负载)UDP 数据报。
  • 如果没有服务正在侦听该端口,则服务器会发送 ICMP 端口不可达错误消息。
  • 某些操作系统限制可发送的 ICMP 错误消息的速率,从而使这些攻击变慢(每 20 秒 80 条消息≃ 扫描所有端口一小时)。
  • 根据端口号可以对正在运行的应用程序进行有根据的猜测,或者可以进一步处理响应。

端口扫描可以与 IP 扫描相结合,以查找哪些 IP 地址和端口是开放的。

扫描是扫描多个主机以查找单个端口的做法(例如,查看网络上的哪些主机正在运行 Web 服务器)。两者可以结合起来搜索一系列 IP 地址上的一系列端口,但每个数据包只能识别一个端口。portscans 的合法性和道德是一个复杂的话题。一些互联网用户将端口扫描视为敌对行为,并向发送者的互联网提供商投诉。端口扫描还可能导致设计不良的系统拒绝服务,特别是工业控制。

对于端口"活跃"的含义有多种有效的定义。

  • 探测可能不返回IP 层响应、错误响应,或者可能有传输层响应(例如TCP)
  • 如果有传输层响应,则可能是错误,可能包含应用程序数据(可能有效或无效)
相关推荐
normanhere4 分钟前
防火墙来回路径不一致导致的网速异常
运维·服务器·网络
m0_7345717626 分钟前
深入理解5g <七> 下行调度的流程
网络·5g
Wang's Blog28 分钟前
Java框架快速入门: Spring Security+OAuth2之UserDetails与JDBC认证实践
java·网络·spring
网硕互联的小客服32 分钟前
反向路径过滤(rp_filter)是什么?多网卡服务器配置详解
运维·服务器·网络
企业数字化笔记33 分钟前
AI写的网站一直自动跳转怎么办?301、302和HTTPS重定向排查
网络协议·http·https
疯狂打码的少年43 分钟前
【计算机网络】IP地址与子网划分(IP地址分类与特殊地址)
网络·笔记·tcp/ip·计算机网络
GPFyes44 分钟前
科东隔离传输失败E文本校验错误
运维·服务器·网络
CappuccinoRose1 小时前
专项事件体系
前端·学习·网络状态·表单事件·剪贴板事件·拖放事件·页面可见性
天涯明月19931 小时前
Agent Sandbox 深度解析——给会动手的 AI 一个安全的房间
人工智能·安全·大模型·agent·sandbox
(Charon)1 小时前
【Kafka】消息队列学习(一):为什么需要Kafka?从消息队列到整体架构
学习·架构·kafka