计算机安全学习笔记(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)
  • 如果有传输层响应,则可能是错误,可能包含应用程序数据(可能有效或无效)
相关推荐
Coding~6 分钟前
攻防世界38-FlatScience-CTFWeb
开发语言·sql·安全·web安全·php
冷心笑看丽美人8 分钟前
RHEL 网络配置(Linux网络服务器 09)
linux·运维·服务器·网络·bash
小小工匠24 分钟前
Kafka - 启用安全通信和认证机制_SSL + SASL
安全·kafka·ssl·sasl
小白的孤独历险记35 分钟前
华为:hcia综合实验
服务器·网络·华为·ensp
孤邑38 分钟前
【Linux】网络编程3
linux·服务器·网络·笔记·学习
bin915341 分钟前
【热门主题】000041 网络安全:守护数字世界的坚固防线
网络
夏天匆匆2过41 分钟前
linux性能提升之sendmmsg和recvmmsg
linux·c++·单片机·网络协议·udp·tcp
kali-Myon42 分钟前
ctfshow-web入门-反序列化(web260-web264)
前端·学习·web安全·php·web
Diamond技术流1 小时前
从0开始学习Linux——文件管理
linux·运维·学习·安全·文件·权限·极限编程