繁体   English   中英

pCap捕获传出的数据包

[英]pCap capturing outgoing packets

问题是,pCap库是否允许捕获本地系统生成的数据包? 类似于netfitler钩子NF_IP_LOCAL_OUT但在用户空间?
如果pCap不支持此功能,是否有任何支持良好的库可以?

在网上看,有人提到pCap有一个名为setDirection的功能,它根据流量方向设置我们捕获的流量,但很多人说这个功能只在Windows上运行; 而且我有时间了解pCap只是为了测试它是否可以做我需要做的事情。

问题是,pCap库是否允许捕获本地系统生成的数据包?

是。 实际上,它默认捕获它们。 在较新版本的libpcap中,您可以通过调用pcap_setdirection() 禁用它,但是,默认情况下,它会捕获您正在捕获的接口上的传入和传出数据包。 pcap_setdirection()存在于较新版本的WinPcap中,但它只返回错误; 有一个仅限WinPcap的pcap_open()标志,可以禁用捕获传出的数据包。

我当然使用tcpdump(在linux上)捕获本地接口上的流量并从自己的机器中获取流量。 由于tcpdump使用libpcap,因此必须这样。

我担心这是一个相当垃圾的答案,因为我无法告诉你如何配置libpcap来捕获本地数据包。 但是,我建议tcpdump是一个很好的起点 - 或者通过简单地使用tcpdump本身,或者查看代码[当然,这可能非常庞大和复杂,但是如果你能弄清楚你需要做什么设置来制作tcpdump做你想做的事,然后你可以添加一些代码到tcpdump来打印它用于同一事物的设置]。

再次,轻轻道歉,不“给你代码”。

dumpcap -i <capture interface>还可以捕获实时流量,

Dumpcap是一种网络流量转储工具。 它允许您从实时网络捕获数据包数据并将数据包写入文件。 Dumpcap的本机捕获文件格式是libpcap格式,它也是Wireshark,tcpdump和各种其他工具使用的格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM