我刚刚在哪个适配器上收到此 UDP 数据包?

2024-04-23

我正在尝试用 C# 编写一个 BOOTP 服务器。

我正在接收并解析来自客户端的 BOOTP 数据包,我需要回复我的服务器 IP 地址。

问题是:

  • 计算机可以有多个网络适配器
  • 客户端还没有 IP 地址

有什么方法可以查出 UDP 数据包是在哪个适配器上接收的吗?


有几种可能的方法可以做到这一点。在每个物理接口上的每个 IP 上绑定一个单独的套接字,然后您将始终知道数据包到达哪个接口。您还可以尝试将 IP_RECVIF 标志与 recvmsg 套接字函数一起使用,尽管我不知道 Windows 是否支持。 Steven's 在《Unix 网络编程》第 22.2 和 22.6 节中提供了示例。您可以将 SIOCGIFCONF 标志与 ioctl 一起使用来获取计算机上的接口列表。 UNP 第 17.6 节中有一个示例程序。如果 C# 不允许您访问这些函数,但它们在 Windows 上受支持,您可以编写一个简单的 C 程序来收集和更新接口/IP 信息,然后使用 mmap 在 C# 程序和接口枚举器之间共享内存区域。

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

我刚刚在哪个适配器上收到此 UDP 数据包? 的相关文章

  • 如何将这段 javascript 代码重写为 C++11?

    这是我在 Javascript Definitive Guide 中看到的 javascript 闭包代码 我想把它写成C 11 var uniqueID1 function var id 0 return function return
  • 使用 #pragma Once 和 #ifndef 时出现 VS 2010 C++ LNK2005 错误

    1 gt Deck obj error LNK2005 class Card card card 3VCard A already defined in Card obj 1 gt PokerTester obj error LNK2005
  • 什么定义了类型的大小?

    ISO C 标准规定 sizeof char lt sizeof short lt sizeof int lt sizeof long 我在 BIT Linux mint 19 1 上使用 GCC 8 大小为long int is 8 我正
  • 无法使用c#更改视频捕获分辨率

    我正在尝试使用 C 中的 DirectShowNet 更改默认网络摄像头分辨率 据我所知 我需要通过调用 windows win32 api dll 中内置的 VideoInfoHeader 类来更改它以进行 avi 捕获 我有来自 Dir
  • 如何使用 Entity Framework 和 Identity 解决对象处置异常 ASP.NET Core

    我正在尝试编写一个控制器 该控制器接收来自 AJAX 调用的请求并通过 DBContext 对数据库执行一些调用 但是 当我发出命令时var user await GetCurrentUserAsynch 在对 DBContext 的任何调
  • 更新 Azure Blob 上的 LastModified

    我正在移植代码以使用 C 中的 Azure 存储 SDK 传统上 我称其为更新修改文件的上次写入 修改时间 File SetLastWriteTimeUtc fileName lastWriteTimeUtc 要更新 blob 的上次修改时
  • strtok() 使用安全吗[重复]

    这个问题在这里已经有答案了 我读到了很多负面的东西strtok 有人说它已经过时 有人说它不是线程安全的 等等 那么真相是什么 我可以使用吗strtok 它是线程安全的吗 Note 我正在使用 Visual C 您可以使用它 它是标准库的一
  • 如何使用c#从数据桶中获取所有文档?

    如何获取数据桶中的所有文档 我尝试过一个示例 但我只能获得一个特定的文档 这是我的代码 CouchbaseClient oclient oclient new CouchbaseClient vwspace data bucket name
  • 如何通过 libwebsocket 发送异步数据?

    我正在将 Warmcat 的 libwebsocket C 库用于小型 Websocket 服务器 我已经启动并运行了这些示例 并且可以发送数据以响应从 websocket 接收数据 例如回显发送的反向字节 但是 我无法弄清楚如何在不使用
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 查找方法不适用于 EF6.1 模拟

    我已经使用这些 msdn 指南设置了模拟 使用模拟框架进行测试 EF6 及以上 http msdn microsoft com en us data dn314429 var bsAc db BusAcnts FirstOrDefault
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 在 LP2844Z(Zebra 打印机)上的收据中包含 PNG [重复]

    这个问题在这里已经有答案了 我正在致力于创建一个基于 HTML5 画布的签名 绘图框 目前我们在服务器上将画布保存为PNG 但可以轻松地将base64字符串保存在数据库中 现在的问题是我们如何在打印的收据上添加签名 目前我们使用 GF 字段
  • 如何根据当前日期时间发现财政年度?

    我需要基于当前或今天的日期时间的财政年度 假设我们认为今天的日期是10 April 2011 那么我需要输出为Financial Year 2012在某些情况下 我需要以短格式显示相同的输出FY12 我想以两种方式显示 在我们的要求中 考虑

随机推荐

  • VarName 未定义,请修复或添加 /*global VarName*/ Cloud9

    客观的 阻止 Cloud9 IDE 向我发出警告消息 背景 我正在使用 Cloud9 IDE 编写 JavaScript 无论何时使用另一个文件 同一文件夹中 中的类 我都会收到警告消息 VarName 未定义 请修复或添加 global
  • 使用 JWT 缺少授权标头

    我正在尝试设置 JSON Web 令牌以从移动应用程序与我的 php 后端进行通信 我可以请求一个令牌就好了 当我需要验证它 或向另一个端点发出请求 时 我使用以下格式设置授权标头 Bearer
  • SimPy 资源有 3 个,每个资源都有不同的特征

    我试图模拟这样一种情况 我们有 5 台机器 它们的情况是 1 gt 3 gt 1 即中间的3个并行运行以减少它们所花费的有效时间 我可以通过创建值为 3 的 SimPy 资源来轻松模拟这一点 如下所示 simpy Resource env
  • 如何在提交表单时禁用“window.onbeforeunload”?

    当我从浏览器关闭此页面时 会打开一个警告框 询问 离开此页面 或 留在此页面 没关系 但是 当从下面给出的 提交 按钮提交表单时 它会再次询问并显示此警报框 我如何在提交表单时禁用此功能 不应该询问并显示警报框
  • IE8 中的不透明度不起作用

    我已经设置了覆盖层的不透明度 该覆盖层在 FF Chrome Safari 和 IE9 中工作正常 但在 IE8 中不起作用 我用谷歌搜索了很多 但没有找到任何解决方案 我的CSS代码是 overlayEffectDiv ms filter
  • 使用 python Shutil.py 时出现 Errno 2 没有这样的文件或目录作为文件目标

    我正在使用shutil python 模块在linux redhat 机器上复制文件和目录 我编写了以下方法 它接受 2 个参数 src 正在收集的文件或目录的路径 和目标 将收集的日志 目录粘贴到的所需新路径 def copy src d
  • RandomAccess接口,为什么没有方法?

    我正在读书Collections shuffle List javadoc http docs oracle com javase 7 docs api java util Collections html shuffle 28java u
  • Postman:如何在运行时删除/清除postman环境变量

    有没有办法在运行时使用函数删除 清除邮递员环境变量 我可以设置为空白或一些特殊值 但是有通用的处理方法吗 沙盒APIpm environment unset variableName 也允许这样做 如果您想立即清除所有环境变量 您可能需要执
  • Twitter 数据 - 查找 MongoDB 中被提及最多的用户

    假设我有来自 Twitter API 的流数据 并且将数据作为文档存储在 MongoDB 中 我想要找到的是计数screen name under entities user mentions id ObjectId 50657d58449
  • jquery 在点击时突出显示链接

    如何使用 jquery 在单击链接时突出 显示该链接 例如 当我单击链接 class1 1 时 我想将此链接设为红色 或其他颜色 JavaScript 代码在这里
  • 无意中使用 = 而不是 ==

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 看起来 if x y 代替 if x y 是许多罪恶的根源 为什么不all编译器将其标记
  • Android 5.0 JobScheduler API 在早期版本上?

    我正在构建一个 Android 应用程序 它利用清单广播接收器来了解设备何时插入 我认为 Android 5 0 JobScheduler API 是一种更好的方法 但我有一个问题 是否可以在早期版本的 Android 上使用此 API 或
  • 使用 PHP Swiftmailer 时如何解决错误 554 5.5.1(无有效收件人)?

    在测试我们的邮件服务器时 我们偶然发现了一个错误 该错误阻止我们通过 PHP 发送邮件 尽管每个 Mail in a box 的常规发送 接收工作没有任何问题 我们正在运行一个单独的 Ubuntu 18 04 服务器 该服务器仅运行 Mai
  • Python SimpleHTTPServer 接收文件

    我正在使用 SimpleHTTPServer 的 do POST 方法来接收文件 如果我使用curl上传png文件 该脚本工作正常 但每当我使用python请求库上传文件时 文件上传但会损坏 这是 SimpleHTTPServer 代码 u
  • Maven findbugs:check - 错误的输出摘要

    有谁知道如何配置 maven findbugs 插件以将错误摘要输出到控制台 类似于 pmd 插件 目前 findbugs check 只是打印出总共有多少个错误 我需要检查各个模块 target findbugs 目录和每个 findbu
  • 如何处理未知变量或如何处理多个数据库

    我正在开发一个带有多个数据库的 Go RESTful API 应用程序 启动服务器时 用户提供他们想要使用的数据库 在应用程序中 我有三大功能其中一个处理连接 selectedDb Get selectedDb Add selectedDb
  • Linux Python Azure Function APP - 尽管在requirements.txt中但未找到pyodbc模块,并且其他模块工作正常

    我正在使用一个Linux consumption plan 我收到以下错误 Exception ModuleNotFoundError No module named pyodbc 我已经添加了pyodbc in the requireme
  • 如何在powershell中获取登录用户的电子邮件

    使用 Vbscript 我们获取当前用户的电子邮件 ID 它就像下面几行一样简单 Option Explicit Dim objUser objADSysInfo Set objADSysInfo CreateObject ADSystem
  • 如何在指定半径的圆内生成随机坐标?

    我试图生成位于半径 5 公里的圆内的随机坐标 纬度 经度 其中中心点位于某个坐标 x y 我正在尝试用 ruby 编写此代码 并且正在使用该方法 但不知何故我得到的结果不在指定的 5 公里半径内 def location lat lng m
  • 我刚刚在哪个适配器上收到此 UDP 数据包?

    我正在尝试用 C 编写一个 BOOTP 服务器 我正在接收并解析来自客户端的 BOOTP 数据包 我需要回复我的服务器 IP 地址 问题是 计算机可以有多个网络适配器 客户端还没有 IP 地址 有什么方法可以查出 UDP 数据包是在哪个适配