pcap_loop 和 pcap_dispatch 区别

2024-03-05

pcap_loop 和 pcap_dispatch 到底有什么区别?


该手册对这一点的描述非常好(我是板着脸说的,保证)。从man pcap_loop:

   pcap_loop() processes packets from a  live  capture  or  ``savefile''
   until  cnt  packets  are  processed,  the  end of the ``savefile'' is
   reached when reading from a ``savefile'', pcap_breakloop() is called,
   or  an  error  occurs.   It  does  not return when live read timeouts
   occur.  A value of -1 or 0 for cnt is equivalent to infinity, so that
   packets are processed until another ending condition occurs.

   pcap_dispatch() processes packets from a live capture or ``savefile''
   until cnt packets are processed, the end of the current bufferful  of
   packets  is reached when doing a live capture, the end of the ``save‐
   file'' is reached when reading from a ``savefile'',  pcap_breakloop()
   is  called, or an error occurs.  Thus, when doing a live capture, cnt
   is the maximum number of packets to process before returning, but  is
   not a minimum number; when reading a live capture, only one bufferful
   of packets is read at a time, so fewer than cnt packets may  be  pro‐
   cessed. A value of -1 or 0 for cnt causes all the packets received in
   one buffer to be processed when reading a live  capture,  and  causes
   all  the  packets  in the file to be processed when reading a ``save‐
   file''.

这有点像文字墙,所以让我们把它分解一下。

两种功能:

  • Process packets from a live capture or "savefile" until any of these conditions occur:
    • 达到指定计数
    • 已到达“保存文件”末尾
    • pcap_breakloop() 被调用
    • 发生错误
  • 考虑 -1 或 0 本质上意味着“处理无限数量的数据包”——也就是说,直到另一个结束条件发生。 (建议使用 -1 来实现与旧版本的互操作性,稍后将在手册中介绍)

单独 pcap_dispatch()

  • 在进行实时捕获时,也会在达到当前数据包缓冲区的末尾后返回(换句话说,可以更频繁地返回,因为指定的计数不是最小值)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pcap_loop 和 pcap_dispatch 区别 的相关文章

  • 如何从 Kubernetes Pod 连接到私有 IP

    我正在尝试从 Pod 内连接到私有 IP 从 Pod 对该 IP 执行 Ping 操作返回无法访问 但是 我可以从主机系统 ping 该 IP 将流量从 pod 路由到目标私有 IP 的最佳方式是什么 Pod 不允许直接连接到 kubern
  • PacketTunnelProvider 网络扩展不称为 Swift 3

    我正在尝试将 PacketTunnerProvider 网络扩展添加到我的项目中 方法 startTunnelWithOptions options String NSObject completionHandler NSError gt
  • 有没有办法使用 flutter ping 本地 IP 地址?

    我想检查特定设备是否连接到我的网络 我有该设备的 IP 地址 我无法找到使用 flutter 应用程序 ping 该设备的方法 这里的目标是通过 ping 设备来检查特定设备是否连接到本地网络 你能帮我吗 用这个 import dart i
  • Android 流量统计数据报告的内容比我下载的内容还要多

    您好 我正在运行一个简单的下载测试 看看我的连接速度有多快 我记录了trafficStats rx值 然后下载了一个5MB的文件 记录了rx值 然后计算了差异 我知道这个文件正好是 5MB 这是代码 URL url new URL urlS
  • IE 未在 TLS 相互身份验证中发送客户端证书

    我正在尝试与第三方 API 建立 TLS 相互身份验证 客户端证书配置良好 当我尝试通过 Chrome 访问端点 url 时 它工作正常 Chrome 要求在消息框中确认证书 当我这样做时 页面会显示其内容 当我尝试使用 IE 执行同样的操
  • 从MAC地址获取IP。 arp -a 不显示设备

    我正在尝试编写一个批处理文件 该文件应该在连接到网络 腾达 WiFi 路由器 时找到我的 Android 手机的动态分配的 IP 所以我正在尝试arp a并搜索我手机的 MAC 地址 以便我可以从表中获取其 IP C Users Leero
  • 捕获文件似乎在数据包中间被缩短 - 如何防止此错误?

    在我的应用程序中 我打开 Tshark 进程并开始捕获 当我想完成捕获时 我会终止 Tshark 进程 因此有时捕获文件已损坏 当我尝试打开此文件时 我收到错误捕获文件似乎在数据包中间被剪短 如何防止此错误有没有更好的方法来关闭 Tshar
  • 套接字编程中的选择函数

    谁能告诉我它的用途和应用selectc 中套接字编程的函数 The select 当您必须处理多个事件源时 函数允许您实现事件驱动的设计模式 假设您想编写一个程序来响应来自多个事件源的事件 例如网络 通过套接字 用户输入 通过标准输入 其他
  • 如何在 Docker-Compose 中一起使用主机网络和任何其他用户定义的网络?

    我想将 Docker Compose 文件中定义的两个 Docker 容器相互连接 app and db 其中之一 app 也应该连接到host网络 容器应连接到通用的用户定义网络 appnet or default 使用嵌入式DNS来自
  • 无法远程连接到Python Socket

    我已经使用 python 套接字和 Tkinter 创建了一个聊天应用程序 它在本地运行得很好 但是客户端无法远程连接到服务器 当我输入我的公共 IP 地址作为主机时 我已经完全端口转发了我的网络并且我知道如何很好地进行端口转发 当我运行在
  • 自 2012 年以来,WinSock 注册 IO 性能是否有所下降?

    我最近使用 MS 为该 API 提供的稍微可接受的文档编写了基于 WinSock Registered IO RIO 的 UDP 接收 最终的性能非常令人失望 单套接字性能有些稳定 约为每秒 180k 数据包 使用多个 RSS 队列 即多个
  • ModemManager:mmcli 获取信号强度

    我无法检索 Sierre Wireless MC7304 上的信号强度 另外通过 mmcli 发送 AT 命令似乎不起作用 sudo mmcli m org freedesktop ModemManager1 Modem 0 signal
  • 如何获取Linux中进程或端口的网络带宽使用情况

    我想获取每个进程的网络带宽使用情况 我找了很多这方面的资料 比如iftop nethogs http nethogs sourceforge net Linux进程浏览器 http sourceforge net projects proc
  • http客户端在Windows 8.1中取消请求

    我正在开发一个 Windows Phone 8 1 项目 Windows 8 1 中有两个版本的 http 客户端 system net http and windows web http Microsoft 建议使用后者 所以 我决定接受
  • 当点击 JButton 连接到服务器时,程序冻结

    我正在使用 Java 中的 TCP 进行简单的 1v1 私人聊天 目前 每当我使用 JButtons 时都会遇到问题 这是我第一次尝试使用 JButtons 和 ActionListeners 所以我不能 100 确定这里发生了什么 我有两
  • 基于邻近度的负载均衡

    我正在开展一个项目 我们在世界各地拥有大量 目前为 5 台 服务器 客户端通过集中式代理连接到其中一台服务器 我们知道客户的原籍国 但除此之外一无所知 我们完全控制服务器 因此我们可以获得所需的所有信息 我们不控制客户 他们必须按照标准通过
  • 视频流上的 TCP 与 UDP

    我刚从网络编程考试回来 他们问我们的问题之一是 如果您要传输视频 您会使用 TCP 还是 UDP 请解释一下存储视频和实时视频流 对于这个问题 他们只是希望得到一个简短的答案 TCP 用于存储视频 UDP 用于实时视频 但我在回家的路上想到
  • 使用 Flash 在本地托管游戏?

    我只是找不到合适的谷歌搜索词 是否可以使用 Flash 或 Flash 兼容服务 来允许游戏中的玩家通过 Web 浏览器托管自己的游戏 使用自己的带宽 在某种程度上 从他们的计算机运行他们自己的游戏服务器 对于 Flash 浏览器内游戏 但
  • C# 自动检测代理设置

    C 2008 SP1 我正在使用代码来检测是否已在 Internet 选项 下设置代理 如果有代理 那么我将在我的网络客户端中设置它 所以我只是检查代理的地址是否存在 如果没有 则说明 Web 客户端中没有要设置的代理 这是执行此操作的正确
  • 如何使用 Kryonet 通过网络发送对象?

    我是网络新手 我正在尝试将我使用 java 创建的棋盘游戏联网 我的一个朋友向我推荐了 Kryonet 库 到目前为止 一切都很棒 我不必处理套接字 我遇到的问题是发送对象 主要是 我有一个 Board 类型的对象 该对象包含其他对象 例如

随机推荐

  • 如何更改最新发布的 Visual Studio Code 中的默认浏览器?

    正如标题所说 默认浏览器是IE 但我想使用其他浏览器 我该怎么办 您可以将 Windows 默认设置程序更改为您的浏览器 Windows 7的 控制面板 gt 程序 gt 设置默认程序
  • 从 DLL 导出静态 lib 符号

    我正在将 Facade DLL 用于静态库 Dll 提供了一个小型接口和资源管理 可以在多个 DLL 之间共享 Dll Header 确实公开了静态库中的内容 class DLL EXPORT MyDllClass public OneSt
  • Android 通知 FCM 与简单拉取

    对于我的 Android 应用程序 我需要从服务器接收一些通知 通知的时间要求并不严格 当用户打开应用程序时检查新通知就足够了 因此根本没有后台活动 我注意到 建议使用 FCM Firebase Cloud Messaging 之类的服务来
  • 用对象项填充 listView 的正确方法?

    在我的 NativeScript 项目中 我尝试使用自定义对象 定义为接口 的实例填充 ListView 但输出 在 Android 模拟器上 非常奇怪 我在多行中生成了 object object object 而不是按照我的定义获取每个
  • python不确定性包中的零除错误

    为什么会出现以下零除错误 gt gt gt from uncertainties import ufloat gt gt gt a ufloat 0 0 gt gt gt x ufloat 0 3 0 017 gt gt gt a x Tr
  • 控制 lme4 1.0.* 中的最大迭代次数

    我使用 R 中的 glmer 命令 来自 lme4 包 估计了随机系数风险模型 该命令如下所示 logit full lt glmer event V12 I V1 2 V13 V9 I V5 2 V11 V10 V2 V3 V4 V6 V
  • 允许匿名/来宾用户“尝试”功能,而无需在 Rails/Devise/CanCan 应用程序中注册

    我正在使用 Devise 和 CanCan 开发 Rails 3 应用程序 该应用程序允许匿名 未注册 用户访问该应用程序的某些部分 并允许注册用户访问其他部分 该应用程序 瑜伽锻炼应用程序 的一个方面是 用户可以通过将瑜伽姿势串在一起来创
  • 从 git 历史记录中删除文件 - 错误修订错误

    我按照 Github 上的说明进行操作 https help github com articles remove sensitive data https help github com articles remove sensitive
  • Android - RadioButton 未在初始选中状态下取消选中

    我在 RadioGroup 中有一个 RadioButton 当我设置按钮的初始状态时出现问题 机器人 检查 真 因为如果我按下单选按钮 F 单选按钮 M 不会取消选中 我能怎么做 怎么了 这是代码
  • 来自 URL 的 Facebook ID

    给定一个 Facebook 网址 例如http facebook com cnn http facebook com cnn 有什么方法可以获取该页面的ID而不需要抓取它吗 这是更好的 并且legal 使用图形 API 来执行此操作 只需执
  • 使用 MySQLdb 执行“SELECT ... WHERE ... IN ...”

    我在 Python 中执行一些 SQL 时遇到问题 尽管类似的 SQL 在mysql命令行 该表如下所示 mysql gt SELECT FROM foo fooid bar 1 A 2 B 3 C 4 D 4 rows in set 0
  • 如何在 Kubernetes 中模拟断电

    我有我的rook ceph集群运行于AWS 它加载了数据 有什么办法可以刺激一下电源 检测 失败这样我就可以测试我的集群的行为 从 Docker 你可以发送 KILL 信号 SIGPWR 电源故障 系统 V http man7 org li
  • 重试时修改源 Observable - RxJava

    如何在重试时更新可观察的源 List
  • 如何在 PHP 中获取单选按钮的值?

    我创建了一个基本网站 要求用户选择一个单选按钮 我想要一个 PHP 文件来检索所选单选按钮的值并做出相应响应 但该文件当前不产生任何输出 我现在使用的代码有什么问题吗 为什么我的 PHP 文件无法正确检索单选按钮值 索引 html
  • 如何在Lua中创建目录?

    是否可以在 lua 中创建目录 如果是这样 怎么办 有一个 系统 调用 或类似的东西 这是来自内存的 您应该能够使用它来运行任意程序 其中可能包括 mkdir 命令 EDIT 我找到了我的Lua 编程书 在第 203 页 它提到了如何使用
  • 将 JFreeChart 系列名称映射到系列索引

    我正在策划一个TimeTableXYDataset用一个StackedXYBarRenderer 不幸的是 每个系列的颜色在刷新时都会发生变化 我知道如何使用设置颜色setSeriesPaint渲染器的方法 但它采用整数系列索引作为参数 我
  • 如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)

    如何在 NET 中启用程序集绑定失败日志记录 Fusion 将以下值添加到 HKEY LOCAL MACHINE SOFTWARE Microsoft Fusion Add DWORD ForceLog set value to 1 DWO
  • 获取 JCarousel 中当前项目的索引

    我正在尝试获取当前项目的索引J旋转木马 http sorgalla com jcarousel 这样我就可以向用户显示轮播中的当前位置 例如 13 20 我怎样才能做到这一点 EDIT 最终产品样品 我认为您正在寻找的是 carousel
  • 如何在 .NET 4.0 中使用 XPath 2.0 方法?

    我正在使用 NET 4 0 并且我想使用 XPath 2 0 方法 例如 Matches 1 upper case 2 lower case 3 尝试在文档中查找元素 X 路径示例 MyDocument MyNode matches MyA
  • pcap_loop 和 pcap_dispatch 区别

    pcap loop 和 pcap dispatch 到底有什么区别 该手册对这一点的描述非常好 我是板着脸说的 保证 从man pcap loop pcap loop processes packets from a live captur