计算机安全学习笔记(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)
  • 如果有传输层响应,则可能是错误,可能包含应用程序数据(可能有效或无效)
相关推荐
风落无尘3 小时前
《智能重生:从垃圾堆到AI工程师》——第五章 代码与灵魂
服务器·网络·人工智能
S1998_1997111609•X6 小时前
论当今社会主义与人文关怀人格思想下的恶意仿生注入污染蜜罐描述进行函数值非法侵入爬虫的咼忄乂癿〇仺⺋.
数据库·网络协议·百度·ssh·开闭原则
其实防守也摸鱼7 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
xlq223227 小时前
50.UDP套接字
网络·网络协议·udp
南境十里·墨染春水7 小时前
linux学习笔记 网络编程——Socket入门与TCP客户端/服务器实现
linux·服务器·网络
学网安的肆伍8 小时前
【043-WEB攻防篇】PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
sql·安全·php
李白你好8 小时前
基于AI大模型的网络设备安全基线排查工具
安全
qq_三哥啊8 小时前
【mitmproxy】通过 mitmproxy 的HTTP代理模式获取 OpenCode 发起的 AI API 请求的详细信息
网络·http·代理模式
nikolay9 小时前
AI重塑企业信息安全:攻防升级与信任重构
网络·人工智能·网络安全
Yupureki9 小时前
《Linux网络编程》6.UDP原理
linux·运维·服务器·网络·udp