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

2023-11-27

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

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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • NMCLI 设备不可用

    我正在尝试在 ubuntu core 16 04 上配置带有蜂窝接口的新设备 我有 NMCLI 包在上面运行 在添加连接之前 我检查了接口 nmcli dev DEVICE TYPE STATE CONNECTION eth1 ethern
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • Go 接口有哪些示例?

    I found 一篇有趣的博客文章关于围棋 我试图理解接口的概念 但我发现从博客文章中的代码片段来看很难做到这一点 而且几乎不可能语言规范 谁能指出一个工作程序中 Go 接口的简单示例 这是一个正在进行的学习练习 当然也是良好风格的一个糟糕
  • 从字符串列表中删除空字符串

    我想从 python 的字符串列表中删除所有空字符串 我的想法是这样的 while in str list str list remove 有没有更多的Pythonic方法来做到这一点 我会用filter str list filter N
  • Identity Core 的密码历史记录

    密码历史记录有默认实现吗 我正在尝试在我的项目中使用身份来实现该功能 因此我添加了包含密码哈希值的密码历史表 当用户更改密码时 usermanager 会生成密码的哈希值 var passwordHash userManager Passw
  • 如何签署 MSI?

    我的公司希望阻止客户安装我们的产品时出现的 UAC 弹出窗口 我们从 VeriSign VeriSign Class 3 Code Signing 2010 CA 购买了证书 我得到了一个 MyCompany cer 文件 我通过双击证书并
  • 如何将 sockaddr_in6::sin6_addr 字节顺序设置为网络字节顺序?

    我开发了一个网络应用程序并使用套接字 API 我想设置sockaddr in6结构的sin6 addr字节顺序 对于 16 位或 32 位变量 很简单 使用 htons 或 htonl IPv4 sockaddr in addr addr
  • OpenCV findFundamentalMat 非常不稳定且敏感

    我正在为我的大学开展一个项目 我们希望四轴飞行器能够用他的相机稳定自己 不幸的是 基本矩阵对特征点内的微小变化反应非常敏感 我稍后会给你例子 我认为由于 ocv 我的匹配已经工作得很好了 我正在使用 SURF 特征并将它们与 knn Met
  • 约束表达式无效

    下列代码示例与 GCC 12 2 和 MSVC 19 33 不同 它不能使用 Clang 15 或 Clang trunk 进行编译 嵌套required子句中的约束表达式是否无效 struct t constexpr auto b con
  • 使用 Rangy 保存其位置时,插入符号在 Firefox 中消失

    这种情况仅发生在 Firefox 中 重要提示 我正在保存插入符的位置rangy saveSelection 当点击内容可编辑div时 on keyup 将外部 html 元素 作为节点 添加到内容可编辑 div 时 我需要通过多种方式不断
  • Javascript 中的条形图:堆叠条形图 + 分组条形图

    我正在寻找一个 Javascript 解决方案 将分组和堆叠条形图与漂亮的图表混合在一起 例如由Protovis 例如 如果我想比较 Apple iPad iPhone 设备和 Android 设备上的下载量 我可能会这样做 请原谅我糟糕的
  • 解码或转义 \u00f0\u009f\u0091\u008d 为

    我们都知道 UTF 8 很难 我从 Facebook 导出消息 生成的 JSON 文件将所有非 ASCII 字符转义为 unicode 代码点 我正在寻找一种简单的方法来将这些 un icode 代码点转义为常规的旧 UTF 8 我也很想使
  • 在python中创建非阻塞套接字

    我试图了解非阻塞套接字是如何工作的 所以我用 python 编写了这个简单的服务器 import socket s socket socket socket AF INET socket SOCK STREAM s bind 127 0 0
  • C++中的指针和C#中的引用类型之间的区别

    在 C 中 指针是指向存储另一个变量的内存地址的指针 而在 C 中 引用在某种程度上是相同的 这两者有什么区别 在 C 中 引用类型在不再需要时将被自动垃圾回收
  • 激活器:Play Framework 2.3.x:运行与启动

    为什么这两个命令的行为不同 在生产模式下启动游戏和在开发模式下启动游戏不同吗 activator run Dconfig file myConfig conf works activator run Dconfig file myConfi
  • Metastore 中分区但 HDFS 中不存在路径

    我们的摄取过程存在问题 这会导致分区被添加到 Hive 中的表中 但 HDFS 中的路径实际上并不存在 我们已经解决了这个问题 但仍然存在这些坏分区 当使用 Tez 查询这些表时 我们收到 FileNotFound 异常 指向 HDFS 中
  • 将ios 5模拟器安装到xcode 5.1?

    我目前在 Mac 10 8 5 上使用 xcode 5 1 但我无法在这个 xcode 中安装 ios 模拟器 有人告诉我如何安装ios 5模拟器吗 伙计 这个really今天 当我从 Xcode 5 0 升级到 Xcode 5 1 并发现
  • 为什么 String.IndexOf 和 String.Contains 在提供阿拉伯文本时不一致?

    我想知道我是否在 NET Framework 中发现了错误 或者我是否不明白某些内容 运行这段代码后 var text var word bool exist text Contains word int index text IndexO
  • Composer 2,您的某些插件似乎与它不兼容

    我尝试从 magento 市场安装扩展 但出现不兼容错误 问题1 magento composer root update plugin 已锁定到版本 1 0 0 并且未请求更新此包 magento composer root update
  • 如何自定义要在“添加更多 portlet”菜单中显示的 portlet

    我需要自定义哪个 portlet 出现在 添加更多 portlet 菜单 中 如下图所示 我需要根据登录的用户或站点 社区 限制此菜单中显示的 portlet 数量 这样 站点所有者或站点管理员将能够仅将全能管理员为他们决定的那些 port
  • 计算并显示页面加载进度百分比

    我有一个加载器 它在页面开始加载时加载 我需要显示其中的完成百分比 我的应用程序包含大量 jquery 和 css 并且还包含 ajax 调用 到目前为止 我已经在页面加载开始时显示进度条 并在 ajax 成功完成时隐藏它 另外 我已经显示
  • 在 Linux 中使用 C 语言使用原始套接字进行数据包嗅探

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