【问题标题】:Send data from IP x to IP y over an already established connection通过已建立的连接将数据从 IP x 发送到 IP y
【发布时间】:2014-06-26 10:39:34
【问题描述】:

假设我们的 PC 的 IP 为 10.0.0.1(本地 IP:192.168.0.1)在端口 1001 上与 IP 为 11.0.0.1 的服务器在端口 1011 上建立了连接。当我们使用 Netstat 命令时,我们可以看到这个连接:

TCP 192.168.0.1:1001 11.0.0.1:1011 已建立

此连接是由另一个程序建立的。是否可以以编程方式访问这个现有的套接字并通过它发送数据?我必须使用哪种语言并不重要(最好是 Java 或 .NET)。

所需示例:

Socket s = Socket.getEstablishedLocalConnection("11.0.0.1", 1001, 1011);
s.sendUrgentData(0);

【问题讨论】:

  • 这将是一个严重的安全漏洞,因为它很容易发生。
  • 注意:前面提到的 StackOverflow 答案非常好,但特定于 Linux。
  • @user 你用的是什么操作系统?视窗? Linux?您应该在问题中添加一个操作系统 标签

标签: java sockets networking port netstat


【解决方案1】:

您使用的是什么操作系统?我将从 Java/.Net 注释中假设 Windows。

这在典型的类 UNIX 操作系统(Linux、Mac OS X、iOS 等)中是不可能的。教科书的解决方案是打开一个进程并“拥有和管理”套接字。然后它可以多路复用来自多个其他进程的输出。那些其他进程又必须通过一些商定的 IPC 机制将它们的输出提供给套接字控制进程:另一个套接字连接、一个 unix 域套接字、一个 unix FIFO、SysV IPC、写入共享内存、写入共享文件等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多