5

我需要在 Linux 中编写一个数据包嗅探器来检测发送的 HTTPS 数据包并保存请求中的 url。我在security-freak中找到了这方面的代码并运行了它。此代码运行并仅嗅探接收到的数据包,但我需要在嗅探器中获取发送的数据包。如何在此代码中获取发送的数据包?

我不能使用任何库,如 libcap(禁止)。代码是:sniffer.c

4

3 回答 3

11

您应该使用 ETH_P_ALL 而不是 ETH_P_IP 作为协议。ETH_P_IP 仅侦听传入的 IP 数据包。

于 2009-11-03T12:51:37.120 回答
2

为什么你不能使用任何图书馆?家庭作业?

如果没有代码中的示例,例如您如何设置sll_pkttype.

dnsiff套件中的urlsnarf工具值得一看。

于 2009-10-28T15:36:42.683 回答
0

使用适当的libpcapDNET您应该能够在所需的层(协议 - 5)上获得所有网络流量(也是这个传出)。但你应该已经知道了。

您需要仔细阅读上述库手册并找到适当的过滤器。

于 2009-10-28T15:11:58.287 回答