什么会导致无法计算 UDP 数据报的 IP 标头校验和?

2024-01-09

我试图将 UDP 数据报从 Windows XP 上的 UdpClient 发送到设备,但它没有响应。当我在 Wireshark 中查看该流量时,我发现出站数据包很糟糕,因为它们的所有 IP 标头校验和都是 0x0000。

该机器有两个网卡,因此我开始使用另一个网卡并开始遇到同样的问题。

我可以用两个网卡对我的设备执行 ping 操作,所以我认为我的 C# 代码一定有什么问题,但我不确定是什么。在 Windows XP 上的 .NET 4 中,使用 UdpClient 是否会做错什么导致出现这种情况?


您看到的校验和为空,因为 Windows 正在执行校验和计算的硬件卸载。它将由网络接口​​卡 (NIC) 处理器执行。使用数据包嗅探器捕获数据包将在 NIC 处理数据包之前显示该数据包。您可以从设备管理器下的设备属性页面关闭卸载:

无论如何,UDP协议将校验和定义为可选 http://en.wikipedia.org/wiki/User_Datagram_Protocol#IPv4_PSEUDO-HEADER,零是校验和的有效值。这是为了允许处理能力较低的设备跳过校验和计算。校验和通常由处理数据包的第一个网络节点(例如路由器)填写。即使它保持为零,您的设备仍然应该接受有效的数据包。

EDIT:我刚刚意识到您正在谈论 IP 标头,而不是 UPD 标头。这对两者都适用,只是 IP 标头校验和不是可选的(并且将由您的 NIC 计算)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么会导致无法计算 UDP 数据报的 IP 标头校验和? 的相关文章

  • 如何将智能感知添加到我的应用程序中?

    我们的一款产品拥有一种专有的宏语言 通过我们的 Windows 软件进行编辑 我想添加智能感知 但我不知道如何去做 至少不完全重新发明轮子 是否有任何示例代码或第 3 方包至少可以让我开始 它不一定是免费的 该应用程序使用 NET 用 C
  • 如何启动异步任务对象

    我想开始收集Task同时处理对象并等待所有对象完成 下面的代码显示了我想要的行为 public class Program class TaskTest private Task createPauseTask int ms works w
  • Dotnet“新”命令不适用于 Framework 4.5?

    我正在尝试使用 dotnet 创建 4 5 框架类库项目new命令如下 dotnet new classlib lang C f net45 o TestProject 错误 无效参数 f 网络45 net45 不是 f 框架 的有效值 如
  • 使用预编译头减少 clang 编译时间

    我正在开发一个数据库项目 该项目将查询 以某种高级语言表示 编译为 C 代码 这段代码由数据库编译并执行 那部分工作得很好 现在 我正在尝试减少 C 查询代码的编译时间 我想知道是否可以使用预编译头来提高性能 该查询被转换为一个名为 Que
  • 操作/Lambda 表达式内存管理问题

    我将一个操作存储在局部变量中 然后在该局部变量超出范围后使用 使用前是否有被清理的危险 这是一个例子 public List GetMaps Action
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 无缝滚动瓷砖地图

    我正在开发一个自上而下的角色扮演游戏 并且想要实现无缝滚动地图 也就是说 当玩家探索世界时 地图之间没有加载屏幕 也没有通往下一个区域的 门 我有两种方法可以打破世界 在顶层 我有 区域 它只是 9 个 地图 的集合 这些区域仅由目录表示
  • StreamReader,C#,peek

    我有一个 StreamReader 它偶尔会检查它是否有更多内容可以从简单的文本文件中读取 它使用 peek 属性 问题是 当我使用 peek 时 位置发生了变化 尽管不应该发生 FileStream m fsReader new File
  • 使用 size_t 值反向遍历向量

    我想以相反的方向遍历向量的值 如您所知 向量的大小为 size t 当我使用以下代码时 for size t r m size 1 r gt 0 r x r f r for size t c r 1 c lt m size c x r m
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 实用程序库中应包含哪些内容[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着我的项目越来越多 我发现我经常从一个项目到另一个项目 从一个客户到另一个客户重复许多常见的任务 因此 我开始组装一个 实用程序 库 这是这些
  • C++ 错误:从“char”到“const char*”的转换无效

    我对 C 完全陌生 我创建了这个函数 bool guessWord string compWord cout lt lt Guess a letter string userLetter cin gt gt userLetter for u
  • 带双重检查锁的单例设计模式

    假设您有以下代码 1 为什么我们使用双重检查锁 为什么单锁不够好 请提供详细的例子 2 这种实施方式的主要缺点是什么 我该如何证明呢 Thanks public sealed class SomeSingleton5 private sta
  • 按值返回的函数的返回语句中的初始化

    我的问题源于深入研究std move in return语句 例如以下示例 struct A A std cout lt lt Constructed lt lt this lt lt std endl A A noexcept std c
  • printf() 使用字符串表“解码器环”调试库

    我写这封信是想看看你们中是否有人见过或听说过我即将描述的想法的实现 我有兴趣为嵌入式目标开发 printf 风格的调试库 目标非常遥远 并且我和目标之间的通信带宽预算非常紧张 因此我希望能够以非常有效的格式获取调试消息 通常 调试语句如下所
  • 数组与映射的性能

    我必须循环一个大数组中的元素子集 其中每个元素都指向另一个元素 问题来自于检测大图中的连接组件 我的算法如下 1 考虑第一个元素 2 将下一个元素视为前一个元素所指向的元素 3 循环直到没有发现新元素 4 考虑1 3中尚未考虑的下一个元素
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 非静态类中的静态方法和静态类中的静态方法有什么区别?

    我有两个班级A级和B级 static class ClassA static string SomeMethod return I am a Static Method class ClassB static string SomeMeth
  • EWS - 给予预约,获取预约的所有者副本

    在 EWS 中进行预约后 是否可以获得所有者的副本 例如 如果我登录为user1 我有user1创建的约会的副本user2 我有冒充权 我要编辑user2预约的副本 我怎样才能获得user2 s copy 您可以使用 PidLidClean
  • 修改代码以从 Windows 中的 PE 可执行文件检索双重签名信息?

    我已经挣扎了一段时间想要修改这段代码示例 https support microsoft com en us help 323809 how to get information from authenticode signed execu

随机推荐

  • 覆盖 sphinx/docutils 中的默认字段名称限制

    我在用sphinx http sphinx pocoo org 用于为项目生成 html 文档 我广泛使用字段列表 http docutils sourceforge net docs user rst quickref html fiel
  • MaterialDatePicker 获取选定的日期

    我在 Android 中这样调用 MaterialDatePicker MaterialDatePicker Builder
  • Clojure defprotocol 作为表达问题的解决方案

    在 Clojure 的乐趣 一书中 defprotocol是作为解决方案提供的表达问题 希望为现有的具体类实现一组现有的抽象方法 而不必更改定义其中任何一个的代码 给出的例子如下 defprotocol Concatenatable cat
  • 如何打印XCUITest中的所有静态文本

    我用过app staticTexts String tap 点击包含该字符串的按钮 该按钮工作完全正常 但这里的问题是我想打印所有static该页面上存在的文本 我该如何做XCUITest 我的目标是迭代所有static页面上显示的文本 然
  • 是否可以编译 linq-to-objects 的查询

    我有一个递归循环中的 linq to 对象查询 担心当对象接近 1000 个以上并且网站上的用户超过 100 个时 我的网站就会崩溃 那么是否可以编译 linq to object 查询 linq 查询只是查找节点的直接子节点 看看为什么这
  • 在另一个 Case 语句中使用 Case 语句的结果

    我有相当长的SELECT查询 但我已将相关部分粘贴到此处 我需要使用我的结果CASE在另一个语句中使用CASE陈述 我正在 SQL Server 中执行此操作 将非常感谢您的帮助 SELECT CompanyContact Name AS
  • Logstash可以直接读取远程日志吗?

    我是 Logstash 的新手 几天来我一直在阅读有关它的内容 和大多数人一样 我试图拥有一个集中式日志系统并将数据存储在 elasticsearch 中 然后使用 kibana 来可视化数据 我的应用程序部署在许多服务器中 因此我需要从所
  • 如何在 then 语句中返回一系列承诺

    因此 在过去的几个小时里 我一直在研究异步内容并使用 Promise 我正在使用测试框架量角器 并且有一些异步问题我遇到了麻烦 在此保存函数中 我异步调用 cm org1 all 然后使用 then 获取响应 我循环响应 并且需要对响应中的
  • hibernate hbm 文件中的 @Convert 相当于什么?

    我写了一个属性转换器 我想将其应用到一个实体中 到目前为止 我正在遵循纯粹的 XML 方法 我找不到相当于 Convert in hbm符号 举个例子将不胜感激 当我搜索这个时 可以理解的是 Google 返回了很多有关 自动将 hbm 文
  • VS2015中c#类的每个方法添加断点

    我有一个类 我希望调试器在调用其任何方法时停止 我尝试使用 New function breakpoint 但我找不到可用的通配符 Function Name 例如 我尝试了 MyNamespace MyClass 有 c 的示例 但它们似
  • 如何检测硬件按键点击?

    我现在需要检测当 flutter 应用程序位于前台或打开时是否按下了任何硬件按钮 例如 当有人按下音量或另一个按钮 即使是关闭电源的按钮 时 我想在我的应用程序中执行某些操作 我知道 当打开一个 flutter 应用程序并且我正在查看应用程
  • 无法在 groovy 中传递闭包

    我正在尝试运行 Geb 库的基本示例 http www gebish org manual current intro html introduction 这是代码 import geb Browser Browser drive go h
  • 环形包裹地图上一组点之间的“质心”,可最小化到所有点的平均距离

    edit 正如有人指出的那样 我正在寻找的实际上是最小化所有其他点之间的总测地距离的点 我的地图在地形上与 吃豆人 和 小行星 中的地图相似 越过顶部将使您扭曲到底部 越过左侧将使您扭曲到右侧 假设我在地图上有两个点 质量相同 我想找到它们
  • 开发面板中的本地化错误

    我购买了一个应用程序 尝试更新开发面板上的信息 当我尝试保存时收到以下错误 您的 1 个本地化内容有错误 它显示了错误位置 但我不知道问题是什么 如果您在选中媒体管理器中的复选框以使用新的 较大的屏幕尺寸屏幕截图之前没有删除较小 较旧尺寸的
  • Web.config保存问题

    我想通过 Web 应用程序的前端向用户公开一些 web config 设置 我可以毫无问题地检索设置 但是当我保存时 我要么收到错误 要么更改不会保留到 web config 文件中 我是在VS中调试的 如果我运行这个 private vo
  • 根据颜色图绘制条形图中的 y 值

    我已经在论坛上搜索过 发现this https stackoverflow com questions 42656585 barplot colored according a colormap 但我的问题有点不同 正如您从代码和下面的图像
  • 自定义 DataGridView 重复列

    我通过从 DataGridView 子类化创建了一个自定义 Winforms 控件 自定义 datagridview 定义自己的列和映射 但是 每当我将其从工具箱拖到窗体的设计图面上时 窗体都会为自定义控件中的每一列重新创建一个列控件 Da
  • Keras ML 库:梯度更新后如何进行权重裁剪? TensorFlow 后端

    我正在尝试使用 Keras 来实现需要权重裁剪的算法的一部分 即限制梯度更新后的权重值 到目前为止 我还没有通过网络搜索找到任何解决方案 作为背景 这与 WGAN 算法有关 https arxiv org pdf 1701 07875 pd
  • Spring Security OAuth 与 JWK 示例

    有人有一个带有 JWT 和非对称密钥的 Spring Security OAuth 2 资源服务器 SP 示例 该示例使用带有 JWKS 端点的 JWK 吗 多谢 散文 Spring Security OAuth 2 资源服务器可以配置为使
  • 什么会导致无法计算 UDP 数据报的 IP 标头校验和?

    我试图将 UDP 数据报从 Windows XP 上的 UdpClient 发送到设备 但它没有响应 当我在 Wireshark 中查看该流量时 我发现出站数据包很糟糕 因为它们的所有 IP 标头校验和都是 0x0000 该机器有两个网卡