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

news2024/11/15 13:26:15

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)
  • 如果有传输层响应,则可能是错误,可能包含应用程序数据(可能有效或无效) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1397971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java入门——开发环境、入门程序(搭建Java开发环境、安装JDK 验证、JDK、编写代码、编译代码、运行代码)

目录 前言 搭建Java开发环境 获取JDK 安装JDK 验证JDK DOS窗口常用命令 入门程序 编写代码 编译代码、运行代码 前言 Java是美国sun公司(Stanford University Network)在1995年推出的一门计算机高级编程语言。Java早期称为Oak(橡树)&#xf…

python里的神奇bug

都知道python里列表必须用逗号分隔开 我再给大家看个神奇的东西 import numpy as npb np.array([2, 1, 2 ,1 ,-1 ,2]); print(b) print(b.shape)b np.array([2, 1, 2 ,1 -1 ,2]); print(b) print(b.shape)结果如下 注意我下面的一个是没有逗号的,而且1和-1之间是…

鸿蒙开发系列教程(四)--ArkTS语言:基础知识

1、ArkTS语言介绍 ArkTS是HarmonyOS应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开…

Jvm相关知识(面试高级必备)

类的实例化顺序 先静态、先父后子 先静态:父静态>子静态 优先级:父类>子类 静态代码块>非静态代码块>构造函数 一个类的实例化过程: ①.父类的static代码块,当前类的static; ②.顺序执行…

python实操之网络爬虫介绍

一、什么是网络爬虫 网络爬虫,也可以叫做网络数据采集更容易理解。它是指通过编程向网络服务器(web)请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。 它包括了根据url获取HTML数据、解…

安捷伦E8362C网络分析仪40GHz

安捷伦E8362C网络分析仪 E8362C 是 Agilent 的 40 GHz 网络分析仪。网络分析仪是一种功能强大的仪器,可以以无与伦比的精度测量射频设备的线性特性。许多行业使用网络分析仪来测试设备、测量材料和监控信号的完整性。 附加功能: 10 MHz 至 20 GHz 123 d…

java-IO

JAVA IO - java io可以让我们用标准的读写操作来完成对不同设备的读写数据工作. - java将IO按照方向划分为输入与输出,参照点是我们写的程序. - 输入:用来读取数据的,是从外界到程序的方向,用于获取数据. - 输出:用来写出数据的,是从程序到外界的方向,用于发送数据. java将…

Dubbo源码解析第一期:如何使用Netty4构建RPC

一、背景 早期学习和使用Dubbo的时候(那时候Dubbo还没成为Apache顶级项目),写过一些源码解读,但随着Dubbo发生了翻天覆地的变化,那些文章早已过时,所以现在计划针对最新的Apache Dubbo源码来进行“阅读理解…

关于eNSP中主机/PC与USG网络不可达的解决方案

check points:主机防火墙、网段、接口配置、ping权限、接口安全域; 1、主机 确认当前在联网络的属性(专用网络/公共网络),本机防火墙有无放通;检查 eNSP内防火墙 接口配置:IP地址是否配置到了正…

浅谈AcrelEMS-CIA机场智慧能源管平台解决方案-安科瑞 蒋静

1 概述 机场智慧能源管平台解决方案对机场范围内变电站内的高低压配电设备 、 发电机、变压器 、UPS、EPS 、广场照明 、 室内照明 、通风及排水等机电设备进行实时分布式监控和集中管理 , 实现无人值守 , 确保高速公路安全畅通 , 提高 自动化管理水平 , 降低机电设备的运行维…

插入排序(一)——直接插入排序与希尔排序

目录 一.前言 二.排序的概念及其运用 1.1排序的概念 1.2 常用排序算法 三.常用排序算法的实现 3.1 插入排序 3.1.1 基本思想 3.1.2 直接插入排序 3.1.3 希尔排序(缩小增量排序) 四.全部代码 sort.c sort.h test.c 五.结语 一.前言 本文我们…

Android.mk和Android.bp的区别和转换详解

Android.mk和Android.bp的区别和转换详解 文章目录 Android.mk和Android.bp的区别和转换详解一、前言二、Android.mk和Android.bp的联系三、Android.mk和Android.bp的区别1、语法:2、灵活性:3、版本兼容性:4、向后兼容性:5、编译区…

【数据结构】快速排序,归并排序

快速排序 1.hoare版本 根据动图的演示,整理的思路如下, 1.定义left,right,key。key默认是左边第一个元素,像两个指针,左边找比key大的,右边找比k小的,找到的话,交换二者,往返这个过…

限流算法之流量控制的平滑之道:滑动时间窗算法

文章目录 引言简介优点缺点样例样例图样例代码 应用场景结论 引言 在互联网应用中,流量控制是一个重要的组件,用于防止系统过载和保护核心资源。常见的限流算法包括固定窗口算法和滑动时间窗算法。本文将重点介绍滑动时间窗算法,并分析其优缺…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…

java8 列表通过 stream流 根据对象属性去重的三种实现方法

java8 列表通过 stream流 根据对象属性去重的三种实现方法 一、简单去重 public class DistinctTest {/*** 没有重写 equals 方法*/SetterGetterToStringAllArgsConstructorNoArgsConstructorpublic static class User {private String name;private Integer age;}/*** lombo…

梁山泊国潮风礼盒,传承经典,贺礼新春

在春节来临之际,梁山泊隆重推出新年中国红礼盒酒,为您传递新年的祝福与关爱。这款酒以其独特的魅力,为您带来美好的祝愿和愉悦的享受。中国风国潮礼盒采用中国传统红色为主色调,象征着吉祥、喜庆和繁荣。红色的背景上,…

探索curl的高级应用:HTTP请求的大师级技巧

探索curl的高级应用:HTTP请求的大师级技巧 引言高级用法概览1. HTTP请求与响应处理2. 身份验证与安全3. 进阶技巧4. Cookie管理与会话保持5. 脚本自动化 HTTP请求与响应处理1. 自定义请求头2. 发送数据3. 处理响应 身份验证与安全1. 基本认证2. 摘要认证3. HTTPS安全…

禅道使用之项目的过程管理

目录 一.禅道介绍 二.禅道下载 三. 禅道的使用 3.1.禅道管理员管理账号 3.2.禅道管理产品经理角色操作 3.3.禅道管理项目经理角色操作 3.4.禅道管理测试主管角色操作 3.5.禅道管理产品经理发布版本 好啦今天就这里了哦!!!希望能帮到你…

Unity-Arduino Bluetooth Plugin蓝牙插件使用时需要注意的一些事项(附插件下载链接)

一些参考链接 1.Android 无法扫描蓝牙设备踩坑 2.权限相关 1-首先要明确你的蓝牙设备是经典蓝牙还是低功耗(BLE)蓝牙: 转载:Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别 2.如果是BLE蓝牙,需要打勾…