【问题标题】:TCP send a packet with External IP Source?TCP发送带有外部IP源的数据包?
【发布时间】:2013-12-04 02:16:58
【问题描述】:

我将创建一个有效的 TCP 数据包(3 次握手)在我的服务器上请求(真正的服务器在线而不是 vmware localhost)

My PC IP ADDRESS: 192.168.1.4
My ONLINE IP ADDRESS: 177.9.9.9 
My Server IP ADDRESS: 113.x.x.x

我从我的 PC (177.9.9.9) 发送一个 TCP 数据包到服务器 (113.x.x.x) 并成功! 我可以在 Wireshrak 中非常清楚地看到这个请求,源 IP 是 177.9.9.9,目标 ip 是 113.x.x.x

我将使用 PCAP.NET 用 C# 编写数据包,这是我的 ipV4Layer 代码!

IpV4Layer ipV4Layer =
    new IpV4Layer
    {
        Source = new IpV4Address("192.168.1.4"), // My lan IP address
        CurrentDestination = new IpV4Address("113.x.x.x"), // Server IP ADDRESS
        HeaderChecksum = null, // Will be filled automatically.
        Identification = 28104,
        Options = IpV4Options.None,
        Protocol = null, // Will be filled automatically.
        Ttl = 128,
        TypeOfService = 0,
    };

现在我想问一下,如何将 177.9.9.9 更改为另一个 IP 地址?不是代理,不是袜子,不是 VPN!我想将我的在线IP更改为任何IP地址,我只想发送这样的TCP SYN请求并且不需要服务器响应任何数据,只需使用任何IP地址发送它,怎么做或者这种方式是不可能的?

感谢您的帮助!

【问题讨论】:

  • 当然有可能,但这并不是一件友好的事情,因为您将导致服务器将数据包发送到其他不期望的位置。这通常被称为攻击,我不会选择帮助别人去做。
  • 这个问题可能引起争议。您不应该以这种方式屏蔽或隐藏您的 IP 地址。如果允许 FTP,我敢肯定大多数防火墙都会检查这种事情,就像“Damien_The_Unbeliever”所说的那样。
  • @Damien_The_Unbeliever 感谢您帮助我知道这是可能的,我不想攻击任何人,我有一个理想的服务器可以用于负载平衡并在组服务器中发挥作用
  • @Justin Russo yeb,我知道,但我不想使用代理、Socks 或任何掩码,我想更深入地了解 TCP 系统并使用我可以制作的新源 IP 地址创建一个真实数据包它。感谢您的评论
  • 你需要更详细地解释你想要做什么。你的建议在各方面都是错误的,我能想象到的唯一情况是在某种 DoS 攻击中,这在大多数国家都是非法的。

标签: c# sockets networking pcap.net


【解决方案1】:

如果您真的想进行某种负载平衡,请在谷歌上搜索概念并研究可行的选项。

这里有一些例子:

  • 基于 DNS
  • 路由器/防火墙/nat
  • 带有队列的服务总线,用于高级解决方案

【讨论】:

  • 如果我配置路由器的nat可以改变源IP吗?
  • 您的来源 ip 由您的 ISP 决定,他们可以为您重新分配一个新 ip 或分配一个 ip 池供您使用。
猜你喜欢
  • 1970-01-01
  • 2012-12-17
  • 2011-09-13
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多