Winsock / BSD 套接字 - 接受目标 IP 不同于本地 IP 的 TCP 连接

2024-04-29

我将 LAN 上的一些传出 TCP 流量(最终也是 UDP)转发到本地(透明)代理服务器,然后再将其发送到互联网上。数据包似乎转发正确,我可以在 Wireshark 中看到 SYN。

问题是绑定到端口X的accept()不接受与目标端口X的连接,并且目标IP似乎与代理服务器自己的IP不同,这是我所期望的。

在 Winsock 或 Linux 套接字中是否有解决这个问题的方法?我怎样才能实现accept()或类似的?


Linux 套接字有这个选项IP_TRANSPARENT。查看linux手册页ip:

IP_TRANSPARENT(自 Linux 2.6.24 起)

设置此布尔选项可启用透明代理 这个插座。该套接字选项允许调用 应用程序绑定到非本地 IP 地址并同时操作 作为客户端和服务器,外部地址作为本地地址 端点。 ...

据我所知,该选项不适用于 Windows 套接字。

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

Winsock / BSD 套接字 - 接受目标 IP 不同于本地 IP 的 TCP 连接 的相关文章

  • socket.error:[Errno 10054]现有连接被远程主机强制关闭(python2.7)

    我的套接字有问题 它运行良好 但是当我关闭客户端 关闭客户端窗口时 服务器丢失了连接 服务器需要保持打开状态并等待其他连接 while True rlist wlist xlist select select server socket o
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • 如何解除阻塞在 ServerSocket.accept() 上的线程?

    我有一个带有以下代码的服务器线程 public void run try ServerSocket server EneaLog printLog Server is running server new ServerSocket this
  • 安装Lua套接字库

    要么我太累了 要么我瞎了 我想学习 Lua 网络 因此我必须安装socketlib 所以我可以轻松地要求它 但我不知道我应该 要求 哪些文件 例子说 local socket require socket 但正如我所说 如果我使用 我不知道
  • Accept() 是线程安全的吗?

    我目前正在用 C 语言为我正在做的课程编写一个简单的网络服务器 我们的一项要求是实现一个线程池来使用 pthread 处理连接 我知道我将如何粗略地执行此操作 在主线程中调用accept并将文件描述符传递给freee线程 但是我的朋友建议了
  • 套接字到底是什么?为什么我们不能使用套接字而不是 HTTP?

    套接字只是两台机器之间的连接吗 如果可以建立套接字 为什么我们还要使用 HTTP 连接呢 我认为这是一个关于套接字和 HTTP 连接之间关系的非常普遍的问题 我还假设 HTTPConnection 并不指涉及特定 API 运行时 环境的内容
  • UDP 广播发送失败:在 Linux 2.6.30 上“网络无法访问”

    我用udp广播写了一个程序 代码段如下 struct sockaddr in broadcast addr socklen t sock len sizeof broadcast addr bzero broadcast addr sock
  • Erlang get_tcp:recv数据长度

    I user gen tcp recv Socket 0 用于数据接收 但我只能接收1次1418字节 我怎样才能收到发送的数据量 in gen tcp recv Socket 0 您正在询问内核 给我接收缓冲区中现在可用的所有数据 不过 内
  • nginx server_name 在流块内可能吗?

    目前设置如下 stream server listen 9987 udp server name subdomain EXAMPLE com this line is resulting in an error proxy pass loc
  • 为什么 UDP 服务器中只有一个套接字?

    我正在准备考试 发现了这个问题 典型的 UDP 服务器可以使用单个套接字来实现 解释一下为什么 对于 TCP 驱动的服务器 我发现创建了两个套接字 一个用于所有客户端访问服务器 另一个用于每个客户端的特定 套接字 用于服务器和客户端之间的进
  • 使用单个“proxyServer”将 Websocket 代理到多个目标

    我正在开发一个nodeJS websocket代理服务器 用例是当 websocket 请求到来时 我将检查其凭据 添加新标头 然后根据其组 来自用户 ID 将 websocket 连接重定向到其目标 webscoket 服务器 我发现大多
  • 通过 SSLStream 发送数据时出现数据包碎片

    当使用 SSLStream 将 大 数据块 1 兆 发送到 已通过身份验证的 客户端时 我看到的数据包碎片 分解是FAR比使用普通 NetworkStream 时更大 在客户端上使用异步读取 即 BeginRead 会重复调用 ReadCa
  • 如何在java中通过socket发送Image数据类型

    我真的很困惑如何通过套接字发送图像数据类型 请帮我 我已经搜索了如何将 Image 数据类型转换为 char 但结果是 0 Use ImageIO http docs oracle com javase 1 4 2 docs api jav
  • Autowired spring bean 不是代理

    我正在开发一个连接到 MySQL 数据库的非常小的应用程序 我正在尝试创建表记录 但收到 没有正在进行的事务 我已经准备好了所有正确的东西 服务接口 MyService 及其实现 MyServiceImpl 我已经用 Service 注释了
  • 序列化是通过套接字发送数据的最佳选择吗?

    有人告诉我 序列化不是通过套接字发送数据的最佳方法 但他们说他们在一本书上读过一次 并且不确定更好的方法 因为他们以前没有真正做过网络 那么序列化是最好的方法还是有更好的方法 如果这有很大的不同的话 这也是一个游戏 通过搜索有关通过它发送对
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • perl6 IO::Socket::INET 无法从套接字接收数据:连接被对等方重置

    示例服务器 usr bin env perl6 my listen IO Socket INET new listen localhost
  • 使用PHP套接字发送和接收数据

    我正在尝试通过 PHP 套接字发送和接收数据 一切正常 但是当我尝试发送数据时 PHP 不发送任何内容 Wireshark 告诉我发送的数据长度为 0 我正在使用这段代码
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach

随机推荐

  • Mysql工作台外键选项[Restrict、Cascade、Set Null、No Action],它们的作用是什么?

    在更新和删除的外键选项中 每个字段 Restrict Cascade Set Null No Action 的作用是什么 如果你一一采取 对于更新和删除 如果您尝试更新 删除父行 Restrict 如果有子行 则不会删除任何内容 Casca
  • 如何仅在内存中运行 Django 测试数据库?

    我的 Django 单元测试需要很长时间才能运行 因此我正在寻找加快速度的方法 我正在考虑安装一个SSD http en wikipedia org wiki Solid state drive 但我知道这也有其缺点 当然 我可以用我的代码
  • 在空的 ggplot 中获取图例着色

    在呈现实际数据之前 我想制作一张与带有数据的图相同的图 但其中没有数据点 这有助于我解释如何解释这样的情节 而不用情节中的实际数据分散观众的注意力 所以在下面的代码中我基本上想交换geom point with geom blank 没问题
  • Android 索引滚动

    http developer android com design building blocks scrolling html http developer android com design building blocks scrol
  • 如何选择下拉单元格验证值

    我正在尝试在 Excel 工作表的数据验证中选择一个值 Set r Sheets DASHBOARD Cells Find What Selection Location gt LookAt xlWhole searchorder xlBy
  • 正则表达式:验证没有查询参数的 URL 路径

    我不是正则表达式专家 我正在绞尽脑汁尝试做一个看起来非常简单并且在 python 2 7 中工作的事情 在没有查询字符串的情况下验证 URL 的路径 无主机名 换句话说 以 开头的字符串允许字母数字值 并且不允许任何其他特殊字符 除了这些
  • Twitter 为开发者提供“离线”访问?

    我一直在与社交整合和授权的 oauth 框架密切合作 我知道 像 Facebook 一样 Twitter 为其应用程序实现了 oauth hook 我的问题是 有没有办法让访问令牌永远保持活动状态 就像 Facebook 拥有离线访问权限一
  • 是否有更有效或更简洁的方法来根据索引列表划分 df?

    我正在尝试切片 划分以下数据框 df pd DataFrame time 4 10 15 6 0 20 40 11 9 12 11 25 value 0 0 0 50 100 0 0 70 100 0 100 20 根据要分割的索引列表 5
  • “else”在Python中被认为是有害的?

    In an answer https stackoverflow com questions 855759 python try else 855783 855783 by S Lott https stackoverflow com us
  • 如何在 R 中对多维面板数据运行回归

    我需要对面板数据进行回归 它有 3 个维度 年份 公司 国家 地区 例如 year comp count value x value y 2000 A USA 1029 0 239481 2000 A CAN 2341 4 129333 2
  • 将应用程序委托定义为常量?

    我正在尝试编写 iPhone 应用程序 但遇到了问题 我已经在类中声明了一个常量作为应用程序委托 define ikub iKubMobileAppDelegate UIApplication sharedApplication deleg
  • 使用 Twilio 进行调用时是否可以传递自定义参数?

    我正在使用 Twilio PHP 库 但问题实际上与语言无关 我尝试做类似以下的事情 client new Services Twilio MyAccountSID My auth token client gt account gt ca
  • Qt 5.4/Qml:防止绑定循环

    我有一个全局单例 设置 它保存应用程序设置 当我尝试运行以下代码时 我得到一个QML CheckBox Binding loop detected for property checked CheckBox checked Settings
  • 未找到命令/使用自动测试通过“捆绑安装”安装缺少的 gem 二进制文件

    我对 RoR 完全陌生 我正在关注迈克尔 哈特尔的书 我无法运行自动测试 请提出问题所在以及解决方案 当我在 Rails 项目目录中的命令行运行 自动测试 时 我得到以下信息 bash autotest command not found
  • 信号器 CORS 问题

    在我的服务器端 我使用带有信号器的 Web api 2 在我的客户端 我使用的是 angularjs 这是我启动信号连接时的 http 请求 gt GET gt http example com signalr negotiate clie
  • 如何用c++编写可移植的代码?

    编写可移植代码时应该记住哪些事情 由于我是一个c 初学者 所以我想从一开始就练习它 Thanks 学习使用标准库 读书 例如this one http www mindview net Books TICPP ThinkingInCPP2e
  • BashOperator 为其他 PythonOperators 中使用的库引发 ImportError

    我的 dag 构建器模块中有一组任务 该模块使用 Airflow 中全球使用的 Python 运算符 我正在 kubernetes 上使用 docker 部署气流 任务失败并显示错误消息 no module named pandas 使用
  • Mysql乘法查询

    我有一个名为 产品 的表 其中包含一个名为 价格 的字段 我只想将每种产品的价格加倍 请您帮我提供一条可以在 PHP myAdmin 中运行的 SQL 语句 update products set price price 2
  • 如何使用 CodeIgniter 计算 MySQL 中给定行之前的行数?

    简单来说 如何计算某一行之前有多少行 我使用的是增量 ID 但行是随机删除的 因此仅检查 ID 是行不通的 比如说 如果我有 30 行 并且我根据名称 或任何实际内容 选择了一行 那么在该行之前有多少行 它可以是 16 1 12 或任何值
  • Winsock / BSD 套接字 - 接受目标 IP 不同于本地 IP 的 TCP 连接

    我将 LAN 上的一些传出 TCP 流量 最终也是 UDP 转发到本地 透明 代理服务器 然后再将其发送到互联网上 数据包似乎转发正确 我可以在 Wireshark 中看到 SYN 问题是绑定到端口X的accept 不接受与目标端口X的连接