当前位置: 首页 > 面试题库 >

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

贺光华
2023-03-14
问题内容

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

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


问题答案:

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



 类似资料:
  • 问题内容: 我有一个关于使用golang嗅探tcp数据包的问题。我们编写了一个小工具,可以捕获来自光纤分接头的所有传入TCP数据包。 当前的实现在Linux下使用libpcap包装器。我们需要将此工具移植到Windows。当然,目前尚不可能。 所以我的问题是,是否存在用于嗅探数据包的跨平台解决方案?我们只需要TCP数据包,IP标头,没有以太网数据,并且不需要libpcap的所有功能。 如果没有跨平

  • 我正在编写原始套接字客户端(成功发送UDP数据包)和一个服务器套接字,问题出在服务器部分。 Im按以下方式创建套接字:

  • 当我进行套接字编程时,我无法清楚地理解。 我的理解是 如果我使用此选项打开套接字,表示我可以在header之前创建自己的header,但最终数据以 /code>协议的格式发送。我的理解是正确的。如果错了,可以一些解释。 谢谢

  • 问题内容: 我希望能够构造一个原始的HTTP请求并使用套接字发送它。显然,您希望我使用urllib和urllib2之类的东西,但我不想使用它。 它必须看起来像这样: 显然,您还必须请求页面/文件并获取和发布参数 问题答案: 您需要了解的大多数内容都在HTTP / 1.1规范中,如果您想推广自己的HTTP实现,则应该进行以下研究:http : //www.w3.org/Protocols/rfc26

  • 问题内容: 使用Python嗅探网络数据包的最佳方法是什么? 我从几个地方听说,最好的模块是一个名为Scapy的模块,不幸的是,它使python.exe在我的系统上崩溃。我认为这只是我的安装方式的问题,除了许多其他人告诉我,它在Windows上不能很好地工作。(如果有人感兴趣,我正在运行WindowsVista,这可能会影响某些事情)。 有谁知道更好的解决方案? UPD: 阅读了告诉我要安装PyP

  • 问题内容: 对于linux c编程原始套接字,这是一个快速的问题。如果我只想使用原始套接字来监听任何接口,我是否真的必须绑定到ip地址或接口来监听流量?据我了解,我觉得我应该能够只调用sock();。然后启动recvfrom()流量。也许我错了,但是我看过一些不使用它的程序。 问题答案: 没错,您唯一需要做的就是打电话给then 。不过请注意,使用收听存在一些限制。 如果您不是在“发送后忘记”的基