在 C 中以编程方式获取网络链接类型和速度

2023-12-28

我想知道是否有一种更紧凑的方法来查找 Linux 中网络接口的链接速度和类型(无线、以太网),而不是仅仅打开并读取/sys/class/net/eth0/type and /sys/class/net/eth0/speed例如文件。

如果没有的话谁能告诉我在哪里可以找到这个号码/sys/class/net/eth0/type返回,对应哪些网络类型?

EDIT:情况变得更糟!经过一些无线实验后,/sys/class/net/wlan0/type也返回 1,并且/sys/class/net/wlan0/speed不存在,我必须从中获取链接速度/sys/class/net/wlan0/wireless/link有时会返回不正确的速度。例如,在 54Mbits 卡中有时会返回 55。

提前致谢!


这只能解决一半的问题,但使用 libpcap 库,您可以打开实时 pcap_t,然后调用 pcap_datalink。这将为您提供链接类型。 (DLT_IEEE802_11、DLT_EN10MB 等)

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

在 C 中以编程方式获取网络链接类型和速度 的相关文章

  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 关于逻辑/算法的想法以及如何防止线程写入 Sql Server 中的竞争

    我有以下逻辑 public void InQueueTable DataTable Table int incomingRows Table Rows Count if incomingRows gt RowsThreshold async
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 更改 TFS 构建代理的身份

    我们有一个运行集成测试的 TFS 构建代理 其中一些测试会调用 Internet 上的 Web 服务 我们的网络使用代理与互联网通信 由于构建代理在网络服务上的身份下运行 并且网络服务的设置未配置为使用代理 因此测试失败 我该如何执行以下操
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 尝试安装 eclipse 时 eclipse 更新失败

    当尝试使用 eclipse 新软件功能安装 eclipse 时 出现以下错误 Cannot complete the install because one or more required items could not be found
  • dart中通过反射获取私有变量

    我想在 dart 的对象中获取私有变量 这个变量没有吸气剂 所以我想通过反射来做到这一点 我尝试了很多方法 但对我来说没有任何作用 例如 当我这样做时 var reflection reflect this InstanceMirror f
  • AngularJS 应用程序文件结构

    在一个大型 AngularJS 应用程序中 将所有控制器都放在一个 controllers js 文件中 对我来说似乎有点难以维护 有没有更好的方法来做到这一点 例如 js controllers myController js js co
  • Jquery如何在动态创建的元素上绑定点击事件?

    我尝试了下面的代码 但它不起作用 jQuery 1 9 1 在这里试试这个
  • 如何管理 ANTLR 中的可选空白?

    我正在尝试解析 ANTLR 中的数据文件 它有可选的空格 例如 3 6 97 12 15 18 下图显示了线的起点和终点 末尾有一个换行符 并且没有制表符 3 6 97 12 15 18 我的语法是 lines line line ws1
  • 将可空列更改为具有默认值的 NOT NULL

    我今天遇到一个旧表 其中有一个名为 Created 的日期时间列 它允许空值 现在 我想更改它 使其不为 NULL 并且还包含一个添加默认值 getdate 的约束 到目前为止 我已经得到了以下脚本 只要我事先清除了所有空值 该脚本就可以正
  • 为 git 输入提交消息后该怎么办?

    我输入后git commit a弹出一个文本编辑器 我输入我的评论 输入评论后 我必须按哪些按钮才能使其进入实际提交的下一阶段 我在 Windows 上使用默认设置的 mysysGit 尝试这个 git add file name git
  • 在 iOS 模拟器中截图

    我想在模拟器中运行时截取我的 iOS 应用程序的屏幕截图 并将屏幕截图保存在我的 Mac 上 我怎样才能做到这一点 It s just as simple as command s or File gt Save Screen Shot i
  • 使用 JQuery 的 IE 中的堆栈溢出(第 12/1076 行)

    我正在使用来自 Google CDN 的 JQuery 并且在第 12 行 对于 min 文件 和第 1076 行 对于未压缩的文件 出现堆栈溢出错误 使用 IE8 堆栈溢出错误将我带到的行的 JQuery 代码是 jQuery js ma
  • 如何使用 python 将 firestore 查询响应转换为 json

    我写了下面的代码 places ref db client collection u places doc places ref where u city name u paris get print doc 控制台输出为
  • Google Sheets 最大单元格限制和缓解措施

    我在网上读到 Google 表格的最大单元格限制为 500 万个单元格 我目前正在处理的一张工作表已经远远超出了该限制 包括空白单元格 新的限制是多少 我还手动检查了我使用了多少个单元格 有没有 我可以用来进行检查的函数或脚本 我正在处理的
  • 何时在java中使用linkedhashmap而不是hashmap?

    linkedhashmap和hashmap之间的选择有哪些实际场景 我已经完成了每个工作 得出的结论是 linkedhashmap 维护插入顺序 即元素将以与插入顺序相同的顺序检索 而 hashmap 不会维护顺序 那么有人可以告诉我们在什
  • Android Studio:导入图片时无法进行重构

    今天早上我突然无法将 png 文件拖到 Android Studio 中的可绘制文件夹中 我收到消息 无法执行重构 文件是只读的 我已确认这些文件不是只读的 并且已对 Mac 上不同位置的大量图像文件进行了尝试 关于如何解决这个问题有什么想
  • Android 4.3:BLE:startLeScan() 的过滤行为

    我正在开发一个蓝牙传感器设备 我需要为此形成一对多的数据广播 根据规范 外设可能只有一个主设备 并且由于我正在设计的芯片和堆栈的限制 一个主设备只能有三个从设备 据我了解 Android 无论如何都无法成为 BLE 从设备 因此将我的设备作
  • 无法在 Samsung Galaxy S2 的 VideoView 中播放 RTSP 视频

    我正在尝试播放实时 RTSP 视频 来自rtsp media2 tripsmarter com LiveTV BTV using VideoView 这是我的代码 public class ViewTheVideo extends Acti
  • Heroku Redis 上的 SSL 认证验证失败

    我正在使用 Redis 高级计划在 Heroku 上部署 Flask 应用程序 我收到以下错误 SSL 认证验证失败 尝试修复 降级到 Redis 5 Passing ssl cert reqs None to the Redis构造函数在
  • 如何在 Drupal 8 中创建查询

    我习惯在 drupal 7 中使用 db select 但现在它在 drupal 8 中已弃用 因此 如果我需要创建一个查询来列出来自的所有用户users field data表 我该怎么办 我还用吗db select or db quer
  • 首次创建 viewpager 时显示特定页面

    我有一个片段 其中包含ViewPager This ViewPager由一个支持PagerAdapter使用一个Cursor 光标由LoaderCallbacks 我在这里使用 v4 支持库 我想要的是创建片段并让视图分页器显示指定的页面
  • 在代码中设置WPF图像源

    我正在尝试在代码中设置 WPF 图像的源 图像作为资源嵌入到项目中 通过查看示例 我想出了下面的代码 由于某种原因它不起作用 图像没有显示 通过调试我可以看到该流包含图像数据 那么出了什么问题呢 Assembly asm Assembly
  • 在 C 中以编程方式获取网络链接类型和速度

    我想知道是否有一种更紧凑的方法来查找 Linux 中网络接口的链接速度和类型 无线 以太网 而不是仅仅打开并读取 sys class net eth0 type and sys class net eth0 speed例如文件 如果没有的话