如何在java中打开第2层原始套接字?

2023-12-21

如何在java中打开第2层原始套接字?在 C 中,我们通常使用 AF_PACKET 级别来打开具有 sockaddr_ll 结构的第 2 层原始套接字。二层编程对应的socket包是什么?


使用普通的 Java 方法这是不可能的,因为 Java 不提供第 3 层以下的网络支持。唯一的方法是使用本机的解决方法pcap通过 JNI 的库。有几个 Java 库为此提供了更高级别的接口:

  • https://github.com/mgodave/Jpcap https://github.com/mgodave/Jpcap(也可以写包)
  • http://jpcap.sourceforge.net/ http://jpcap.sourceforge.net/

编辑:更新了损坏的链接

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

如何在java中打开第2层原始套接字? 的相关文章

  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • setFetchBatchSize 似乎无法正常工作

    我就这个主题问了几个问题 但仍然无法让它发挥作用 我有一个包含 10k 多行人名的核心数据 我在表格视图中显示这些数据 我希望能够搜索并更新表格中的每一个字母 这是非常滞后的 正如建议的那样 我观看了 WWWDC 10 核心数据演示并尝试实
  • 在 iPhone 上使用 HTML 文件输入上传文件

    我正在创建一个 Web 表单 用于将小影片剪辑上传到 HTTP 服务器 但是 虽然我的 HTML 文件输入控件显示在 iPod touch 上 但该按钮完全禁用 我无法单击它来上传文件 我需要做什么才能使用输入控件将文件 例如影片剪辑或图片
  • 在 MS Access 中,如何获取一个表中不在另一个表中的所有行?

    我尝试了很多不同的方法 但总是出现语法错误 我有两个表 表 A 和表 B 它们都有一个 con number 字段作为唯一 ID 我想选择 tableB 中不存在于 tableA 中的所有行 谁能给我这个查询 就像在 MS Access 中
  • 我可以用 make 或 new 在 golang 中制作预填充字符串吗?

    我正在尝试优化 Go 中的 stringpad 库 到目前为止 我发现用已知字符值 例如 0 或 填充字符串 实际上是 bytes Buffer 的唯一方法是使用 for 循环 代码片段是 PadLeft pads string on le
  • 如何“锁定键盘”以防止在 X11/Linux/Gnome 上发送更多按键?

    我正在用 python 为 Ubuntu Linux 编写一个反 RSI 打字中断程序 我希望能够 锁定键盘 以便忽略所有按键 直到我 解锁 它 我希望能够强制用户暂停打字 我想要一些编程方式来 关闭 键盘 几乎立即 直到我的程序稍后释放它
  • 带有下划线的 scala 传递函数产生一个函数而不是一个值

    您好 我正在编写将函数传递给映射的任何可能的变体 我最初的理解是它们都会产生相同的结果 但我发现第 2 3 行实际上产生了不同的输出 而第 4 行对我来说是个谜 def g v Int List v 1 v v 1 val l List 1
  • 在 read_excel 中保留特定列

    我正在将 Excel 文件导入到 R 中 我只想保留 A 列和 C 列而不是 B 列 列按顺序为 A B C 但以下代码也保留 B 列 如何在不使用另一行代码子集的情况下删除 B 列 df lt read excel df xlsm fut
  • WPF 过滤列表框

    我有一个ListBox绑定到字符串列表 我想在输入文本时过滤列表TextBox 我该怎么做 public void ListLoad ElementList new List
  • 如何将字符串从 Haskell 传递到 C?

    我想做的就是将纯文本字符串从 Haskell 传递到 C 但是 它表示 Char 是不可接受的返回类型 我无法在任何地方找到他们认为的原因 也找不到可接受的返回类型 我正在尝试制作一个非常简单的操作系统映像 我可以使用 Qemu 启动它 有
  • 确保容量在 Java 中如何工作?

    StringBuffer buff1 new StringBuffer tuts point System out println Old Capacity of buff1 buff1 capacity buff1 ensureCapac
  • Linux 上的 Swift:迈出第一步

    我对斯威夫特完全陌生 它刚刚作为 Linux 的开源版本发布 我想尝试一下 这是在 ubuntu 14 04 上 clang 已根据先决条件安装
  • 添加过多 ID 对 html / js 渲染性能的影响

    我目前正在进行的一个项目大约有 10 个 UL 每个 UL 包含 10 50 个元素 建议每个元素都有一个指定的唯一 ID 我们将使用它通过 Javascript 更新内容 这看起来需要向页面添加大量 ID 但每个字段都会有一个真实且有意义
  • Flutter 上的简单可扩展列也不会具有“标题”>“可扩展”

    我正在尝试制作一个可扩展的列 也就是说 它有 2 个子项 子项和展开小部件时出现的子项 在下图中 您可以看到子项 蓝色 和展开的子项 红色 它们仅应在Expand gt 单击按钮 一切正常 但无论我做什么 我都无法得到Expand gt 按
  • Oracle 如果行不存在则插入

    insert ignore into table1 select value1 value2 from table2 where table2 type ok 当我运行这个时 我收到错误 缺少 INTO 关键字 当我运行这个时 我收到错误
  • HBase 表上的 SparkSQL

    任何人都直接在 HBase 表上使用 SparkSQL 就像在 Hive 表上使用 SparkSQL 一样 我是spark新手 请指导我如何连接hbase和spark 如何查询hbase表 AFAIK 有 2 种方法连接到 hbase 表
  • iOS - 使用 AVPlayer 检测 URL 流是否正常工作

    这就是我的代码中从 url 播放的样子 private func play let streamUrl let playerItem AVPlayerItem url streamURL radioPlayer AVPlayer playe
  • ls | 的输出厕所-l

    通常输出为wc l命令给出文件中的行数 但是 当我们通过管道输出ls命令它 它似乎正确显示当前工作目录中的文件和目录以及链接的数量 我的问题是输出ls命令在同一行中显示某些文件和目录的名称 那么 为什么在这种情况下使用ls wc l与相比
  • 如何使用 Powershell 更改文件的属性?

    我有一个 Powershell 脚本 可以将文件从一个位置复制到另一个位置 复制完成后 我想清除源位置中已复制的文件的存档属性 如何使用 Powershell 清除文件的 Archive 属性 您可以使用旧的 dos attrib 命令 如
  • 以编程方式更改 ABAddressBook、ABPersonCopyArrayOfAllLinkedPeople 中的链接联系人数组

    是否可以通过编程方式添加 删除 CFArray 返回的联系人ABPersonCopyArrayOfAllLinkedPeople 因此 有效地链接和取消链接来自不同来源的不同联系人记录 以在 iOs 电话簿中显示为 统一 据我所知 至少在
  • 如何在java中打开第2层原始套接字?

    如何在java中打开第2层原始套接字 在 C 中 我们通常使用 AF PACKET 级别来打开具有 sockaddr ll 结构的第 2 层原始套接字 二层编程对应的socket包是什么 使用普通的 Java 方法这是不可能的 因为 Jav