libpcap - 从所有接口捕获数据包

2023-12-14

我需要从 Linux 机器上的所有网络接口捕获数据包。 为了做到这一点,我计划使用pcap_open_live()API 并传递“any”作为设备参数。

我有不同类型的端口:以太网端口(例如 eth0)和 GRE 隧道(例如 tun0) 来自不同类型接口的数据包具有不同的标头格式:

  1. 来自以太网端口的数据包带有 MAC 标头
  2. 来自隧道的数据包带有 Linux“熟”捕获封装(16 字节)标头

我怎样才能登记入住pcap_loop()回调处理程序我得到什么类型的数据包标头?


您收到的所有数据包都具有相同类型的数据包标头;这就是你打电话时得到的类型pcap_datalink()在 pcap_t 上。的价值观pcap_datalink()回报是DLT_值如所示链路层报头类型tcpdump.org 站点上的页面。

如果您已经打开了any设备,pcap_datalink()将返回DLT_LINUX_SLL, 意思是ALL您捕获的数据包将具有“煮熟的”捕获标头 - 即使是来自eth0!你必须捕捉eth0, 而不是any,获取这些数据包的以太网标头。

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

libpcap - 从所有接口捕获数据包 的相关文章

  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • 在非实时操作系统/内核上执行接近实时任务的最佳方法是什么?

    在一台 GNU Linux 机器上 如果想要执行 实时 亚毫秒级时间关键 任务 您几乎总是必须经历漫长 复杂且容易出现问题的内核补丁过程 以提供足够的支持 1 http en wikipedia org wiki RTLinux Backg
  • Android 防火墙与 VpnService

    我正在尝试使用 BS 项目的 VpnService 为 Android 实现一个简单的防火墙 我选择 VpnService 因为它将在非 root 设备上运行 它将记录连接并让您过滤连接 基于IP 有一个应用程序可以做到这一点 因此这是可能
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 为什么 Kademlia 使用 UDP?

    为什么Kademlia 分布式哈希表 http en wikipedia org wiki Kademlia使用 UDP 作为其网络传输协议 即使它不可靠 主要原因是您快速查询了许多以前从未建立过联系并且可能在查找过程中永远不会再看到的节点
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • 网络:传输层和网络层之间的区别

    在互联网模型中有四层 链路 gt 网络 gt 传输 gt 应用 我真的不知道网络层和传输层之间的区别 正如我读到的 Transport layer include congestion control flow control reliab
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 由于 abi::cxx11 符号导致的链接问题?

    我们最近收到一份报告 因为GCC 5 1 libstdc 和双 ABI http gcc gnu org onlinedocs libstdc manual using dual abi html 它似乎Clang 不知道 GCC 内联名称
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 网络服务发现不是发现服务类型

    我想通过 Android 设备在本地网络中找到服务器 我可以通过使用找到它NSDManager具有服务器服务类型的服务 例如 workstation tcp是服务类型 在我的本地网络中我有一个 无线路由器和无线中继器 两者都有不同的SSID
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 为什么无论 -rdynamic 如何,backtrace 都不包含 Objective-C 符号?

    Update 我正在 Linux 上使用 GNU 运行时 问题是not发生在带有 Apple 运行时的 MacOS 上 更新2 我在 MacOS 上编译了 GNU 运行时并用它构建了示例 该错误确实not发生在带有 GNU 运行时的 Mac
  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac

随机推荐

  • 如何检查给定用户是否是内置管理员组的成员?

    我需要以编程方式 在 NET 中 检查给定用户 域帐户 是否是当前计算机 执行应用程序的计算机 上内置管理员组的成员 是否可以 我不了解 Net 但在win32中 简单的方法是调用IsUserAnAdmin 如果您需要更多控制 您可以打开进
  • 如何将 Flask+React 应用程序部署到 Azure Web 服务

    我一直在我的本地主机上开发这个应用程序 它以 Flask 作为后端 本地主机 5000 和 React 作为前端 本地主机 3000 而且他们沟通得很好 现在我应该把它放在网上 以便其他人也可以看到它 我在 Azure 上没有太多经验 但是
  • 在 silverlight 应用程序中显示 pdf。 PDF 到 XAML

    我需要创建 silverlight 应用程序 客户将在其中看到一些 pdf 文件 PDF 文件必须位于 silverlight 控件内 并且不能呈现为图像 客户想要选择文本 为此目的我需要一些free将 pdf 文件转换为 xaml 的库或
  • Keras 中损失函数的导数

    我想在 keras 中创建以下损失函数 Loss mse double derivative y pred x train 我无法合并衍生术语 我努力了K gradients K gradients y pred x train x tra
  • WiX ICE30 错误但目录正确

    我的 WiX 3 10 3 3007 项目有 2 个不同的 web config 文件 它们安装在 2 个不同的位置 我的构建中的 2 个错误是 错误 ICE30 目标文件 svcenub9 con Web config 由 LFN 系统上
  • 什么是 Docker 镜像“层”?

    我是 Docker 的新手 我正在尝试确切地了解 Docker 是什么image是 Docker 镜像的每个定义都使用术语 层 但似乎没有定义 层 的含义layer 来自官方Docker 文档 我们已经看到 Docker 镜像是启动 Doc
  • 如何让 Twig 将 HTML 输出写入文件而不是浏览器?

    我有一个想要渲染的 Twig 模板 html 文件 将标记替换为 PHP 文件中的值 然而 我不想将渲染结果发送到浏览器 而是将其写入新的 html 文件 我想 Django 模板的解决方案也是类似的 我怎样才能在 PHP 中做到这一点 您
  • 按位乘以 5/8 观察溢出

    我被分配了一大堆问题 这是唯一一个我不知道如何优化的问题 目标是乘以 5 8 舍入到 0 并防止溢出 运算顺序是乘以 5 然后除以 8 即 11 5 8 6 优化的目标是使用 12 个或更少的运算符 规定仅此而已 允许 gt 运算和8 位整
  • JTable -> TableModeListener

    我有这个JTable有一个DefaultTableModel作为它的模型 桌子上我有几个秋千组件 JComboBox and JCheckBox 通过设置在特定列上DefaultCellEditor and DefaultCellRende
  • SecCopyErrorMessageString 在 swift 中给出“使用未解析的标识符”

    尝试使用 SecCopyErrorMessageString 来解释 errorCode 迅速 var result OSStatus result SecItemAdd query as CFDictionary nil if resul
  • Firebase 与 Swift 对observeEventType 的使用不明确

    因为这个我一直在拔头发 转到包含相关事件和多个教程的所有页面 我发现这里的代码没有任何问题 但不知怎的 如果我打印出值 有效 或将它们分配为 它就不会失败 NSArray 然后给我一个空数组 snapshot value 的打印显示 fri
  • 在 Netbeans 中编译简单的新 CUDA 项目

    我在 Netbeans 中创建了新的 C Application 并想要编译简单的 CUDA 例如 include
  • C11可选功能宏在哪里?

    C11 标准中写道 编译器应该提供一些宏来测试可选功能的存在 我可以在哪些标题中找到它们 例如位于哪里 STDC NO VLA 对于 GCC 即 如果我尝试找到 STDC NO COMPLEX into complex h我在那里没找到 它
  • R - if 条件的子集数据

    如何使用逻辑条件对数据进行子集化 假设我有如下数据 我想对数据集进行子集化 第一个条件是所有动物都有 FCR 记录 然后我想将所有动物与新数据集中的这些动物放在同一个围栏中 animal Feed Litter Pen 1 0 2 5 3
  • Gearman:仍然没有办法从后台工作者检索自定义数据吗?

    首先 我知道this问题 Gearman 将数据从后台工作人员发送到客户端 我想知道 Gearman还是这样吗 我计划将一批图像 URL 从 PHP Web 应用程序发送到 gearman Worker 也是用 PHP 编写的 我们称之为
  • 使用 MVVM,每个 UI 窗口都有自己的 ViewModel 吗?

    当我在 MVVM 模式下设计多个视图时 每个视图是否都有自己的 ViewModel 还是它们都共享同一个 ViewModel 我知道这最终是一个灵活的决定 但最佳实践是什么 我的直觉告诉我每个视图 即每个单独的 UI 窗口 都有一个 Vie
  • 只让某些内部div控制外部div的宽度

    我有以下 html 结构 div div img src someimage path div div Some Text div div Some Text div div 容器是float left 容器将伸展到最宽的 div 但是如果
  • 为什么这个 VLA(可变长度数组)定义不可靠?

    为什么定义和使用 VLA 可变长度数组 的代码不能可靠地工作 include
  • 从基础组件导入找不到变量

    我创建了一个 BaseComponent 它将在所有其他组件中扩展 import React Component from react import ScrollView Text Image View TouchableOpacity T
  • libpcap - 从所有接口捕获数据包

    我需要从 Linux 机器上的所有网络接口捕获数据包 为了做到这一点 我计划使用pcap open live API 并传递 any 作为设备参数 我有不同类型的端口 以太网端口 例如 eth0 和 GRE 隧道 例如 tun0 来自不同类