使用数据包嗅探原始套接字在Linux下用C(Packet Sniffing using Raw So

2019-09-01 23:40发布

我需要写在Linux下一个数据包嗅探器检测发送HTTPS数据包和请求保存的URL。 我发现代码为这个安全怪胎并运行它。 此代码运行,并只嗅探接收到的数据包,但我需要在嗅探器发送的数据包。 我如何获得此代码发送的数据包?

我不能使用任何图书馆的libcap一样(禁止)。 该代码是: sniffer.c

Answer 1:

你应该用ETH_P_ALL代替ETH_P_IP作为协议。 ETH_P_IP只侦听传入的IP数据包。



Answer 2:

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

这是很难回答没有从你的代码有例子,比如你如何设置sll_pkttype

该urlsnarf在工具dnsiff套件可能是值得一试。



Answer 3:

通过适当的libpcap或DNET的用途,应该能够得到所需的层(协议- 5)对所有网络流量(也传出这样)。 但你应该已经知道了。

你需要去通过上述库手册,并找到相应的过滤。



文章来源: Packet Sniffing using Raw Sockets in Linux in C