簡體   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