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

发布于 2024-08-08 18:40:59 字数 350 浏览 7 评论 0原文

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

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

I need to write a packet sniffer in Linux that detects HTTPS packet that are sent and save the url from the request. I found code for this in security-freak and ran it. This code runs and only sniffs the received packet but I need to get the sent packet in the sniffer.
How do I get the sent packet in this code?

I can't use any library like libcap (forbidden).
The code is :sniffer.c

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尐籹人 2024-08-15 18:40:59

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

You should be using ETH_P_ALL instead of ETH_P_IP as the protocol. ETH_P_IP only listens for incoming IP packets.

盗心人 2024-08-15 18:40:59

为什么你不能使用任何库?家庭作业?

如果没有代码中的示例,例如您如何设置 sll_pkttype ,则很难回答。

urlsnarf 工具位于 dnsiff 套件可能值得一看。

Why can't you use any library? Homework?

It's hard to answer without having examples from your code, for example how you set sll_pkttype.

The urlsnarf tool in the dnsiff suite could be worth a look.

鸢与 2024-08-15 18:40:59

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

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

With appropriate libpcap or DNET usage You should be able to get all network
traffic on the desired layer (protocol - 5) (also this outgoing).
But You should know that already.

You need to go through the above libraries manuals and find the appropriate filtering.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文