C语言中使用Linux中的原始套接字进行数据包嗅探

Saj*_*ani 4 linux network-programming sniffing network-protocols packet-sniffers

我需要在Linux中编写一个数据包嗅探器来检测发送的HTTPS数据包并从请求中保存url.我在安全性怪物中找到了这个代码并运行它.此代码运行并且仅嗅探收到的数据包,但我需要在嗅探器中获取已发送的数据包.如何在此代码中获取已发送的数据包?

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

gte*_*25u 10

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

  • 目标是查看传出的HTTP数据包.ETH_IP_P只能看到传入的数据包.见线程:http://lkml.indiana.edu/hypermail/linux/kernel/9604.1/0603.html (3认同)