如何在特定接口上打开套接字并接收 IPv4 和 IPv6 流量

2024-02-18

使用 IPv4,我可以将 () 绑定到特定地址来选择将用于接收数据包的接口(在某些情况下,也用于发送数据包,但这不是重点)。

在双栈 IPv6/IPV4 机器上,我遇到这个问题:我可以创建一个 6 套接字并使用它接收 4 个流量,但如果我想绑定到特定接口,我必须选择要绑定的 IP 地址。

如果我绑定到 IPv6 地址,我将过滤掉所有 IPv4 流量,反之亦然。

如何从特定接口接收 IPv4 和 IPv6 流量?


如果您使用的是 Linux,您应该能够使用SO_BINDTODEVICE套接字选项绑定到接口而不是特定的 IP 地址。它的描述在socket http://linux.die.net/man/7/socket手册页。

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

如何在特定接口上打开套接字并接收 IPv4 和 IPv6 流量 的相关文章

  • 在 std::function 上递归应用 std::bind 的问题

    给定一个函数f x y z 我们可以绑定x到 0 得到一个函数g y z f 0 y z 我们可以继续这样做并得到h f 0 1 2 在 C 语法中 这将是 include
  • 使用“instanceof function() {}”背后的原因?

    在 Mozilla 开发者中心 有一个关于Function prototype bind https developer mozilla org en JavaScript Reference Global Objects Function
  • 重定向 ip6tables 中的端口

    如何使用 ip6tables 将一个端口重定向到另一个本地端口 例如像这样的东西 ip6tables t nat A 预路由 j 重定向 p tcp dport 443 to ports 8443 嗯 这是一个老问题 但因为我需要做同样的事
  • 如何测试iOS应用是否支持IPv6? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有 2015 年和 2014 年构建的应用程序 如何测试它们的 IPv6 性能 如果我的应用程序不支持 IPv6 我该怎么办 我的应用程序
  • React:搜索和过滤功能存在问题

    我正在开发一个组件 它应该能够 按输入搜索 使用输入字段 在触发 onBlur 事件后将调用一个函数 之后onBlur事件开始寻找 方法将运行 按所选流派过滤 用户可以从其他组件中从流派列表中选择流派 之后onClick事件启动过滤器 方法
  • 如何用C语言创建UDP服务器?

    我正在尝试用 C 语言 在 Linux 下 编写一个 UDP 服务器 我知道在socket 我必须使用的功能SOCK DGRAM并不是SOCK STREAM if list s socket AF INET SOCK DGRAM IPPRO
  • 如何判断IPv6地址是否私有?

    我试图确定给定的 IPv6 地址在 C 中是否是私有的 并且我很想简单地使用 IPAddress 类上的 IsIPv6SiteLocal 属性 然而 正如本节中所解释的comment https stackoverflow com ques
  • Boost 绑定占位符参数等于可变参数模板参数的数量

    我想知道是否可以使用传递给可变参数模板的参数数量作为 boost bind 调用中的占位符 像这样的事情 template
  • Perl Windows IPv6

    我有一个使用 TCP IP 套接字的 Perl Windows 应用程序 我需要添加 IPv6 支持 我有一台 Windows 7 64 位计算机 它运行带有 Hurricane Electric 隧道的 IPv6 它的得分为 10 分 满
  • 无法组合 X <字符> 和 X <双精度>

    我正在尝试使用以下命令将各种 csv 文件合并到一个数据框中 df lt list files path C Users pattern csv full names TRUE gt lapply read csv gt bind rows
  • C++ 函数回调:无法从成员函数转换为函数签名

    我正在使用第三方库 它允许我注册某些事件的回调 寄存器函数看起来像这样 它使用回调签名 typedef int Callback std string void registerCallback Callback pCallback it
  • 使用 PHP 检查 IPv4/IPv6 地址是否已启动

    我有一个 IPv4 地址 前任 172 19 20 21 我曾经这样做过 fs fsockopen ip port errno errstr 3 if fs error SSC is down return Redirect to gt w
  • 从 MAC 转换为 IPv6

    我想了解如何将 MAC 地址转换为 IPv6 地址 例如 00 01 04 76 2A 5C 应该成为 FE80 0201 04FF FE76 2A5C 有人可以详细说明一下转换吗 我们假设本地机器的自动配置没有随机参数 逐步转换 http
  • 复选框绑定 CHANGE 事件

    我想在用户单击 触摸复选框后提交表单 THE HTML
  • OCLinEcore 和 Regex 创建有效的 IPv4 字符串

    我有一个 Ecore 模型 我试图在其中添加一些 OCL 约束 当我尝试创建有效 IPv4 形式的属性 字符串 时 我的问题就出现了 我想我应该使用正则表达式 但我根本不知道如何在 OCLinEcore 上使用正则表达式 从 Eclipse
  • 使用 boost asio 枚举我的卡的 ipv4 和 ipv6 地址

    我正在尝试枚举我的电脑的所有网卡 我有 2 张卡 的 ipv4 和 ipv6 地址 我正在使用以下代码来执行此操作 using boost asio ip tcp boost asio io service io service tcp r
  • 了解 ASP.NET Eval() 和 Bind()

    任何人都可以向我展示一些绝对最小的 ASP NET 代码来理解Eval and Bind 最好为我提供两个单独的代码片段或者可能是网络链接 对于只读控件 它们是相同的 对于 2 路数据绑定 使用要在其中通过声明性数据绑定更新 插入等的数据源
  • jQuery 中使用 bind() 和each() 分配事件处理程序的区别?

    有人可以告诉我使用bind 分配事件处理程序有什么区别吗 function someElement bind mouseover function e this css change color bind mouseout function
  • 如何使用链接本地 IPv6 地址访问 Web 服务器或网站?

    以下是托管 Web 服务器的计算机的 ipconfig 输出 以太网适配器本地连接 连接特定的 DNS 后缀 链路本地 IPv6 地址 fe80 f85b 4256 ee76 24a4 11 IPv4 地址 10 213 254 119 子
  • Tkinter 绑定 Mac OS“command+q”

    当我按 Command q 时 我试图 停止 根窗口退出 但这是不可能的 其他快捷键在我的 Mac 操作系统上有效 即使在 Windows Linux 中 Alt F4 绑定也可以 捕获 但在 Mac 操作系统中对我来说是不可能的 有任何想

随机推荐

  • 在不使用环回网络的情况下将数据包转发到同一主机中的服务

    我有这个 libnetfilter queue 应用程序 它根据某些 iptables 规则从内核接收数据包 在直接讨论我的问题之前 我提供了一个示例可行代码和其他工具来设置测试环境 以便我们的问题定义和可能的解决方案可以更加准确和稳健 以
  • Java Byte.parseByte() 错误

    我的代码中有一个小错误 我一生都无法弄清楚 我有一个字符串数组 它们是二进制数据的表示 从十六进制转换后 例如 一个索引是 1011 另一个索引是 11100 我遍历数组并用 0 填充每个索引 以便每个索引都是八个字节 当我尝试将这些表示形
  • C# TPL 数据流 - 完成不起作用

    此代码永远不会到达最后一行 因为完成不会从 saveBlock 传播到 sendBlock 我究竟做错了什么 var readGenerateBlock new TransformBlock
  • 如果同时使用 Objectify 6.0 和 ,则会出现“DatastoreException:请求缺少必需的身份验证凭据”

    在部署在激活了 java 8 的标准环境上的 App Engine 应用程序上 如果我同时使用 Objectify 6 0 和标签 则会出现以下异常
  • tcmalloc 不生成堆栈跟踪

    我正在运行与 tcmalloc 链接的二进制文件 它没有生成堆栈跟踪 它正在检测泄漏 The output says The 1 largest leaks Leak of 1401231 bytes in 82093 objects al
  • 线程“main”中的异常 java.lang.NoClassDefFoundError: com/google/common/base/Preconditions

    在 Eclipse 中运行 java Map Reduce 应用程序时 遇到以下异常 我也将 commons logging 1 2 jar 文件包含在我的构建路径中 但仍然在下面 我是 hadoop 新手 请帮助我 Exception i
  • 暂停 jQuery 中的默认事件

    我试图延迟 jQuery 脚本中的一个或多个默认事件 上下文是 我想在用户执行某些操作 主要单击 时在默认操作触发之前几秒钟向用户显示一条消息 伪代码 用户点击链接 按钮 元素 用户收到一条弹出消息 指出 您正在离开网站 消息在屏幕上保留
  • ASP.NET MVC 路由 - 尝试在 URL 中包含名称

    我目前有以下路线 routes IgnoreRoute resource axd pathInfo routes IgnoreRoute resource gif pathInfo MvcRoute MappUrl controller a
  • Angular 8 - 如何从回调路由中的url获取数据

    如何获取access tokenkeycloak服务器到我的授权组件 授权 URL 如下所示 回调网址位于http localhost 4200 auth http localhost 4200 auth 这是组件 import Compo
  • Android Google 登录按钮和 Facebook sdk 4+ 按钮布局

    我正在开发一个使用的应用程序google https developers google com branding guidelines sign in button and facebook https developers facebo
  • SignalR 和浏览器连接限制

    我用 SignalR 制作了一个简单的应用程序进行测试 当页面加载时 它会调用服务器上的函数 该函数然后调用在屏幕上打印消息的客户端函数 我这样做是为了检查客户端和服务器功能是否正常工作以及 SignalR 通信是否正常 我的问题是 如果我
  • Colab 突然无法浏览目录

    过去几个月我一直在使用 Google Colab 在连接驱动器和输入 shell 命令时没有出现任何问题 然而今天突然出现了一个错误 我找不到任何解决办法 Colab 似乎神奇地无法浏览目录 对于 cd pwd mkdir 等目录的任何 b
  • WooCommerce - 登录后重定向到上一页

    我一直在寻找可以处理它几个小时的插件和片段 但没有成功 每个答案都不适合我 我的菜单中有 登录 链接 可通往 WooCommerce 我的帐户 页面 其中显示登录表单 我希望客户在成功登录后返回到单击 登录 链接的页面 wp get ref
  • Highcharts - 如何更新角度系列?

    我在柱形图中更新系列数据时遇到问题 一开始 当我的模型为空时 我设置一个空数组作为系列 然后在ngOnchanges方法我映射我的modelData到匹配的格式 不幸的是 图表仍然是空的 这是我的组件代码 export class Colu
  • PHP 验证 PayPal 捐赠

    我如何验证贝宝捐款 在用户面板中我有一个捐赠按钮 一旦有人真正捐款 我就想为他做点什么 但我不知道如何检查用户是否实际捐赠或只是单击了捐赠按钮 看看 Paypal 的IPN https www paypal com ipn 即时付款通知 当
  • 长时间运行 Jupyter 笔记本/实验室?

    我在 ec2 实例上的 tmux 会话中运行 Jupyter 我有运行时间非常长的单元格 但是当我关闭浏览器或笔记本电脑盖子时 笔记本电脑不再写入输出单元格 并且可能会使 python 内核崩溃 这是我在远程实例上启动实验室的方式 jupy
  • 如何在 Prometheus 中推送 Kubernetes 指标而不是拉取?

    我已经在我们的基础设施中配置了 Prometheus 进行监控 在我们的基础设施中 我们有一个正在运行的 EKS 集群 我必须在 Prometheus 中收集 EKS 指标 默认情况下 Prometheus 采用基于拉动的机制 这里我有一个
  • NUnit 最佳实践

    环境 Visual Studio Professional 2008 中的 C WinForms 应用程序 我一直在挖掘有关 NUnit 最佳实践的指导 作为一个在相对孤立的环境中工作的独立程序员 我希望这里的集体智慧可以帮助我 斯科特 怀
  • 如何为 SonarQube.Scanner.MSBuild.exe 提供参数?

    通过在线搜索和查看 sonarqube 文档 我唯一能找到的是 SonarQube Scanner MSBuild exe k KeyOfProject n NameOfProject msbuild exe C projectpath s
  • 如何在特定接口上打开套接字并接收 IPv4 和 IPv6 流量

    使用 IPv4 我可以将 绑定到特定地址来选择将用于接收数据包的接口 在某些情况下 也用于发送数据包 但这不是重点 在双栈 IPv6 IPV4 机器上 我遇到这个问题 我可以创建一个 6 套接字并使用它接收 4 个流量 但如果我想绑定到特定