【问题标题】:how to process tcpdump outputs in c如何在c中处理tcpdump输出
【发布时间】:2014-10-10 06:18:13
【问题描述】:

我正在尝试编写一个 c 代码,让 tcpdump 在我的程序处于活动状态时继续运行,然后实时将 tcpdump 输出放入我的代码中以进行进一步处理。我正在捕获一个非常具体的流量(我已经能够在 cmd 中实现它)并且我想将每个捕获的数据包的信息实时获取到我的代码中以便处理它们。预计我捕获的这些数据包每 10-20 秒出现一次,这意味着我需要运行 tcpdump 并且每 10-20 秒我将信息放入我的代码并处理它们。

请给我一个关于如何做到这一点的想法?

【问题讨论】:

  • 好问题;我知道有在线资源,但我想看看社区怎么说
  • 使用 libpcap,见tcpdump.org/pcap.html
  • 好的,我正在处理 ipv6 数据包并寻找有关使用 libpcap 处理 ipv6 数据包的教程和示例,但我找不到任何内容,因为它们中的大多数只考虑 ipv4,有人知道任何 ipv6示例或如何处理 ipv6 数据包?

标签: c linux tcpdump


【解决方案1】:

如果您想实时分析捕获的数据包,则不应运行和解析 tcpdump 输出,而应直接使用底层 API/库:即 libpcap。

http://www.tcpdump.org/pcap.html

【讨论】:

  • 好的,我正在处理 ipv6 数据包并寻找有关使用 libpcap 处理 ipv6 数据包的教程和示例,但我找不到任何内容,因为其中大多数只考虑 ipv4,有谁知道任何 ipv6示例或如何处理 ipv6 数据包?
猜你喜欢
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
相关资源
最近更新 更多