什么会导致无法计算 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 标头校验和? 的相关文章

  • 在Application_AquireRequestState事件中用POST数据重写Url

    我有一个在其中注册路线的代码Application AcquireRequestState应用程序的事件 注册路由后 我会在 Http 运行时缓存中设置一个标志 这样我就不会再次执行路由注册代码 在此事件中注册路线有特定原因Applicat
  • 为什么这个函数指针赋值在直接赋值时有效,但在使用条件运算符时无效?

    本示例未使用 include 在 MacOS10 14 Eclipse IDE 上编译 使用 g 选项 O0 g3 Wall c fmessage length 0 假设这个变量声明 int fun int 这无法通过 std touppe
  • Paradox 表 - Oledb 异常:外部表不是预期的格式

    我正在使用 Oledb 从 Paradox 表中读取一些数据 我遇到的问题是 当我将代码复制到控制台应用程序时 代码可以工作 但在 WinForms 中却不行 两者都以 x86 进行调试 我实际上只是复制代码 在 WinForms 应用程序
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 防止GDB中的PLT(过程链接表)断点

    在最新版本的 GDB 中 在库函数调用上设置断点会导致多个实际断点 调用过程链接表 PLT 实际的函数调用 这意味着当调用库函数时 我们每次都会经历两次中断 在以前的 GDB 版本中 只会创建 2 因此您只能得到一次中断 那么问题来了 是否
  • 格式化货币

    在下面的示例中 逗号是小数点分隔符 我有这个 125456 89 我想要这个 125 456 89 其他示例 23456789 89 gt 23 456 789 89 Thanks 看看这个例子 double value 12345 678
  • 更改 IdentityServer4 实体框架表名称

    我正在尝试更改由 IdentityServer4 的 PersistedGrantDb 和 ConfigurationDb 创建的默认表名称 并让实体框架生成正确的 SQL 例如 而不是使用实体IdentityServer4 EntityF
  • 在简单注入器中注册具有多个构造函数和字符串依赖项的类型

    我正在尝试弄清楚如何使用 Simple Injector 我在项目中使用了它 注册简单服务及其组件没有任何问题 但是 当组件具有两个以上实现接口的构造函数时 我想使用依赖注入器 public DAL IDAL private Logger
  • dropdownlist DataTextField 由属性组成?

    有没有一种方法可以通过 C 使 asp net 中的下拉列表的 datatextfield 属性由对象的多个属性组成 public class MyObject public int Id get set public string Nam
  • 使用 AdHocWorkspace 会导致“不支持语言‘C#’”。

    在VS2015中使用Microsoft CodeAnalysis CSharp Workspaces的RC2 这段代码会抛出异常 var tree CSharpSyntaxTree ParseText var workspace new A
  • 使用 foreach 循环和 XmlNodeList C# 将新节点附加到节点列表

    目前我处理的是这样的XML类型 XML FILE http 20drive google com open id 0By5BxgNi9eGcRldxcEZNU0FDTzQ 参考XML文件 我想检查一个节点 如果找不到该节点 我必须将该节点附
  • 相当于 C# 中 Java 的“ByteBuffer.putType()”

    我正在尝试通过从 Java 移植代码来格式化 C 中的字节数组 在 Java 中 使用方法 buf putInt value buf putShort buf putDouble 等等 但我不知道如何将其移植到 C 我尝试过 MemoryS
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • “int i=1,2,3”和“int i=(1,2,3)”之间的区别 - 使用逗号运算符的变量声明[重复]

    这个问题在这里已经有答案了 int i 1 2 3 int i 1 2 3 int i i 1 2 3 这些说法有什么区别 我无法找出任何具体原因 Statement 1 Result Compile error 运算符的优先级高于 运算符
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 在 Java 服务器中验证 Windows 用户

    我正在开发一个用 Java 编写的服务器和一个在同一网络上的 Windows 计算机上运行的客户端 用 Net 编写的桌面应用程序 我希望进行一些基本身份验证 以便服务器可以确定运行客户端的用户的用户名 而不需要用户在客户端中重新输入其 W
  • 从有符号字符转换为无符号字符然后再转换回来?

    我正在使用 JNI 并有一个 jbyte 类型的数组 其中 jbyte 表示为有符号字符 即范围从 128 到 127 jbyte 表示图像像素 对于图像处理 我们通常希望像素分量的范围为0到255 因此 我想将jbyte值转换为0到255
  • C# 粘贴到文本框时检查剪贴板中的字符

    有没有一些方法可以在粘贴到文本框 C 之前仅检查剪贴板中的字符 Ctrl V 和右键单击 gt 粘贴 但不使用 MaskedTextbox 在文本框文本更改中添加规则以仅接受数字 例如 private string value privat
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个

随机推荐

  • 覆盖 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 该机器有两个网卡