在 Linux 上使用 C++ 将 MAC 地址解析为 IP 地址

2024-04-17

我需要生成一个包含目标 MAC 地址的以太网标头(因为 libnfnetlink 在预路由发生之前仅提供 IP 标头),传出接口号也是已知的,因此可以在正确的网络中进行查找。

从 IP 地址解析 MAC 地址的库/函数是什么?


目前还不清楚为什么需要 MAC 地址,因为这通常是在较低级别为您处理的。

但是,假设您的目标位于本地以太网段上,您可以使用arp命令查找本地缓存中的值。如果该值没有被缓存...那么,这是一个问题。也许arping有助于...

(通常情况下,您会发送一个数据包到 IP 地址 10.10.10.10,然后您的系统会发送一个 ARP 数据包来查询谁拥有 10.10.10.10,并且会从该目标系统返回一个带有其 MAC 地址的响应,然后它将被缓存。(您可以使用tcpdump.) 或者当系统上线时,它会发送一条广播消息,通知其他所有人其 MAC 地址。当然,如果您的目的地位于另一个以太网段上,您将路由到网关而不是直接到达目的地,并且没有可用的目的地 MAC 地址。)

您可以进一步阅读:

  • http://linux.die.net/man/8/arp http://linux.die.net/man/8/arp
  • http://linux.die.net/man/8/arping http://linux.die.net/man/8/arping
  • http://linux.die.net/man/7/arp http://linux.die.net/man/7/arp
  • http://www.kernel.org/doc/man-pages/online/pages/man7/arp.7.html http://www.kernel.org/doc/man-pages/online/pages/man7/arp.7.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Linux 上使用 C++ 将 MAC 地址解析为 IP 地址 的相关文章

随机推荐

  • 从传递给分部视图的嵌套复杂对象中获取值

    我有一个 ViewModel 它的成员之一是一个复杂的对象 复杂对象有 4 个属性 都是字符串 我正在尝试创建一个可重用的部分视图 我可以在其中传递复杂的对象并让它使用 html 帮助器为其属性生成 html 这一切都很好 但是 当我提交表
  • Postgresql:对 2 列联合的唯一约束

    我有以下表格 交易 id amount 1 100 2 100 3 250 4 250 TRANSACTION LINKS id send tx receive tx 1 2 1 2 4 2 The send tx and receive
  • 将 MUI 工具提示放置在容器内,使其不会溢出到容器之外

    在此输入图像描述 https i stack imgur com gKP8k jpg 例如 在此图像中 当我将鼠标悬停在左侧的按钮 单击 上时 工具提示将离开红色边框容器 右侧按钮也会发生同样的情况 我想动态更改工具提示位置 以便在这两种情
  • Spring中的@RequestParam如何处理Guava的Optional?

    RequestMapping value contact html method RequestMethod POST public final ModelAndView contact RequestParam value name re
  • Python 中的 SSL 模块不可用(在 OSX 上)

    我跑步时遇到问题pip install在 OSX 10 13 上的 virtualenv 中 我已经跑了brew install openssl和路径 usr local include openssl指着 opt openssl incl
  • 确定 C/C++ 结构与其成员的对齐方式

    如果已知结构成员的对齐方式 是否可以找到结构类型的对齐方式 Eg for struct S a t a b t b c t c S max alignment of a alignment of b alignment of c 的对齐方式
  • 出现错误:指定的文件扩展名“.webtest”不是有效的测试扩展名

    尝试跑步MSTEST exe我通过安装的Agents For Visual Studio 2017下载 https www visualstudio com downloads https www visualstudio com down
  • 如何使用 PHP 在浏览器上按“刷新”按钮时删除 $_POST 变量?

    当我按下浏览器上的 刷新 按钮时 似乎 POST变量在刷新过程中被保留 如果我想删除其中的内容 POST我应该怎么办 使用unset对于以下领域 POST没有帮助 帮助 谢谢 请求标头包含一些 POST 数据 无论您做什么 当您重新加载页面
  • 如何使用 FTP 在目录之间移动文件?

    我有一个程序需要将文件从 FTP 服务器上的一个目录移动到另一个目录 例如 该文件位于 ftp 1 1 1 1 MAIN Dir1 我需要将文件移动到 ftp 1 1 1 1 MAIN Dir2 我发现了几篇推荐使用 重命名 命令的文章 因
  • 无效的速记属性初始值设定项[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 JavaScript 中为节点项目编写了以下代码 但在测试模块时遇到了错误 我不确定这个错误是什么意思 这是我的代码 var
  • 为什么使用继承类型的泛型类未检测到类约束?

    表达这个问题很难 我希望下面的代码片段能让事情变得清楚 public class DemoClass
  • 如何保留换行符

    换行符和回车符 一定是编码中最复杂的部分 为我 将此代码放在页面中 来自数据库 存储为This from Ricardo nAnd also a test nRent 3000 00 td title This from Ricard An
  • Mathematica 中的分类树实现

    我想使用以下方法实现简单的分类树 二元分类 数学 我怎样才能实现二叉树数学 有这样做的符号吗 我想说这取决于你想用数据结构做什么 您可以利用 Mathematica 表达式本身就是树的事实 如果只有叶节点相关 则使用嵌套列表 例如 1 2
  • echo 命令,然后运行它? (如制作)

    有没有某种方法可以让 bash 进入一种详细模式 这样 当它运行 shell 脚本时 它会在运行之前回显将要运行的命令 也就是说 这样就可以看到运行的命令 以及它们的输出 类似于make 也就是说 如果运行像这样的 shell 脚本 ech
  • Sublime Text 2 和 MinGW

    再会 任何人都可以分享他们如何将 MinGW 编译器附加到 Sublime 的经验吗 我在互联网上找到了一个配置 但是当我运行编译的程序时 会弹出错误 其中缺少 MinGW bin 中的文件 Config cmd mingw32 g exe
  • 扩展小部件之间的空白

    一些 Flex 值会在 Expanded 小部件之间创建空白 据我所知 这是计算的其余部分 例如 Scaffold body Column children
  • ValueError:cross_val_predict仅适用于分区

    我有一个包含特征数组 X 和因变量数组 y 的多类分类问题 y 有四个类 1 2 3 和 4 数据严重不平衡 第 4 类只有少数观察结果 我选择的分类器模型为 model RandomForestClassifier n estimator
  • 如何开始:使用 AssertJ Swing 测试 Java Swing GUI

    在使用 Swing 开发 Java 桌面应用程序时 我需要直接测试 UI 而不仅仅是通过单元测试测试底层控制器 模型类 This 答案 关于 基于 Swing 的应用程序的最佳测试工具是什么 https stackoverflow com
  • 无法启动 celeryd - 错误:选项字符串冲突:--no-color

    我正在使用 django v1 7 0b4 和 celery v3 1 1 按照以下步骤进行Django安装指南 http docs celeryproject org en latest django first steps with d
  • 在 Linux 上使用 C++ 将 MAC 地址解析为 IP 地址

    我需要生成一个包含目标 MAC 地址的以太网标头 因为 libnfnetlink 在预路由发生之前仅提供 IP 标头 传出接口号也是已知的 因此可以在正确的网络中进行查找 从 IP 地址解析 MAC 地址的库 函数是什么 目前还不清楚为什么